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

相關內容