Латекс путают со словом в заголовке

Латекс путают со словом в заголовке

Я настроил документ для отображения слова определенным образом. Я также использовал пакет times, чтобы задать шрифт документа, как показано.

\documentclass[a4paper,11pt,openany,oneside]{sphinxmanual}
\usepackage[T1}{fontenc}
\usepackage[english]{babel}
\usepackage{times}

\usepackage{color}
\definecolor{myred}{RGB}{165,0,33}
\DeclareRobustCommand\accuroam{%
    \usefont{OT1}{cmr}{m}{n}Accu%
    \usefont{OT1}{cmss}{m}{n}\textcolor{myred}{ROAM}
}%

\begin{document}
...
\end{document}

Все это, кажется, работает, пока не встретится команда \accuroam. Затем она меняет текст, следующий за ней, на нормальный вес cmss (такой же, как ROAM в \accuroam).

Как это исправить, чтобы изменилось только слово, а весь остальной текст остался прежним?

Примечание: в настоящее время я использую pdflatex в качестве конструктора и пока не могу воспользоваться xelatex.

Любая помощь будет оценена по достоинству.

решение1

Я не уверен, что вам стоит переходить на Computer Modern, особенно если основным шрифтом документа является Times.

Проблема, как уже было сказано, в том, что \usefont...TeX с этого момента использует выбранный шрифт (с учетом группировки).

Мое предложение:

\DeclareRobustCommand\accuroam{%
  \textnormal{Accu\color{myred}\sffamily ROAM}%
}

С помощью \textnormalвы выбираете основной шрифт документа (текущего размера); внутри него вы можете изменить цвет и семейство шрифтов; закрывающая фигурная скобка \sffamilyзавершит его область действия.

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[english]{babel}
\usepackage{mathptmx}

\usepackage{color}
\definecolor{myred}{RGB}{165,0,33}
\DeclareRobustCommand\accuroam{%
  \textnormal{Accu\color{myred}\sffamily ROAM}%
}

\begin{document}
We describe \accuroam{} which is a very bright idea.
\end{document}

введите описание изображения здесь

решение2

Команды изменения шрифта:выключателькоманды. То есть они применяются ко всему последующему контенту до тех пор, пока не встретится другой переключатель или группа не закончится.

Исправьте проблему, поместив каждый специальный шрифт в группу с текстом, который он должен стилизовать. Я также добавил завершающий символ %к строке, содержащей красный текст, чтобы предотвратить появление ложных пробелов в выводе:

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[english]{babel}
\usepackage{mathptmx} % `times' is obsolete

\usepackage{color}
\definecolor{myred}{RGB}{165,0,33}
\DeclareRobustCommand\accuroam{%
    {\usefont{OT1}{cmr}{m}{n}Accu}%
    {\usefont{OT1}{cmss}{m}{n}\textcolor{myred}{ROAM}}%
}%

\begin{document}
Test\dots \accuroam{}\dots Test.
\end{document}

введите описание изображения здесь

Также обратите внимание, чтоtimesПакет устарел. Более новые альтернативы — это либоmathptmxпакет или newtxtext/ newtxmath.

решение3

Я не вижу смысла возвращаться к кодировке OT1, поскольку вы все равно используете T1:

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage{mathptmx}% `times' is obsolete
\usepackage[scaled=.90]{helvet}
\usepackage{courier}

\usepackage{color}
\definecolor{myred}{RGB}{165,0,33}
\DeclareRobustCommand\accuroam{%
    {%
       \fontencoding{T1}%
       \fontfamily{cmr}%
       \fontseries{m}%
       \fontshape{n}%
       \selectfont Accu%
       \fontfamily{cmss}%
       \selectfont\textcolor{myred}{ROAM}%
    }%
}%

\begin{document}
Test\dots \accuroam{}\dots Test.
\end{document}

Я использовал более длинные команды спецификации шрифта (вместо \usefont...), чтобы просто прояснить, что происходит. Обратите внимание, что второй переключатель требует только спецификации семейства, поскольку первый переключатель уже гарантирует, что кодировка, форма и серия верны.

AccuROAM

Связанный контент