Conflito com citações e alterações

Conflito com citações e alterações

Para uma publicação científica, estou escrevendo uma versão modificada do meu artigo que leva em consideração os comentários dos meus revisores. Preciso identificar qual modificação se deve a qual revisor, então uso o changespacote. Obviamente, tenho referências em meu artigo, então uso o citepacote.

PDFLaTeX (TexLive 2014) apresenta erros quando uso o citecomando dentro dos comandos deletedou replaceddo changespacote. Aqui está um exemplo mínimo de trabalho:

\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}

Eu recebo os seguintes erros:

! 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.}

Se eu remover os citepacotes, tudo volta ao normal. Infelizmente preciso deste pacote.

A questão está realmente próxima deessa sem resposta. O que devo fazer?

Responder1

Como daleif apontou nos comentários, o problema se deve ao ulempacote usado para eliminar alterações excluídas no changespacote. É conhecido por se comportar de maneira estranha com alguns elogios, entre eles cite.

Como indicado nodocumentação, você tem que embrulhar citeassim mbox:

As previously observed \deleted{in \mbox{\cite{someref}}, there is no banana here.}

E funciona.

Um problema bastante semelhante resolvido da mesma maneiraaqui.

Responder2

@Neraste disse certo. Acabei de encontrar o mesmo problema e queria evitar \mbox{\cite{someref}}todas as referências .... Então, com base emesse, acabei de usar:

\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}}}

Funcionou perfeitamente

Responder3

\mboxnão funcionou para mim.

No entanto, tenho uma solução um tanto satisfatória para solucionar o problema de travamento do LaTeX ao usar comandos \citedentro \removeou \addrastrear alterações. A solução alternativa simplesmente ignora a exibição da referência.

Aqui estão os comandos que usei na parte superior do documento 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)

Funcionou para mim.

informação relacionada