
Para una publicación científica, estoy escribiendo una versión modificada de mi artículo que tiene en cuenta los comentarios de mis revisores. Necesito identificar qué modificación se debe a qué revisor, así que uso el changes
paquete. Obviamente, tengo referencias en mi artículo, así que uso el cite
paquete.
PDFLaTeX (TexLive 2014) me da errores cuando uso el cite
comando dentro de los comandos deleted
o replaced
del changes
paquete. Aquí hay un ejemplo de trabajo mínimo:
\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}
Recibo los siguientes errores:
! 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.}
Si elimino los cite
paquetes, todo vuelve a la normalidad. Desafortunadamente, necesito este paquete.
La pregunta está muy cerca deeste sin respuesta. ¿Qué tengo que hacer?
Respuesta1
Como señaló daleif en los comentarios, el problema se debe al ulem
paquete utilizado para realizar cambios eliminados en el changes
paquete. Se sabe que se comporta de manera extraña con algunos elogios, entre ellos cite
.
Como se indica en eldocumentación, tienes que envolverlo cite
en algo mbox
así:
As previously observed \deleted{in \mbox{\cite{someref}}, there is no banana here.}
Y funciona.
Un problema bastante similar se resolvió de la misma manera.aquí.
Respuesta2
@Neraste lo dijo bien. Acabo de encontrar el mismo problema y quería evitarlo \mbox{\cite{someref}}
en cada referencia... Entonces, segúneste, solo usé:
\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}}}
Funcionó perfectamente
Respuesta3
\mbox
no funcionó para mí.
Sin embargo, tengo una solución algo satisfactoria al problema del bloqueo de LaTeX al utilizar comandos \cite
internos \remove
o \add
de seguimiento de cambios. La solución alternativa simplemente ignora la visualización de la referencia.
Estos son los comandos que utilicé en la parte superior del documento de látex:
\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)
Funcionó para mí.