
그림 페이지 목록이 있습니다. 이 그림의 캡션 중 일부에는 인용이 있습니다. 그림 목록 페이지에서 인용을 제거하고 일반 페이지에 인용을 유지하려면 어떻게 해야 합니까? 문안 인사
::::::::::::::::::::::::: 부록 나는 다음 명령을 사용하고 있습니다 :
\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 모두에 동일한 텍스트가 있어야 합니다.
새로운 세 번째 인수는 선택 사항이므로 의 선택적 인수를 사용하려는 경우에만 사용해야 합니다 \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
하나의 추가 인수, 즉 그림 목록에 기록할 자료를 사용하려면 사용자 정의 명령의 설정을 변경해야 합니다. 아래 코드에서 #4
그림 목록에 표시되는 내용은 다음과 같습니다. #3
citation 명령을 제외 하고는 매우 유사해야 합니다 .
\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}
이 접근 방식의 단점은 다음과 같습니다. 그림 목록에 표시할 자료가 캡션에 표시할 내용과 동일한 경우에도 네 번째 인수를 제공해야 합니다. 그렇지 않으면 LaTeX는 문자 그대로 무엇이든 될 수 있는 다음 토큰에 대한 입력 스트림을 계속해서 살펴보고 이를 명령의 네 번째 인수로 처리합니다. 이렇게 하면 이상한 오류 메시지와 이상한 충돌이 발생할 수 있습니다...