
科学論文の出版にあたり、査読者のコメントを考慮した論文の修正版を書いています。どの修正がどの査読者によるものかを特定する必要があるため、パッケージを使用しますchanges
。当然、論文には参考文献があるので、パッケージを使用しますcite
。
PDFLaTeX (TexLive 2014) では、パッケージのコマンドまたはコマンドcite
内で コマンドを使用するとエラーが発生します。以下に最小限の動作例を示します。deleted
replaced
changes
\documentclass{article}
\usepackage{cite}
\usepackage{changes}
\begin{document}
As previously observed \deleted{in \cite{someref}, there is no banana here.}
\begin{thebibliography}{9}
\bibitem{someref}
Some ref here.
\end{thebibliography}
\end{document}
次のエラーが発生します:
! Extra }, or forgotten \endgroup.
\UL@stop ...alty \ifnum \lastkern =\thr@@ \egroup
\egroup \ifdim \wd \UL@box...
l.8 ...n \cite{someref}, there is no banana here.}
! Extra }, or forgotten \endgroup.
\UL@stop ...num \lastkern =\thr@@ \egroup \egroup
\ifdim \wd \UL@box =\z@ \e...
l.8 ...n \cite{someref}, there is no banana here.}
! Missing } inserted.
<inserted text>
}
l.8 ...n \cite{someref}, there is no banana here.}
! Missing } inserted.
<inserted text>
}
l.8 ...n \cite{someref}, there is no banana here.}
パッケージを削除するとcite
、すべてが正常に戻ります。残念ながら、このパッケージが必要です。
この質問は、この未回答のもの。 どうすればいいですか?
答え1
daleif がコメントで指摘したように、この問題は、パッケージulem
内の削除された変更を打つために使用されるパッケージが原因ですchanges
。一部のコマンドに対して奇妙な動作をすることが知られていますcite
。
に示されているようにドキュメンテーションcite
、次のように で囲む必要がありますmbox
。
As previously observed \deleted{in \mbox{\cite{someref}}, there is no banana here.}
そしてそれは機能します。
非常に似た問題が同じ方法で解決されたここ。
答え2
@Nerasteは正しいことを言いました。私も同じ問題を発見し、\mbox{\cite{someref}}
あらゆる参照で回避したいと思いました....だから、これ、私は以下を使用しました:
\let\oldcitep\citep
\renewcommand{\citep}[1]{\mbox{\oldcitep{#1}}}
\let\oldcitet\citet
\renewcommand{\citet}[1]{\mbox{\oldcitet{#1}}}
\let\oldcite\cite
\renewcommand{\cite}[1]{\mbox{\oldcite{#1}}}
完璧に機能しました
答え3
\mbox
私には効果がありませんでした。
\cite
ただし、 withinコマンド\remove
またはtrack changes コマンドの使用時に LaTeX がクラッシュする問題を回避する、ある程度満足のいく方法があります\add
。この回避策では、参照が表示されないように無視するだけです。
以下は、LaTeX ドキュメントの上部で使用したコマンドです。
\usepackage[ignoremode,inline]{trackchanges} % use the "ignoremode" option here
\tcignore{\cite}{1}{0} % To ignore parenthetical citation (previously used to be \citep)
\tcignore{\citeA}{1}{0} % To ignore in-text citation (previously used to be \citet)
それは私にとってはうまくいきました。