更改部分数字的字体

更改部分数字的字体

我需要更改部分编号的字体,而不更改部分名称的字体。

\documentclass[12pt,onecolumn]{article}
\sectionfont{\color{sec}\fontsize{16}{16}\FZzzh\selectfont}

结果是:

  1. A部分

与 FZzzh 字体相同

理想的输出应该是 1.(Arial) 部分 A(FZzzh)

答案1

这是一个不使用任何特定 LaTeX 包的解决方案。代码假设正在使用 XeLaTeX 或 LuaLaTeX。\FZzzh不过,我没有使用示例代码中的指令,因为我的系统上没有相关字体。

此方法的要点在于,文档其他地方对章节编号的交叉引用将继续以环境文本字体排版,而不是以章节标题中的章节编号所需的特定无衬线字体和颜色排版。

在此处输入图片描述

\documentclass{article}

\usepackage{fontspec}
\setsansfont{Arial}

\usepackage{xcolor}
\definecolor{sec}{RGB}{0,80,143}

\makeatletter  % see, e.g., p. 26 of "The LaTeX Companion"
  \def\@seccntformat#1{\@ifundefined{#1@cntformat}%
     {\csname the#1\endcsname\quad}%   default setting
     {\csname #1@cntformat\endcsname}% individual control
  }
  \def\section@cntformat{\color{sec}\textsf{\thesection}\quad}
\makeatother

\begin{document}
\section{In the beginning} \label{sec:beginning}

\section{Later on the same day}

As we showed in section \ref{sec:beginning}, \dots
\end{document}

答案2

这样titlesec做很容易。

\titleformat{\section}
{\normalfont\Large\bfseries}
{\textsf{\textcolor{sec}{\thesection}}}    %% change here
{1em}
{}

或者简单地

\titlelabel{\textsf{\textcolor{sec}{\thetitle}}\quad}

这将改变所有部分级别的标签格式。

完整代码

\documentclass{article}
\usepackage{xcolor}
\definecolor{sec}{RGB}{0,80,143}
\usepackage{fontspec}
\setsansfont{Arial}
\usepackage{titlesec}
%% this
\titleformat{\section}
{\normalfont\Large\bfseries}{\textsf{\textcolor{sec}{\thesection}}}{1em}{}
%% or
%\titlelabel{\textsf{\textcolor{sec}{\thetitle}}\quad}   %% this affects section, subsection etc
\begin{document}
\section{In the beginning}
\end{document}

在此处输入图片描述

相关内容