特定の方法で単語を表示するように文書を設定しました。また、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 標準の太さ (\accuroam の ROAM と同じ) に変更されます。
単語だけが変更され、テキストの残りの部分は変更されないようにするには、どうすれば修正できますか。
注: 現在、ビルダーとして pdflatex を使用しており、xelatex はまだ利用できません。
どのような助けでも大歓迎です。
答え1
特にメイン文書のフォントが Times である場合、Computer Modern に切り替える必要があるかどうかはわかりません。
問題は、すでに述べたように、\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
いずれにせよ T1 を使用しているので、OT1 エンコーディングに戻す理由はないと思います。
\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...
、より長いフォント指定コマンドを使用しました。最初のスイッチでエンコーディング、形状、シリーズが正しいことが既に確認されているため、2 番目のスイッチではファミリ指定のみが必要であることに注意してください。