文書全体の斜体フォントの色を変更する

文書全体の斜体フォントの色を変更する

LaTeX ファイルで次の内容を確認したいと思います。コマンドを使用すると\textit{...}、このテキストが斜体フォントになるだけでなく、青色も取得されることを確認したいと思います。これをドキュメント全体に適用したいと思います。このフォントを取得するテキストのすべての部分に指定するのではなく、ドキュメントの先頭で指定してドキュメント全体に適用する方法はありますか? 基本的に、コマンドの既定のプロパティを変更したいのです\textit{...}

答え1

これは (Xe|Lua)LaTeX を使用すると非常に簡単です:

\documentclass{article}

\usepackage{fontspec}
\usepackage{xcolor}

\setmainfont{Latin Modern Roman}[
  ItalicFeatures={Color=blue},
]

\begin{document}

Some text \emph{emphasized} and \textit{in italic}.

\end{document}

ここに画像の説明を入力してください

pdflatex少し複雑になります:

\documentclass{article}

\usepackage{xcolor}

\makeatletter
\DeclareRobustCommand{\itshape}{%
  \not@math@alphabet\itshape\mathit
  \fontshape\itdefault\selectfont
  \color{blue}%
}
\makeatother

\begin{document}

Some text \emph{emphasized} and \textit{in italic}.

\end{document}

ただし、段落間では使用しないように注意してください\itshape

答え2

ここでは、 というコマンドがあります\coloremph。これは に基づいており、\emph強調されたマテリアルを色でレンダリングできます。デフォルトの色は ですblueが、 のオプションの引数で別の色を指定することにより、これを上書きできます\coloremph

この設定では、強調された「内側」の素材は、直立したフォントの形でレンダリングされますが、周囲の強調された素材の色でレンダリングされます。ディレクティブのコメントを解除します。

%\renewcommand\eminnershape{\upshape\color{black}} % optional

内側の強調された部分を黒でタイプセットしたい場合。

完全な MWE (最小限の動作例) は次のとおりです。

\documentclass{article}
\usepackage[dvipsnames,svgnames,x11names]{xcolor} % for lots of predefined color names
\newcommand\coloremph[2][blue]{\textcolor{#1}{\emph{#2}}}
%\renewcommand\eminnershape{\upshape\color{black}} % optional

\begin{document}
Hello, World.

\coloremph{Once upon a \emph{very strange} time, \dots}

\coloremph[Coral3]{Once upon a \emph{very strange} time, \dots}

\coloremph[MediumPurple]{Once upon a \emph{very strange} time, \dots}

Hello World.
\end{document}

関連情報