# HG changeset patch # User Nobuyasu Oshiro # Date 1364761334 -32400 # Node ID e92487958c62d5df81b7ff01eda4be7992a21b56 # Parent 590aeefbfb794283bff5db63185aafb603b50bf4 added jlisting.sty diff -r 590aeefbfb79 -r e92487958c62 paper/jlisting.sty --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/paper/jlisting.sty Mon Apr 01 05:22:14 2013 +0900 @@ -0,0 +1,216 @@ +\NeedsTeXFormat{LaTeX2e} +\def\filedate{2006/02/20} +\def\fileversion{0.2} +\ProvidesPackage{jlisting}[\filedate\space\fileversion\space(Thor)] +% +\newcount\lst@nextchar +\let\lst@@ProcessSpace\lst@ProcessSpace +\def\lst@ProcessSpace#1{% + \lst@check@chartype{#1}% + \lst@@ProcessSpace + \lst@whitespacetrue} +\let\lst@@ProcessLetter\lst@ProcessLetter +\def\lst@ProcessLetter#1#2{% + \lst@check@chartype{#2}% + {\lst@@ProcessLetter{#1}}% + \relax} +\let\lst@@ProcessDigit\lst@ProcessDigit +\def\lst@ProcessDigit#1#2{% + \lst@check@chartype{#2}% + {\lst@@ProcessDigit{#1}}% + \relax} +\let\lst@@ProcessOther\lst@ProcessOther +\def\lst@ProcessOther#1#2{% + \lst@check@chartype{#2}% + {\lst@@ProcessOther{#1}}% + \relax} +\let\lst@@ProcessTabulator\lst@ProcessTabulator +\def\lst@ProcessTabulator#1{% + \lst@check@chartype{#1}% + \lst@@ProcessTabulator + \relax} +\def\lst@check@chartype#1#2#3{% + \edef\@tempa{\lst@nextchar=`\string#1\relax}% + \afterassignment\remove@to@nnil + \@tempa\@nnil + #2% + \ifnum\lst@nextchar<\@cclvi + #3% + \else + \lst@ifletter \else \lst@OutputOther \fi + \lst@whitespacefalse + \expandafter\lst@AppendJchar + \fi + #1} +\def\lst@AppendJchar#1#2{% + \lst@check@chartype{#2}% + {\advance\lst@length\@ne\lst@Append{#1}}% + \relax} +\def\lst@check@chartype@BOL#1{% + \edef\@tempa{\lst@nextchar=`\string#1\relax}% + \afterassignment\remove@to@nnil + \@tempa\@nnil + \ifnum\lst@nextchar<\@cclvi\else + \lst@whitespacefalse + \expandafter\lst@AppendJchar + \fi + #1} +\def\lst@InputListing#1{% + \begingroup + \lsthk@PreSet \gdef\lst@intname{#1}% + \expandafter\lstset\expandafter{\lst@set}% + \lsthk@DisplayStyle + \catcode\active=\active + \lst@Init\relax \let\lst@gobble\z@ + \lst@SkipToFirst + \lst@ifprint \def\lst@next{\lst@get@filecontents{#1}}% + \else \let\lst@next\@empty + \fi + \lst@next + \lst@DeInit + \endgroup} +\newread\lst@inputfile +\def\lst@get@filecontents#1{% + \let\lst@filecontents\@empty + \openin\lst@inputfile=#1\relax + \let\@lst@get@filecontents@prevline\relax + \lst@get@filecontents@loop + \closein\lst@inputfile + \lst@filecontents\empty} +\def\lst@get@filecontents@loop{% + \read\lst@inputfile to\@lst@get@filecontents@currline + \ifx\@lst@get@filecontents@prevline\relax\else + \expandafter\expandafter\expandafter\def + \expandafter\expandafter\expandafter\lst@filecontents + \expandafter\expandafter\expandafter{% + \expandafter\lst@filecontents\@lst@get@filecontents@prevline}% + \fi + \let\@lst@get@filecontents@prevline\@lst@get@filecontents@currline + \ifeof\lst@inputfile\else + \expandafter\lst@get@filecontents@loop + \fi} +%%% [この処理も,相当強引です.] +\def\lst@BOLGobble{% + \ifnum\lst@gobble>\z@ + \@tempcnta\lst@gobble\relax + \expandafter\lst@BOLGobble@ + \else + \expandafter\lst@check@chartype@BOL + \fi} +\def\lst@BOLGobble@#1{% + \let\lst@next#1% + \ifx \lst@next\relax\else + \ifx \lst@next\lst@MProcessListing\else + \ifx \lst@next\lst@ProcessFormFeed\else + \ifx \lst@next\lstenv@backslash + \let\lst@next\lstenv@BOLGobble@@ + \else + \let\lst@next\lst@BOLGobble@@ + \ifx #1\lst@ProcessTabulator + \advance\@tempcnta-\lst@tabsize\relax + \ifnum\@tempcnta<\z@ + \lst@length-\@tempcnta \lst@PreGotoTabStop + \fi + \else + \edef\@tempa{\lst@nextchar=`\string#1\relax}% + \@tempa + \ifnum\lst@nextchar<\@cclvi\else + \advance\@tempcnta\m@ne + \fi + \advance\@tempcnta\m@ne + \fi + \fi \fi \fi \fi + \lst@next} +\def\lst@BOLGobble@@{% + \ifnum\@tempcnta>\z@ + \expandafter\lst@BOLGobble@ + \else + \expandafter\lst@check@chartype@BOL + \fi +} +% +% \begin{修正事項}{1.3} +% ちょっとした修正 +\gdef\lst@breakProcessOther#1{\lst@ProcessOther#1} +% ソースコード目次における文字と番号の空き +\let \l@lstlisting = \l@figure +% キャプションとソースコード目次に対する日本語対応 +\def\lstlistingname{ソースコード} +\def\lstlistlistingname{ソースコード目次} +% \end{修正事項} +\endinput +% +%#!platex +\documentclass[papersize]{jsarticle} +% Macros +\IfFileExists{dvipdfmx.def}{% + \usepackage[dvipdfmx]{color,graphicx}% +}{% + \usepackage[dvipdfm]{color,graphicx}% +} +\usepackage{listings}[2004/09/07] +\usepackage{jlisting}[2006/02/20] +\usepackage{url} +\usepackage{verbatim} + +\makeatletter +% Original Macros +\def\email#1{\gdef\@email{\texttt{#1}}} +\def\homepage#1{\gdef\@homepage{\texttt{#1}}} +\def\mac#1{\textsf{#1}} +\def\URL#1{\texttt{#1}} +\def\src#1{\texttt{#1}} + +% Dvipdfmx.def +\def\dvipdfmxDefi{http://tex.dante.jp/ok/dvipdfmx/} +\def\dvipdfmxDefii{http://ftp.ktug.or.kr/KTUG/dvipdfmx/contrib/latex/} + +\IfFileExists{dvipdfmx.def}{% + \let \IfDvipdfmxDef = \empty \relax}{% + \typeout{^^Jget dvipdfmx.def at \dvipdfmxDefi^^J + or \dvipdfmxDefii^^J}% + \def\IfDvipdfmxDef{Get \src{dvipdfmx.def} at \URL \dvipdfmxDefii \\ + or \URL \dvipdfmxDefi.}% +} + +% Author Info +\author {Th\'or Watanabe\thanks \@email \space \thanks \@homepage} +\title {\mac{jlisting.sty}\\ + ---Japanese Localized Patch File of \mac{listings}---} +\email {thor@tex.dante.jp} +\homepage {http://tex.dante.jp/typo/} +\date {2006/02/20} + +\makeatother + +\begin{document} +\maketitle +%\IfDvipdfmxDef + +\section{ちょっとした説明}% Short Description + +奥村晴彦氏の掲示板の「汎用的な浮動体」という一連の書き込みから +転載しました。 + +\begin{quote} + \url{http://http://cise.edu.mie-u.ac.jp/~okumura/texfaq/qa/21172.html}\\ + \url{http://http://cise.edu.mie-u.ac.jp/~okumura/texfaq/qa/21184.html}\\ + \url{http://http://cise.edu.mie-u.ac.jp/~okumura/texfaq/qa/21189.html}\\ + \url{http://http://cise.edu.mie-u.ac.jp/~okumura/texfaq/qa/21197.html} +\end{quote} + + Copyright は吉永哲美氏にあるのだと思います. + +\section{更新履歴}% ChageLogs + +\begin{description} + \item[ver.~0.1 (2004/03/24)] + とりあえず公開. + \item[ver.~0.2 (2006/02/20)] + \verb|\lst@breakProcessOther| 命令の定義の追加. +\end{description} + +\section{ソースコード} +\par\narrowbaselines +\verbatiminput{jlisting.sty} +\end{document}