
Обновлять:Эта проблема решена в cite
версии 5.5.
Я заметил, что загрузка (или не загрузка) cite
пакета изменяет интервал после двоеточий в \markboth
заголовкахIEEEtran
\documentclass{IEEEtran}
%\usepackage{cite}
\begin{document}
\markboth{: A}{}
: A
\end{document}
Различия едва заметны, мне приходится создавать два PDF-файла и переключаться между ними с помощью Alt-Tab, чтобы увидеть разницу, но она есть.
Почему так, и что я могу сделать до и/или после \usepackage{cite}
(например, \let\org...\...
и \let\...\org...
), чтобы предотвратить это? Я не вижу никаких других различий в 8-страничном документе, кроме заголовков.
решение1
Надо
....\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
У другого есть
....\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
Причина в том, что космический фактор :
вернулся к норме.
проблема затрагивает только заголовок, поскольку латекс нормализует пространственные коэффициенты в заголовке, с помощью \normalsfcodes
которого установлен или \frenchspacing
или \nonfrenchspacing
в зависимости от значения, действующего в начале документа.
Однако тест, который использует latex, проверяет, равен ли коэффициент пространства .
1000, но cite
по своим собственным причинам делает его равным 1001, поэтому тест всегда завершается неудачей, поэтому, если cite
загружен,
\normalsfcodes
всегда устанавливается \nonfrenchspacing
значение.
это влияет на IEEEtran, так как по умолчанию он\frenchspacing
Самое простое решение — сбросить настройки \normalsfcodes
:
\documentclass{IEEEtran}
\usepackage{cite}\AtBeginDocument{\let\normalsfcodes\frenchspacing}
\begin{document}
\markboth{: A}{}
: A
\end{document}
решение2
В пакете cite есть список персонажей
\providecommand{\CiteMoveChars}{.,:;}
которые перемещают верхний индекс цитаты после знаков препинания, и это производит нежелательное поведение. Чтобы предотвратить это, вы можете удалить двоеточие из этого списка:
\documentclass{IEEEtran}
\usepackage{cite}
\providecommand{\CiteMoveChars}{.,;}
\begin{document}
\markboth{: A}{}
: A
\end{document}
или загрузите пакет с nomove
опцией package (что то же самое, что удалить все начальные символы из списка ходов):
\documentclass{IEEEtran}
\usepackage[nomove]{cite}
\begin{document}
\markboth{: A}{}
: A
\end{document}