¿Por qué la cita influye en el espacio después de los dos puntos en el encabezado IEEEtran \markboth?

¿Por qué la cita influye en el espacio después de los dos puntos en el encabezado IEEEtran \markboth?

Actualizar:Esto se ha solucionado en citela v5.5.

Me di cuenta de que cargar (o no) el citepaquete cambia el espacio después de los dos puntos en \markbothlos encabezados deIEEEtran

\documentclass{IEEEtran}
%\usepackage{cite}
\begin{document}
\markboth{: A}{}
: A
\end{document}

Las diferencias son sutiles, tengo que crear dos archivos PDF y presionar Alt-Tab entre ellos para ver la diferencia, pero está ahí.

¿A qué se debe esto y qué puedo hacer antes y/o después \usepackage{cite}(como \let\org...\...y \let\...\org...) para evitarlo? No veo ninguna otra diferencia en un documento de 8 páginas excepto en los encabezados.

Respuesta1

Uno tiene

....\hbox(0.0+0.0)x0.0
....\OT1/ptm/m/n/7 :
....\glue 2.45004 plus 1.04996 minus 0.84007
....\OT1/ptm/m/n/7 

el otro tiene

....\hbox(0.0+0.0)x0.0
....\OT1/ptm/m/n/7 :
....\glue 2.87003 plus 2.09991 minus 0.42003
....\OT1/ptm/m/n/7 A

La razón es que el factor espacial de :se ha revertido.

el problema solo afecta al título ya que el látex normaliza los factores espaciales en el título con \normalsfcodesel que se establece o \frenchspacingdependiendo \nonfrenchspacingdel valor vigente al inicio del documento.

sin embargo, la prueba que usa el látex es probar si el factor de espacio .es 1000 pero citelo convierte en 1001 por sus propias razones, por lo que la prueba siempre falla, por lo que si citeestá cargado \normalsfcodessiempre establece el \nonfrenchspacingvalor.

esto afecta a IEEEtran ya que por defecto es\frenchspacing

La solución más sencilla es restablecer \normalsfcodes:

\documentclass{IEEEtran}
\usepackage{cite}\AtBeginDocument{\let\normalsfcodes\frenchspacing}
\begin{document}

\markboth{: A}{}
: A
\end{document}

Respuesta2

El paquete de citas tiene una lista de caracteres.

\providecommand{\CiteMoveChars}{.,:;}

que mueven la cita en superíndice después de la puntuación y esto está produciendo el comportamiento no deseado. Para evitar esto, puede eliminar los dos puntos de esa lista:

\documentclass{IEEEtran}
\usepackage{cite}

\providecommand{\CiteMoveChars}{.,;}

\begin{document}
\markboth{: A}{}
: A
\end{document}

o cargue el paquete con la nomoveopción de paquete (que es lo mismo que eliminar todos los caracteres iniciales de la lista de movimientos):

\documentclass{IEEEtran}
\usepackage[nomove]{cite}

\begin{document}
\markboth{: A}{}
: A
\end{document}

información relacionada