Mercurial > hg > Papers > 2015 > atton-thesis
changeset 19:43d3e7b31fc0
Fix listings and page numbering
author | Yasutaka Higa <e115763@ie.u-ryukyu.ac.jp> |
---|---|
date | Sun, 08 Feb 2015 22:23:56 +0900 |
parents | 086fc8bb6ea9 |
children | beebe0ffbcad |
files | .hgignore category.tex delta.tex jlisting.sty main.tex |
diffstat | 5 files changed, 19 insertions(+), 227 deletions(-) [+] |
line wrap: on
line diff
--- a/.hgignore Sun Feb 08 21:19:55 2015 +0900 +++ b/.hgignore Sun Feb 08 22:23:56 2015 +0900 @@ -5,6 +5,7 @@ *.swp *.lof +*.lol *.lot *.log *.aux
--- a/category.tex Sun Feb 08 21:19:55 2015 +0900 +++ b/category.tex Sun Feb 08 22:23:56 2015 +0900 @@ -352,7 +352,7 @@ つまり、型と関数から構成される category から List 型と List に対応する関数からなる category へと置きかえるような functor が存在すれば良い。 -Haskell では functor は \ref{src:functor_in_haskell} のように型クラスとして提供される。 +Haskell では functor はリスト \ref{src:functor_in_haskell} のように型クラスとして提供される。 \begin{table}[html] \lstinputlisting[label=src:functor_in_haskell, caption=Haskell における Functor の定義] {src/functor_class.hs} @@ -384,7 +384,7 @@ fmap は a を取りbを返す関数を取り、List a を取って List b を返す関数である。 つまり、関数を取ってList の全ての要素に適用することで実現できる。 -定義した結果が\ref{src:list_in_haskell} である。 +定義した結果がリスト\ref{src:list_in_haskell} である。 \begin{table}[html] \lstinputlisting[label=src:list_in_haskell, caption=Haskell におけるListの例] {src/list.hs} @@ -394,7 +394,7 @@ even を x に適用すると Bool となる。 この際、x を持つ List の型は List Int であり、 fmap によって even を List Int に適用すると List Bool となる。 -Haskell における実行結果は\ref{src:exec_list_in_haskell} のようになる。 +Haskell における実行結果はリスト\ref{src:exec_list_in_haskell} のようになる。 \begin{table}[html] \lstinputlisting[label=src:exec_list_in_haskell, caption=Haskell における List の実行例] {src/exec_list_in_haskell.txt} @@ -417,7 +417,7 @@ functor の定義にあたり、\ref{section:functor}節で示したように Functor則を満たすようにデータ型と fmap を定義しなくてはならない。 -Haskell における Functor則は\ref{src:functor_laws_in_haskell}のように表される。 +Haskell における Functor則はリスト\ref{src:functor_laws_in_haskell}のように表される。 \begin{table}[html] \lstinputlisting[label=src:functor_laws_in_haskell, caption=Haskellにおける Functor則] {src/functor_laws_in_haskell.txt}
--- a/delta.tex Sun Feb 08 21:19:55 2015 +0900 +++ b/delta.tex Sun Feb 08 22:23:56 2015 +0900 @@ -41,7 +41,7 @@ 実装例としてプログラミング言語 Haskell を用いる。 まずは全てのプログラムのバージョンを表わすデータ型 Delta を考える。 -Delta の定義は \ref{src:delta_constructor} とする。 +Delta の定義はリスト\ref{src:delta_constructor} とする。 \begin{table}[html] \lstinputlisting[label=src:delta_constructor, caption=Haskellにおけるデータ型Deltaの定義]{src/delta_constructor.hs} @@ -52,7 +52,7 @@ プログラムを変更する際には、コンストラクタ Delta を用いて記述し、変更後の値と前のバージョンを持つ。 なお、a とは任意の型であり、Delta が任意の型の値に対してもデータ型を構築できることを示す。 -データ型 Delta に対応するメタ計算は\ref{src:delta_instance_monad}と定義する。 +データ型 Delta に対応するメタ計算はリスト\ref{src:delta_instance_monad}のように定義する。 \begin{table}[html] \lstinputlisting[label=src:delta_instance_monad, caption=Haskell におけるデータ型Deltaとメタ計算の関連付け] @@ -62,7 +62,7 @@ Haskell においてメタ計算とデータ型の対応は Monad によって行なうため、 Monad という型クラスが用意されている。 型クラスとは特定の性質を持つ型をまとめるための制約である。 ある型が型クラスに属するためには制約として型クラスによって指定された関数を定義する必要がある。 -型クラス Monad に要請される関数は return と \verb/>>=/ であり、型クラスは\ref{src:monad_class}のように定義されている。 +型クラス Monad に要請される関数は return と \verb/>>=/ であり、型クラスはリスト\ref{src:monad_class}のように定義されている。 \begin{table}[html] \lstinputlisting[label=src:monad_class, caption=Haskell における Monad 型クラス] @@ -99,14 +99,14 @@ \section{Delta を用いたプログラムの変更の記述例} プログラムの変更を表現するメタ計算に対応するデータ型 Delta が記述できた。 -実際に Haskell で Delta を用いたプログラムの変更例を\ref{src:delta_example}に示す。 +実際に Haskell で Delta を用いたプログラムの変更例をリスト\ref{src:delta_example}に示す。 \begin{table}[html] \lstinputlisting[label=src:delta_example, caption=Deltaを用いたプログラムの例] {src/delta_example.hs} \end{table} -\ref{src:delta_example}は1からnの間の整数に含まれる特定の数の個数を調べるプログラム numberCount である。 +リスト\ref{src:delta_example}は1からnの間の整数に含まれる特定の数の個数を調べるプログラム numberCount である。 このプログラムは3つの関数からなり、2つのバージョンを含む。
--- a/jlisting.sty Sun Feb 08 21:19:55 2015 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,216 +0,0 @@ -\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} -%%% [$B$3$N=hM}$b!$AjEv6/0z$G$9!%(B] -\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{$B=$@5;v9`(B}{1.3} -% $B$A$g$C$H$7$?=$@5(B -\gdef\lst@breakProcessOther#1{\lst@ProcessOther#1} -% $B%=!<%9%3!<%IL\<!$K$*$1$kJ8;z$HHV9f$N6u$-(B -\let \l@lstlisting = \l@figure -% $B%-%c%W%7%g%s$H%=!<%9%3!<%IL\<!$KBP$9$kF|K\8lBP1~(B -\def\lstlistingname{$B%=!<%9%3!<%I(B} -\def\lstlistlistingname{$B%=!<%9%3!<%IL\<!(B} -% \end{$B=$@5;v9`(B} -\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{$B$A$g$C$H$7$?@bL@(B}% Short Description - -$B1|B<@2I';a$N7G<(HD$N!VHFMQE*$JIbF0BN!W$H$$$&0lO"$N=q$-9~$_$+$i(B -$BE>:\$7$^$7$?!#(B - -\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 $B$O5H1JE/H~;a$K$"$k$N$@$H;W$$$^$9!%(B - -\section{$B99?7MzNr(B}% ChageLogs - -\begin{description} - \item[ver.~0.1 (2004/03/24)] - $B$H$j$"$($:8x3+!%(B - \item[ver.~0.2 (2006/02/20)] - \verb|\lst@breakProcessOther| $BL?Na$NDj5A$NDI2C!%(B -\end{description} - -\section{$B%=!<%9%3!<%I(B} -\par\narrowbaselines -\verbatiminput{jlisting.sty} -\end{document}
--- a/main.tex Sun Feb 08 21:19:55 2015 +0900 +++ b/main.tex Sun Feb 08 22:23:56 2015 +0900 @@ -3,7 +3,8 @@ \usepackage{mythesis} \usepackage{multirow} \usepackage{here} -\usepackage{listings, jlisting} +\usepackage{listings} + \setlength{\itemsep}{-1zh} \title{圏によるプログラムの変更の形式化} \icon{ @@ -26,7 +27,7 @@ %% listings settings -\lstset{% +\lstset{ frame=single, stringstyle={\ttfamily}, commentstyle={\ttfamily}, @@ -47,6 +48,9 @@ lineskip=-0.5zw, morecomment={[s][]{/**}{*/}}, } +\def\lstlistingname{リスト} +\def\lstlistlistingname{リスト目次} + \begin{document} @@ -60,8 +64,11 @@ \tableofcontents % 目次 \listoffigures % 図目次 \listoftables % 表目次 +\lstlistoflistings % ソースコード目次 + \input{introduction} +\pagenumbering{arabic} \input{delta} \input{category}