我正在 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 見過的前一個字元!漢斯在這篇文章中談到了這一點文章,有趣的是,出於處理書目零碎的相同目的。