如何防止引用标签在 Org-mode 中乱成斜体?

如何防止引用标签在 Org-mode 中乱成斜体?

我使用的是 Emacs 24.2.1,我认为没有任何特殊设置会造成干扰。如果我输入以下文本,则没有问题:

/cite{BibtexRef} Text that is not italicized. /cite{BibtexRef}

但这里有一个问题:

*/cite{BibtexRef} I don't want italics here. /I only want them here./*

我不明白为什么第二种情况下格式会混乱,而第一种情况下却不会。有人能解释一下吗?

为了让事情看起来更接近我想要的,我把所有的引用都用斜体表示,就像这样。

*/cite{BibtexRef}/* Not italicized. */Italicized./*

这会导致 Bibtex 出现问题吗?有更好的解决方案吗?

答案1

这似乎是语法上的误解,而不是 Org-mode 的问题。

您似乎混淆了斜杠/和反斜杠\。在 Org-mode 中,用(正)斜杠括起文本确实是为了强调,但(正)斜杠不用于引用 TeX 宏。要引用 TeX 宏,请使用反斜杠后跟宏的名称,例如\printbibliography

因此,由于 TeX 宏不以前导斜杠或前导反斜杠来引用,因此它们不是干扰 Org-mode 强调文本的语法。

这里举个例子来说明一下。下面是 Org-mode 文档:

#+title: Title

#+options: toc:nil

#+LaTeX_HEADER: \usepackage[style=authoryear]{biblatex}

#+LaTeX_HEADER: \begin{filecontents*}{bibliography.bib}
#+LaTeX_HEADER: @book{thebook,
#+LaTeX_HEADER:   title        = {Title},
#+LaTeX_HEADER:   author       = {Author},
#+LaTeX_HEADER:   year         = {2000}
#+LaTeX_HEADER:   }
#+LaTeX_HEADER: \end{filecontents*}

#+LaTeX_HEADER: \bibliography{bibliography}

/italicized/ \cite{thebook} not italicized /italicized/

\printbibliography

如果将其导出为 LaTeX ( C-c C-e l) 并进行编译(例如通过latexmk),则部分输出将如下所示:

Org-mode 文档的输出

你可以看到,强调是正确的。Org-mode 缓冲区中的强调也证实了这一点:

Org-mode 缓冲区

答案2

这本身不是一个答案,但对于评论来说有点太长了:

您可能还希望在 LaTeX 级别上将所有引用都设为斜体,而不是在组织代码中,因为这样您就不会违反 DRY 原则。一种做法可能是这样的:

\let\originalcite=\cite
\def\cite#1{\emph{\cite#1}}

然而,这破坏了可选参数 to \cite(可以使用合适的 进行修复\newcommand)。也许一个更好的解决方案(虽然承认有点肮脏的黑客行为)可能是

\usepackage{etoolbox}
\pretocmd{\cite}{\emph\bgroup}{}{}
\apptocmd{\cite}{\egroup}{}{}

无论你是否使用类似的东西,这个解决方案都应该有效amsrefs。但是,如果你不修改 LaTeX2e 的\cite命令(例如通过\usepackageing \amsrefs),这可能是最简单和最好的方法:

\makeatletter
\def\@cite#1#2{\emph{[{#1\if@tempswa , #2\fi}]}}
\makeatother

然而,我必须承认,我不明白观点你的问题:为什么有人会\cites 斜体化?即使你这么做了,也可能是这样:

\makeatletter
\def\@cite#1#2{[\emph{{#1\if@tempswa , #2\fi}}]}
\makeatother

因为它是作风很差将括号斜体化(我相信那些读过 Bringurst 的书的英文版的人可以为你提供这一说法的参考;))。如果你将其斜体化,那么你可能也想将参考书目中的条目也斜体化。

而当我们讨论这个问题时,似乎还没有人告诉你biblatex(比旧的 更高级bibtex)或amsrefs(比 更好bibtex,虽然可能更弱,但比 更容易上手biblatex)。所以看看它们吧!

相关内容