變更整個文件的斜體字體顏色

變更整個文件的斜體字體顏色

我希望在我的乳膠文件中看到以下內容:一旦使用該\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}

相關內容