TeX/ClassFile/glcproc.cls/implement
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
[[TeX/ClassFile/glcproc.cls]]
*glcproc.cls の実装(v1.0) [#f60c63dd]
このページでは glcproc.cls v1.0 の実装方法について説明す...
**複数ファイルの管理の問題 [#f87d71a9]
複数の論文を一つにまとめることの面倒さについては,『実践...
-[[31514:http://oku.edu.mie-u.ac.jp/~okumura/texfaq/qa/31...
-[[31515:http://oku.edu.mie-u.ac.jp/~okumura/texfaq/qa/31...
-[[31516:http://oku.edu.mie-u.ac.jp/~okumura/texfaq/qa/31...
-[[31517:http://oku.edu.mie-u.ac.jp/~okumura/texfaq/qa/31...
-[[31518:http://oku.edu.mie-u.ac.jp/~okumura/texfaq/qa/31...
-[[31519:http://oku.edu.mie-u.ac.jp/~okumura/texfaq/qa/31...
-[[31520:http://oku.edu.mie-u.ac.jp/~okumura/texfaq/qa/31...
-[[31521:http://oku.edu.mie-u.ac.jp/~okumura/texfaq/qa/31...
ただし『実践解説』第9.1節の記述とは違い,(理系と違って T...
さて,『実践解説』第9.1節の方針に従って,次のようにクラス...
-個々の記事は独立したファイルにして,親ファイルでそれを読...
**論文集の体裁 [#q77ca851]
-個々の記事の冒頭に(論文)題名,著者名を出力する
-柱には,左ページに著者名,右ページに論文名を出力する
-論文集全体の目次と記事の目次を別々に出力できるようにする
その他に
-文系では論文副題をつけることが多いので,そのためのコマン...
**コマンドの実装 [#wf8754b4]
***\includearticle コマンドの定義 [#yc65ac5c]
\@input を用いて,\includearticle コマンドを定義する.こ...
\includearticle{article1}
と記述すれば,article1.tex を読み込んで記事を生成する.
\def\includearticle#1 {%
\clearpage
\refstepcounter{article}
\begingroup
\edef\@curr@filename{#1}%%% 現在のファイル名の保存
\if@filesw
\immediate\openout\@articleaux=#1.aux\relax
\fi
\global\@write@articletocfalse
\@init@article@data
\@input@{#1}%
\clearpage
\if@filesw
\immediate\closeout\@articleaux
\fi
\if@write@articletoc%%% 記事ごとの toc ファイルの作成
\begingroup\makeatletter
\@input@{#1.aux}%
\endgroup
\immediate\closeout\tf@toc
\global\@write@articletocfalse
\fi
\endgroup}
以上で次のような処理を行っている.
-\clearpage (二箇所)で常に記事が右ページから始まるよう...
-\refstepcounter{article} で記事の数を数えるカウンター「a...
-\edef\@curr@filename{#1} で今読み込んだ記事ファイルのフ...
-\if@filesw \immediate\openout\@articleaux=#1.aux\relax \...
-\@init@article@data で記事ごとにリセットすべきコマンド,...
-\@input@{#1} で実際に記事を読み込む.
-\if@filesw \immediate\closeout\@articleaux \fi で,aux ...
-\if@write@articletoc 以下で記事ごとの toc ファイルを生成...
***記事内の論文タイトル等 [#zc65f4b0]
記事内には次のように記述する.\makearticletitle が実際に...
\articletitle{論文タイトル}
\articlesubtitle{\−−{}論文副題\−−}
\articleauthor{著者1 \AND 著者2}
\makearticletitle
論文副題は \−− で囲んだ方が良いだろう.\−− というコマンド...
定義は次のようになる.
\def\articletitle#1{\gdef\@articletitle{#1}}
\def\@articletitle{\@latex@error{No \noexpand\articletit...
\def\articlesubtitle#1{\gdef\@articlesubtitle{#1}}
\def\@articlesubtitle{\relax}
\gdef\articleauthor#1{\gdef\@articleauthor{#1}}
\gdef\@articleauthor{\@latex@warning@no@line{No \noexpan...
\def\AND{\hspace{2zw}}
\def\makearticletitle{%
\begingroup
\cleardoublepage
\@makearticletitle
\begingroup
\protected@write\@auxout
{\let\index\@gobble \let\label\@gobble \let\glossa...
{\string\@writefile{gtc}{%
\protect\contentsline{article}%
{{\@articletitle}{\@articlesubtitle}{\@artic...
\endgroup
\endgroup
}
\def\@makearticletitle{%
\begingroup
\thispagestyle{empty}%
\begin{center}%
{\LARGE\bfseries \@articletitle \par}%
\vskip 1.5em%
\ifx\@articlesubtitle\@empty\else%
{\Large\bfseries \@articlesubtitle \par}%
\vskip 1.5em
\fi
\begingroup
\endgroup
\large \lineskip .5em
\begin{tabular}[t]{c}%
\bfseries\@articleauthor
\end{tabular}\par%
\vskip 1em
\end{center}%
\par\vskip 1em
\endgroup
}
-\articletitle が定義されていない場合は「No \articletitle...
-\articleauthor が定義されていない場合は「No \articleauth...
-\makearticletitle の定義の中の \@makearticletitle で実際...
-\@makearticletitle の中で \@articletitle (論文タイトル...
***gtc ファイルヘの書き出し [#s9efdb6c]
(親ファイル名).gtc(global table of contents)ファイル...
+論文タイトル
+論文副題
+著者名
+ページ
この処理は,\makearticletitle が実行されたときに行う.
定義を再掲すると,以下のようになっている.
\protected@write\@auxout
{\let\index\@gobble \let\label\@gobble \let\glossary\...
{\string\@writefile{gtc}{%
\protect\contentsline{article}%
{{\@articletitle}{\@articlesubtitle}{\@articlea...
すると gtc ファイルには,以下のように書き出される.
\contentsline {article}{{論文題名}{論文副題}{著者名}}{123}
***カウンタの定義 [#gffb492f]
記事が変わるごとに,当然節番号,脚注番号はリセットされな...
次のように定義した.
\newcounter{article}
\newcounter{chapter}[article]
\newcounter{section}[article] \@addtoreset{section}{arti...
\newcounter{subsection}[section]
\newcounter{subsubsection}[subsection]
\newcounter{paragraph}[subsubsection]
\newcounter{subparagraph}[paragraph]
この定義では,「article」カウンタが増えるごとに「chapter...
一方,「part」カウンタは「article」カウンタが増えてもリセ...
-''第1部 論文''
-''第2部 研究ノート''
-''第3部 翻訳''
といった具合に,記事の種類ごとに区分を設ける場合を考慮に...
数式((言語系ではまず用いることはないが.))・脚注番号をリ...
\@addtoreset{equation}{article}
\@addtoreset{footnote}{article}
***各種コマンドの初期化 [#efa43597]
記事ファイルを読み込むごとに,然るべきコマンドを初期化す...
\def\@init@article@data{%
\global\let\@articletitle\@empty
\global\let\@articlesubtitle\@empty
\global\let\@articleauthor\@empty
\global\let\@thanks\@empty}
\@init@article@data
これで \let の後にあるコマンドが初期化される.実際には,\...
**目次 [#zbfecac3]
目次には次の2種類がある((図目次などを加えればそれ以上ある...
+論文集全体の目次
+個々の論文の目次(個々の論文の冒頭)
処理方法としては,「章ごとの目次」など「複数箇所に作成す...
***論文集全体の目次 [#m1d7252a]
論文集全体の目次には,次の項目を出力する.
+論文タイトル
+論文副題(存在すれば)
+著者
+ページ
出力するには,親ファイルに
\tableofarticles
と書いておく.
出力形式は
論文タイトル 123
−−論文副題−−
著者名
のようにここでは定義した.
実際の定義は以下のようにした.
\long\def\@firstofthree#1#2#3{#1}
\long\def\@secondofthree#1#2#3{#2}
\long\def\@thirdofthree#1#2#3{#3}
\newdimen\@articlesubtitle@indent
\newdimen\@articleauthor@indent
\newcommand*{\l@article}[2]{%
\addpenalty{-\@highpenalty}%
\addvspace{1.0em \@plus\p@}
\begingroup
\parindent\z@
\rightskip\@pnumwidth
\parfillskip-\rightskip
\@articlesubtitle@indent=1zw
\@articleauthor@indent=2zw
\@firstofthree#1\@empty\@empty\@empty%
\nobreak\hfil\nobreak\hbox to\@pnumwidth{\hss#2}\par
\leavevmode
\if\@secondofthree#1\@empty%
\else
\hspace\@articlesubtitle@indent%
\@secondofthree#1\@empty\@empty\@empty%
\nobreak\hfil\nobreak\hbox to\@pnumwidth{\hss}\par
\leavevmode
\fi
\hspace\@articleauthor@indent%
\@thirdofthree#1\@empty\@empty\@empty%
\nobreak\hfil\nobreak\hbox to\@pnumwidth{\hss}
\par
\endgroup
}
\def\tableofarticles{%
\clearpage
\chapter*{\contentsname}%
\@mkboth{\contentsname}{}%
\thispagestyle{empty}%
\@starttoc{gtc}%
\clearpage}
まず,\@firstoftwo などと同様に,{{1}{2}{3}} のように格納...
-\long\def\@firstofthree#1#2#3{#1}
-\long\def\@secondofthree#1#2#3{#2}
-\long\def\@thirdofthree#1#2#3{#3}
次に,先に挙げた出力形式のように,論文副題,著者名を出力...
-\newdimen\@articlesubtitle@indent
-\newdimen\@articleauthor@indent
次の \newcommand*{\l@article}[2] 以下で,実際の出力形式を...
まず,
-\@articlesubtitle@indent=1zw
-\@articleauthor@indent=2zw
の記述を変更すれば,それぞれのインデントが調整できる.
出力処理のメインの部分は次のようになっている.
-\@firstofthree#1\@empty\@empty\@empty% で論文タイトルを...
-\nobreak\hfil\nobreak\hbox to\@pnumwidth{\hss#2}\par で...
-\if\@secondofthree#1\@empty% で,論文副題がある場合とな...
--論文副題がない場合は以下の処理はスキップする.
--論文副題がある場合.
---\hspace\@articlesubtitle@indent% で,インデントを挿入...
---\@secondofthree#1\@empty\@empty\@empty% で論文副題を出...
---\nobreak\hfil\nobreak\hbox to\@pnumwidth{\hss}\par で...
-\hspace\@articleauthor@indent% で,著者名の前のインデン...
-\@thirdofthree#1\@empty\@empty\@empty% で著者名を出力す...
-\nobreak\hfil\nobreak\hbox to\@pnumwidth{\hss} で著者名...
-\par で一つの項目を終了して,改段落する.
***記事内目次の作成 [#n09001af]
通常の目次作成と変わらないが,toc ファイルの出力先が (記...
記事内目次を作成するには,記事ファイル中に
\articletoc
と記述しておく((通常の場合と同じように,論文タイトル等の...
定義は次のようにした.
\newwrite\tf@toc
\newif\if@write@articletoc
\global\@write@articletocfalse
\def\@articletoc{%
\setcounter{tocdepth}{2}
\section*{\contentsname}%
\begingroup\makeatletter
\@input@{\@curr@filename.toc}%
\endgroup
\if@filesw%
\immediate\openout\tf@toc=\@curr@filename.toc\relax
\global\@write@articletoctrue
\fi}
\let\articletoc\@articletoc
\newwrite\@articleaux
\def\addcontentsline#1#2#3{%
\addtocontents{#1}{\protect\contentsline{#2}{#3}{\thep...
\long\def\addtocontents#1#2{%
\protected@write\@articleaux
{\let\label\@gobble \let\index\@gobble \let\glossa...
{\string\@writefile{#1}{#2}}}
次のような処理をしている.
-\newwrite\tf@toc で toc ファイルの出力先を確保している.
-\setcounter{tocdepth}{2} で \subsection まで目次に出力す...
-\section*{\contentsname} と定義しているので,記事内目次...
-\@input@{\@curr@filename.toc} で (記事ファイル).toc を...
**柱 [#pf664c6b]
論文集の一般的な形式として柱には,
-''左ページ'' 著者名
-''右ページ'' 論文名
を入れることにする.jsbook.cls の以下の部分を変更した.
\def\ps@headings{%
...
\def\@evenhead{%
\if@mparswitch \hss \fi
\underline{\hbox to \fullwidth{\autoxspacing
\textbf{\thepage}\hfil\@articleauthor\hfil}}%
...
\def\@oddhead{\underline{\hbox to \fullwidth{\autoxspacing
{\if@twoside\hfil\@articletitle\else\leftmark\fi}\hfil...
**脚注 [#k8dc39b3]
jsbook.cls のデフォルトの脚注の形式は,この Wiki ページと...
この形式は,日本語の場合には jarticle.cls / jbook.cls の...
ただし脚注番号を参照するときには,若干不都合が生じる(と...
脚注番号を参照するために
注\ref{fn_1}
という記述をした場合,jsbook.cls の場合,
注*1
という表記になる.これはあまり気にならない.しかし,
Douglas Olson (n. \ref{fn_1})
と記述した場合,
Douglas Olson (n. *1)
という表記になってしまう.これは若干気になる.
Douglas Olson (n. 1)
という表記が正しいだろう.また,「注*1」という表記の代わ...
よって
-本文中には,右肩に「*1」という形で脚注番号を出力
-脚注欄には(中央に)「*1」という形で脚注番号を出力
-参照の際は「1」という形で脚注番号を出力
する,という方針を立てて,jsbook.cls の該当部分を次のよう...
\def\thefootnote{\ifnum\c@footnote>\z@\leavevmode%\lower...
\@arabic\c@footnote\fi}
\def\@makefnmark{\hbox{\textsuperscript{\lower.5ex\hbox{...
この処置を行うと,副作用として \footnotetext[0] で出力し...
**文献表 [#b54f0561]
西洋古典学での文献表と LaTeX の標準の文献表((thebibliogra...
-西洋古典学では,番号付けは普通行わない
-「テキスト」「注釈」など,参考文献を分類することがある
そのため,次のような方針を立てて,classicsbibliography 環...
-参照の機能は省略し,list 環境のみで定義する
-thebibliography 環境とは違い,『参考文献』などの見出しが...
定義は以下のようにした.
\newenvironment{classicsbibliography}{%
\list{}{%
\leftmargin2em
\itemindent-2em
\labelwidth\z@
\labelsep\z@
}
\sloppy
\clubpenalty4000
\@clubpenalty\clubpenalty
\widowpenalty4000%
\sfcode`\.\@m}
{\def\@noitemerr
{\@latex@warning{Empty `classicsbibliography' environ...
\endlist}
使うときは以下のようにする.
\section*{参考文献}
\subsection*{注釈}
\begin{classicsbibliography}
\item aaaaa
\item bbbbb
\end{classicsbibliography}
**参考文献 [#r445c838]
+奥村晴彦,『LaTeX2e 美文書作成入門』(改訂第3版),技術...
+ページ・エンタープライゼズ(株),『LaTeX2e マクロ&クラ...
+吉永徹美,『LaTeX2e マクロ&クラスプログラミング実践解説...
#amazon(4774119407,left,奥村)
#amazon(4774115460,left,『基礎解説』)
#amazon(4774117587,left,『実践解説』)
#amazon(,clear)
終了行:
[[TeX/ClassFile/glcproc.cls]]
*glcproc.cls の実装(v1.0) [#f60c63dd]
このページでは glcproc.cls v1.0 の実装方法について説明す...
**複数ファイルの管理の問題 [#f87d71a9]
複数の論文を一つにまとめることの面倒さについては,『実践...
-[[31514:http://oku.edu.mie-u.ac.jp/~okumura/texfaq/qa/31...
-[[31515:http://oku.edu.mie-u.ac.jp/~okumura/texfaq/qa/31...
-[[31516:http://oku.edu.mie-u.ac.jp/~okumura/texfaq/qa/31...
-[[31517:http://oku.edu.mie-u.ac.jp/~okumura/texfaq/qa/31...
-[[31518:http://oku.edu.mie-u.ac.jp/~okumura/texfaq/qa/31...
-[[31519:http://oku.edu.mie-u.ac.jp/~okumura/texfaq/qa/31...
-[[31520:http://oku.edu.mie-u.ac.jp/~okumura/texfaq/qa/31...
-[[31521:http://oku.edu.mie-u.ac.jp/~okumura/texfaq/qa/31...
ただし『実践解説』第9.1節の記述とは違い,(理系と違って T...
さて,『実践解説』第9.1節の方針に従って,次のようにクラス...
-個々の記事は独立したファイルにして,親ファイルでそれを読...
**論文集の体裁 [#q77ca851]
-個々の記事の冒頭に(論文)題名,著者名を出力する
-柱には,左ページに著者名,右ページに論文名を出力する
-論文集全体の目次と記事の目次を別々に出力できるようにする
その他に
-文系では論文副題をつけることが多いので,そのためのコマン...
**コマンドの実装 [#wf8754b4]
***\includearticle コマンドの定義 [#yc65ac5c]
\@input を用いて,\includearticle コマンドを定義する.こ...
\includearticle{article1}
と記述すれば,article1.tex を読み込んで記事を生成する.
\def\includearticle#1 {%
\clearpage
\refstepcounter{article}
\begingroup
\edef\@curr@filename{#1}%%% 現在のファイル名の保存
\if@filesw
\immediate\openout\@articleaux=#1.aux\relax
\fi
\global\@write@articletocfalse
\@init@article@data
\@input@{#1}%
\clearpage
\if@filesw
\immediate\closeout\@articleaux
\fi
\if@write@articletoc%%% 記事ごとの toc ファイルの作成
\begingroup\makeatletter
\@input@{#1.aux}%
\endgroup
\immediate\closeout\tf@toc
\global\@write@articletocfalse
\fi
\endgroup}
以上で次のような処理を行っている.
-\clearpage (二箇所)で常に記事が右ページから始まるよう...
-\refstepcounter{article} で記事の数を数えるカウンター「a...
-\edef\@curr@filename{#1} で今読み込んだ記事ファイルのフ...
-\if@filesw \immediate\openout\@articleaux=#1.aux\relax \...
-\@init@article@data で記事ごとにリセットすべきコマンド,...
-\@input@{#1} で実際に記事を読み込む.
-\if@filesw \immediate\closeout\@articleaux \fi で,aux ...
-\if@write@articletoc 以下で記事ごとの toc ファイルを生成...
***記事内の論文タイトル等 [#zc65f4b0]
記事内には次のように記述する.\makearticletitle が実際に...
\articletitle{論文タイトル}
\articlesubtitle{\−−{}論文副題\−−}
\articleauthor{著者1 \AND 著者2}
\makearticletitle
論文副題は \−− で囲んだ方が良いだろう.\−− というコマンド...
定義は次のようになる.
\def\articletitle#1{\gdef\@articletitle{#1}}
\def\@articletitle{\@latex@error{No \noexpand\articletit...
\def\articlesubtitle#1{\gdef\@articlesubtitle{#1}}
\def\@articlesubtitle{\relax}
\gdef\articleauthor#1{\gdef\@articleauthor{#1}}
\gdef\@articleauthor{\@latex@warning@no@line{No \noexpan...
\def\AND{\hspace{2zw}}
\def\makearticletitle{%
\begingroup
\cleardoublepage
\@makearticletitle
\begingroup
\protected@write\@auxout
{\let\index\@gobble \let\label\@gobble \let\glossa...
{\string\@writefile{gtc}{%
\protect\contentsline{article}%
{{\@articletitle}{\@articlesubtitle}{\@artic...
\endgroup
\endgroup
}
\def\@makearticletitle{%
\begingroup
\thispagestyle{empty}%
\begin{center}%
{\LARGE\bfseries \@articletitle \par}%
\vskip 1.5em%
\ifx\@articlesubtitle\@empty\else%
{\Large\bfseries \@articlesubtitle \par}%
\vskip 1.5em
\fi
\begingroup
\endgroup
\large \lineskip .5em
\begin{tabular}[t]{c}%
\bfseries\@articleauthor
\end{tabular}\par%
\vskip 1em
\end{center}%
\par\vskip 1em
\endgroup
}
-\articletitle が定義されていない場合は「No \articletitle...
-\articleauthor が定義されていない場合は「No \articleauth...
-\makearticletitle の定義の中の \@makearticletitle で実際...
-\@makearticletitle の中で \@articletitle (論文タイトル...
***gtc ファイルヘの書き出し [#s9efdb6c]
(親ファイル名).gtc(global table of contents)ファイル...
+論文タイトル
+論文副題
+著者名
+ページ
この処理は,\makearticletitle が実行されたときに行う.
定義を再掲すると,以下のようになっている.
\protected@write\@auxout
{\let\index\@gobble \let\label\@gobble \let\glossary\...
{\string\@writefile{gtc}{%
\protect\contentsline{article}%
{{\@articletitle}{\@articlesubtitle}{\@articlea...
すると gtc ファイルには,以下のように書き出される.
\contentsline {article}{{論文題名}{論文副題}{著者名}}{123}
***カウンタの定義 [#gffb492f]
記事が変わるごとに,当然節番号,脚注番号はリセットされな...
次のように定義した.
\newcounter{article}
\newcounter{chapter}[article]
\newcounter{section}[article] \@addtoreset{section}{arti...
\newcounter{subsection}[section]
\newcounter{subsubsection}[subsection]
\newcounter{paragraph}[subsubsection]
\newcounter{subparagraph}[paragraph]
この定義では,「article」カウンタが増えるごとに「chapter...
一方,「part」カウンタは「article」カウンタが増えてもリセ...
-''第1部 論文''
-''第2部 研究ノート''
-''第3部 翻訳''
といった具合に,記事の種類ごとに区分を設ける場合を考慮に...
数式((言語系ではまず用いることはないが.))・脚注番号をリ...
\@addtoreset{equation}{article}
\@addtoreset{footnote}{article}
***各種コマンドの初期化 [#efa43597]
記事ファイルを読み込むごとに,然るべきコマンドを初期化す...
\def\@init@article@data{%
\global\let\@articletitle\@empty
\global\let\@articlesubtitle\@empty
\global\let\@articleauthor\@empty
\global\let\@thanks\@empty}
\@init@article@data
これで \let の後にあるコマンドが初期化される.実際には,\...
**目次 [#zbfecac3]
目次には次の2種類がある((図目次などを加えればそれ以上ある...
+論文集全体の目次
+個々の論文の目次(個々の論文の冒頭)
処理方法としては,「章ごとの目次」など「複数箇所に作成す...
***論文集全体の目次 [#m1d7252a]
論文集全体の目次には,次の項目を出力する.
+論文タイトル
+論文副題(存在すれば)
+著者
+ページ
出力するには,親ファイルに
\tableofarticles
と書いておく.
出力形式は
論文タイトル 123
−−論文副題−−
著者名
のようにここでは定義した.
実際の定義は以下のようにした.
\long\def\@firstofthree#1#2#3{#1}
\long\def\@secondofthree#1#2#3{#2}
\long\def\@thirdofthree#1#2#3{#3}
\newdimen\@articlesubtitle@indent
\newdimen\@articleauthor@indent
\newcommand*{\l@article}[2]{%
\addpenalty{-\@highpenalty}%
\addvspace{1.0em \@plus\p@}
\begingroup
\parindent\z@
\rightskip\@pnumwidth
\parfillskip-\rightskip
\@articlesubtitle@indent=1zw
\@articleauthor@indent=2zw
\@firstofthree#1\@empty\@empty\@empty%
\nobreak\hfil\nobreak\hbox to\@pnumwidth{\hss#2}\par
\leavevmode
\if\@secondofthree#1\@empty%
\else
\hspace\@articlesubtitle@indent%
\@secondofthree#1\@empty\@empty\@empty%
\nobreak\hfil\nobreak\hbox to\@pnumwidth{\hss}\par
\leavevmode
\fi
\hspace\@articleauthor@indent%
\@thirdofthree#1\@empty\@empty\@empty%
\nobreak\hfil\nobreak\hbox to\@pnumwidth{\hss}
\par
\endgroup
}
\def\tableofarticles{%
\clearpage
\chapter*{\contentsname}%
\@mkboth{\contentsname}{}%
\thispagestyle{empty}%
\@starttoc{gtc}%
\clearpage}
まず,\@firstoftwo などと同様に,{{1}{2}{3}} のように格納...
-\long\def\@firstofthree#1#2#3{#1}
-\long\def\@secondofthree#1#2#3{#2}
-\long\def\@thirdofthree#1#2#3{#3}
次に,先に挙げた出力形式のように,論文副題,著者名を出力...
-\newdimen\@articlesubtitle@indent
-\newdimen\@articleauthor@indent
次の \newcommand*{\l@article}[2] 以下で,実際の出力形式を...
まず,
-\@articlesubtitle@indent=1zw
-\@articleauthor@indent=2zw
の記述を変更すれば,それぞれのインデントが調整できる.
出力処理のメインの部分は次のようになっている.
-\@firstofthree#1\@empty\@empty\@empty% で論文タイトルを...
-\nobreak\hfil\nobreak\hbox to\@pnumwidth{\hss#2}\par で...
-\if\@secondofthree#1\@empty% で,論文副題がある場合とな...
--論文副題がない場合は以下の処理はスキップする.
--論文副題がある場合.
---\hspace\@articlesubtitle@indent% で,インデントを挿入...
---\@secondofthree#1\@empty\@empty\@empty% で論文副題を出...
---\nobreak\hfil\nobreak\hbox to\@pnumwidth{\hss}\par で...
-\hspace\@articleauthor@indent% で,著者名の前のインデン...
-\@thirdofthree#1\@empty\@empty\@empty% で著者名を出力す...
-\nobreak\hfil\nobreak\hbox to\@pnumwidth{\hss} で著者名...
-\par で一つの項目を終了して,改段落する.
***記事内目次の作成 [#n09001af]
通常の目次作成と変わらないが,toc ファイルの出力先が (記...
記事内目次を作成するには,記事ファイル中に
\articletoc
と記述しておく((通常の場合と同じように,論文タイトル等の...
定義は次のようにした.
\newwrite\tf@toc
\newif\if@write@articletoc
\global\@write@articletocfalse
\def\@articletoc{%
\setcounter{tocdepth}{2}
\section*{\contentsname}%
\begingroup\makeatletter
\@input@{\@curr@filename.toc}%
\endgroup
\if@filesw%
\immediate\openout\tf@toc=\@curr@filename.toc\relax
\global\@write@articletoctrue
\fi}
\let\articletoc\@articletoc
\newwrite\@articleaux
\def\addcontentsline#1#2#3{%
\addtocontents{#1}{\protect\contentsline{#2}{#3}{\thep...
\long\def\addtocontents#1#2{%
\protected@write\@articleaux
{\let\label\@gobble \let\index\@gobble \let\glossa...
{\string\@writefile{#1}{#2}}}
次のような処理をしている.
-\newwrite\tf@toc で toc ファイルの出力先を確保している.
-\setcounter{tocdepth}{2} で \subsection まで目次に出力す...
-\section*{\contentsname} と定義しているので,記事内目次...
-\@input@{\@curr@filename.toc} で (記事ファイル).toc を...
**柱 [#pf664c6b]
論文集の一般的な形式として柱には,
-''左ページ'' 著者名
-''右ページ'' 論文名
を入れることにする.jsbook.cls の以下の部分を変更した.
\def\ps@headings{%
...
\def\@evenhead{%
\if@mparswitch \hss \fi
\underline{\hbox to \fullwidth{\autoxspacing
\textbf{\thepage}\hfil\@articleauthor\hfil}}%
...
\def\@oddhead{\underline{\hbox to \fullwidth{\autoxspacing
{\if@twoside\hfil\@articletitle\else\leftmark\fi}\hfil...
**脚注 [#k8dc39b3]
jsbook.cls のデフォルトの脚注の形式は,この Wiki ページと...
この形式は,日本語の場合には jarticle.cls / jbook.cls の...
ただし脚注番号を参照するときには,若干不都合が生じる(と...
脚注番号を参照するために
注\ref{fn_1}
という記述をした場合,jsbook.cls の場合,
注*1
という表記になる.これはあまり気にならない.しかし,
Douglas Olson (n. \ref{fn_1})
と記述した場合,
Douglas Olson (n. *1)
という表記になってしまう.これは若干気になる.
Douglas Olson (n. 1)
という表記が正しいだろう.また,「注*1」という表記の代わ...
よって
-本文中には,右肩に「*1」という形で脚注番号を出力
-脚注欄には(中央に)「*1」という形で脚注番号を出力
-参照の際は「1」という形で脚注番号を出力
する,という方針を立てて,jsbook.cls の該当部分を次のよう...
\def\thefootnote{\ifnum\c@footnote>\z@\leavevmode%\lower...
\@arabic\c@footnote\fi}
\def\@makefnmark{\hbox{\textsuperscript{\lower.5ex\hbox{...
この処置を行うと,副作用として \footnotetext[0] で出力し...
**文献表 [#b54f0561]
西洋古典学での文献表と LaTeX の標準の文献表((thebibliogra...
-西洋古典学では,番号付けは普通行わない
-「テキスト」「注釈」など,参考文献を分類することがある
そのため,次のような方針を立てて,classicsbibliography 環...
-参照の機能は省略し,list 環境のみで定義する
-thebibliography 環境とは違い,『参考文献』などの見出しが...
定義は以下のようにした.
\newenvironment{classicsbibliography}{%
\list{}{%
\leftmargin2em
\itemindent-2em
\labelwidth\z@
\labelsep\z@
}
\sloppy
\clubpenalty4000
\@clubpenalty\clubpenalty
\widowpenalty4000%
\sfcode`\.\@m}
{\def\@noitemerr
{\@latex@warning{Empty `classicsbibliography' environ...
\endlist}
使うときは以下のようにする.
\section*{参考文献}
\subsection*{注釈}
\begin{classicsbibliography}
\item aaaaa
\item bbbbb
\end{classicsbibliography}
**参考文献 [#r445c838]
+奥村晴彦,『LaTeX2e 美文書作成入門』(改訂第3版),技術...
+ページ・エンタープライゼズ(株),『LaTeX2e マクロ&クラ...
+吉永徹美,『LaTeX2e マクロ&クラスプログラミング実践解説...
#amazon(4774119407,left,奥村)
#amazon(4774115460,left,『基礎解説』)
#amazon(4774117587,left,『実践解説』)
#amazon(,clear)
ページ名: