
私は複数の章からなる論文を書いています。いくつかの記号は複数の章で使用されていますが、その定義は章ごとに異なります。文書の冒頭に記号のリストを 1 つ置きたいのですが、各章の記号は章の名前で区切られます。次のようになります。
シンボルのリスト
chapter 1
S size
chapter 2
S area
Chapter 1
S is the radius of the cell.
Chapter 2
S is the area.
答え1
マルコがコメントで述べているように、これは良いスタイルではありません。読者はあなたのシンボル一覧特定のシンボルをアルファベット順のリストで探すことになります。そのリストを章ごとに複数のリストに分割すると、どの章でそのシンボルが最初に定義されたかがわからない場合、作業が難しくなります。
また、リストを章ごとに複数のリストに分割すると、読者は「S」が章ごとに異なる意味を持つことを予期しない可能性があります。読者は、第 1 章のリストで「S」が「セル半径」であることに気付き、読んでいる章で実際には「面積」を意味していたことを知るためにさらに読み進めようとはしないかもしれません。
異なる章で「S」に異なる意味を割り当てる必要がある場合は、次のように、単一の記号リストを用意し、「S」エントリで 2 つの意味を明示的に認識するのが最も簡単だと思います。
List of symbols
---------------
R: random reachability relation
S: cell radius (in Chapter 1) / area (in Chapter 2)
T: terrifyingly transitory transaction
答え2
免責事項各章に用語集を用意するのは良い考えではないというコメントに完全に同意します。異なる章のさまざまな定義に同じ記号を使用するのはさらに悪いことです。
しかし、ここにはglossaries
パッケージ。まずコードを提供し、その後でそれが何をするのかを一つずつ説明します。
\documentclass{report}
\usepackage{hyperref}
\usepackage[nonumberlist,nomain]{glossaries}
\renewcommand*{\glspostdescription}{}
\newglossary{chap1}{chap1}{sbl1}{Chapter 1: Symbols}
\newglossary{chap2}{chap2}{sbl2}{Chapter 2: Symbols}
\newcommand{\addgloss}[2]{\newglossaryentry{#1}{type=chap\thechapter,name=#1,description={#2}}}
\newcommand{\addglossmath}[3]{\newglossaryentry{#3}{type=chap\thechapter,name=\ensuremath{#1},description={#2}}}
\newcommand{\printchapglossary}{\glsaddall%
\printglossary[type=chap\thechapter]}
\makeglossaries
\begin{document}
\chapter{First chapter}
\begin{equation}
E=mc^2
\end{equation}
\addglossmath{E}{Total energy}{E}
\addglossmath{m}{Mass}{m}
\addglossmath{c}{Celerity}{c}
\printchapglossary
\chapter{Second chapter}
\addgloss{test}{This is a test entry}
\addglossmath{\pi}{Famous symbol...}{pi}
Here is a \gls{test} to see the value of \gls{pi}.
\printchapglossary
\printglossaries
\end{document}
まず、hyperref
パッケージは必要ありませんが、他の目的で必要な場合は、glossaries
パッケージの前にロードする必要があります。このパッケージで使用されるオプションは、nonumberlist
用語集の各エントリの後のページ番号を削除する ( ) と、nomain
すべてのエントリを含むメインの用語集が必要ない場合に使用されないメインの用語集ファイルを削除する ( ) です。
は\renewcommand*{\glspostdescription}{}
、印刷時に用語集の各エントリの末尾のピリオドを削除するために使用されます。次に「面倒な」部分があります。各章に 1 つの小さな用語集を作成するには、 コマンドを使用してこれらの用語集を 1 つずつ定義する必要があります\newglossary
。最初の引数はサブ用語集のラベル、次の 2 つはエントリを保存するために作成されるファイルの拡張子、最後は見出しとして印刷されるサブ用語集の名前です (好みに応じて名前を変更することをためらわないでください)。
次に、数学の名前を扱うエントリの扱いが少し特殊であるため、用語集にエントリを追加するための 2 つのコマンドを定義しました。
最初のコマンド\addgloss
は通常エントリ。最初の引数はキーラベルで、2 番目の引数は用語集に表示する定義です。
もう 1 つのコマンド\addglossmath
は数学記号用です。最初の引数は記号 (たとえば\pi
)、2 番目の引数は定義、3 番目の引数はラベルです。ラベルには特殊文字は使用できません (たとえばpi
)。
最後に、\printglossary
現在の章の用語集を表示する場所で使用する 3 番目のコマンドを定義しました。ここ\glsaddall
で使用するコマンドを使用すると、、、... コマンドのいずれでも使用されていない場合でも、前のコマンドで定義された用語集のエントリを表示できます。\gsl
\Gsl
すべてのエントリを章ごとに並べ替えたい場合は、\printglossaries
ドキュメント内の必要な場所を呼び出すだけです。
注記ドキュメントの名前が mydoc.tex であると仮定すると、ターミナルで次のコマンドを実行する必要があります。
latex mydoc
makeglossaries mydoc
latex mydoc
これは必要なすべてのリンクを作成するためです。
編集ニコラ・タルボットの提案によると、morewrites
glossaries
レジスタが不足しないように、パッケージの前にパッケージをロードします。
さらに、これは可能性についての大まかなアイデアにすぎず、出力は満足できるものではありません (エントリの均一性の欠如など) が、その方向に進みたい場合は修正できます。