LaTeX에서 이전 문자 덮어쓰기/제거

LaTeX에서 이전 문자 덮어쓰기/제거

내가 사용하는 패키지에 의해 자동으로 생성된 이전 문자를 덮어쓰거나 제거하는 명령을 LaTeX에서 찾고 있습니다.


나는주라비브 패키지내 인용을 위해. 예를 들어 다음 명령을 사용하면 다음과 같습니다.

\cite[Pages 3-5]{key}

페이지 범위( commabeforerest) 앞에 쉼표를 자동으로 생성하는 옵션이 있습니다. 이것이 대부분의 인용에 필요한 것입니다. 이는 다음과 같습니다:

Author, Title, Pages 1-3.

쉼표가 필요하지 않은 인용문이 하나 있습니다. 따라서 이전 두 문자(자동으로 생성된 공백과 쉼표)를 덮어쓰는 방법이 있는지 알고 싶습니다. 따라서 특별한 인용에 대해 다음 명령을 사용할 수 있습니다.

\cite[\OverwritePreviousChars{2} Pages 4-6]{key}

그러면 다음이 생성됩니다.

Author, Title Pages 4-6.

답변1

commebeforerest에서 사용하는 스위치를 재설정할 수 있습니다. 하지만 \cite 뒤에 페이지 정보를 입력하는 것이 당연히 훨씬 쉽습니다.

\documentclass{article}
\usepackage{jurabib}
\bibliographystyle{jurabib}
\jurabibsetup{ commabeforerest,}

\begin{document}
\cite[Pages 3-5]{doody}

{\makeatletter\jb@comma@before@restfalse\makeatother 
\cite[Pages 3-5]{doody}}

\cite{doody} Pages 3-5

\bibliography{biblatex-examples}
\end{document}

여기에 이미지 설명을 입력하세요

답변2

댓글을 달 수 있는 평판이 없어서 대신 답변으로 게시합니다. LuaTeX에서는 TeX에서 본 이전 문자를 실제로 제거할 수 있습니다! Hans는 이것에 대해 이야기했습니다.기사, 서지 비트 및 밥을 처리하는 것과 동일한 목적으로 충분히 재미있게 사용할 수 있습니다.

관련 정보