
図表一覧ページがあります。これらの図表の一部には引用があります。図表一覧ページから引用を削除し、通常のページに引用を残すにはどうすればよいですか? よろしくお願いいたします
:::::::::::::::::::::::::::: 追記 私は次のコマンドを使用しています:
\newcommand{\munepsfig}[3][scale=1.0]{%
\begin{figure}[!htbp]
\centering
\vspace{2mm}
\includegraphics[#1]{figures/#2.eps}
\caption{#3}
\label{fig:#2}
\end{figure}
}
使用例:
\munepsfig[scale=0.5,angle=90]{barchart}{Population over time}
答え1
オプションの引数を使用します\caption
:
\caption[Text to the LoF]{Text for the document \cite{xx}}
元の質問を編集して、\munepsfig
(xparse
パッケージを使用して) の次の定義を提案します。
\usepackage{xparse}
\NewDocumentCommand\munepsfig{O{scale=1.0}mom}
{%
\begin{figure}[!htbp]
\centering
\vspace{2mm}
\includegraphics[#1]{figures/#2.eps}
\IfNoValueTF {#3}
{\caption{#4}}
{\caption[#3]{#4}}
\label{fig:#2}
\end{figure}%
}
次のように使用します:
\munepsfig[scale=0.5,angle=90]{image}[Text for the LoF]{Text for the document}
LoFに別のテキストを入れたい場合、または単に
\munepsfig[scale=0.5,angle=90]{image}{Text for the document and the LoF}
ドキュメントと LoF の両方に同じテキストを含めること。
新しい 3 番目の引数はオプションなので、 のオプション引数を使用する場合にのみ使用する必要があることに注意してください\caption
。
答え2
\cite
キャプションでのみ使用し、他の引用コマンドやオプションの引数を使用しない場合は、代わりetoolbox
に を使用して前後フックを追加し\listoffigures
、を再定義します。\cite
\usepackage{etoolbox}
\makeatletter
\let\oldcite\cite
\pretocmd{\listoffigures}{\def\cite{\ignorespaces\@gobble}}{}{}
\apptocmd{\listoffigures}{\let\cite\oldcite}{}{}
\makeatother
答え3
見た目で並べ替える目的でこれを実行したい場合はbibliographystyle
、パッケージを使用することをお勧めします。notoccite
。
目次に引用を記述できますが、その番号は本文に表示される場所に従って付けられます。
答え4
カスタム コマンドの設定を変更して、図表リストに書き込む資料という 1 つの追加引数を取る必要があります。以下のコードでは、 の内容が図表リストに表示されます。引用コマンド以外#4
は とほぼ同じです。#3
\newcommand{\munepsfig}[4][scale=1.0]{%
\begin{figure}[!htbp]
\centering
\vspace{2mm}
\includegraphics[#1]{figures/#2.eps}
\caption[#4]{#3}
\label{fig:#2}
\end{figure}
}
この変更されたコマンドは次のように使用します。
\munepsfig[scale=0.5,angle=90]{barchart}{Population over time
\cite{some-source}}{Population over time}
この方法の欠点は、図表リストに表示される内容がキャプションに表示される内容と同一である場合、4 番目の引数を指定しなければならないことです。指定しないと、LaTeX は入力ストリーム内で次のトークン (文字通り何でもかまいません) を探し続け、それをコマンドの 4 番目の引数として扱います。これを行うと、奇妙なエラー メッセージや異常なクラッシュが発生する可能性があります...