似乎该xpatch
软件包使得 REVTeX 不稳定,甚至似乎关闭了它的某些功能。因此,如果同时安装了 Acrobat 5 和 Acrobat 9,它将生成 Acrobat 9 文档而不是 Acrobat 5 文档。然而,更令人担忧的是,由于未知原因,行为突然发生变化。我正在处理一个文档,一切顺利,但突然间我的 WinEdt 拒绝编译它。许多错误显示交叉引用问题。原来罪魁祸首是\affiliation{}
。我一删除它,问题就消失了。不幸的是,我无法在 MWE 中演示它,因为它没有显示在那里。MWE 中显示的是另一个问题---\section{}
不接受\textbf{}
:
\documentclass[onecolumn,twoside]{revtex4}
\usepackage{xpatch}% http://ctan.org/pkg/xpatch
\makeatletter
\xpatchcmd{\@ssect@ltx}{\@xsect}{\edef\@currentlabelname{#8}\@xsect}{}{}% Patch \<section>*
\xpatchcmd{\@sect@ltx}{\@xsect}{\edef\@currentlabelname{#8}\@xsect}{}{}% Patch \<section>
\makeatother
\usepackage{hyperref}% http://ctan.org/pkg/hyperref
\hypersetup{pdfstartview=FitH,pdfpagemode=UseNone}
\begin{document}
\title{Title}
\author{Author}
\affiliation{Affiliation}
\maketitle
%\section*{FirstSection--$E \times H$ vs.$\ \textbf{E} \times \textbf{H}$}
\section*{FirstSection}
\label{sec:marker1}
In \nameref{sec:marker2} it is stated that \ldots
\section*{SecondSection} \label{sec:marker2}
You can also see in \nameref{sec:marker1} that \ldots
\end{document}
如您所见,只要移除\section*{FirstSection--$E \times H$ vs.$\ \textbf{E} \times \textbf{H}$}
包含
\textbf{}
字符的 ,上述示例就可以正常工作。如果您取消移除它,而是移除 ,则\section*{FirstSection}
编译会崩溃。
您认为我应该忍受它并让隶属关系跟随作者吗,\author{}
而不是\textbf{Something}
应该使用\bf Something \rm
,或者如果有的话,是否有这种不稳定性的基本解决方案?
答案1
宏\affiliation
并不“长”。这与以下内容无关xpatch
:您无需加载它即可看到相同的内容。REVTeX 的作者可能并不认为从属关系是大段文本。