我需要更改部分编号的字体,而不更改部分名称的字体。
\documentclass[12pt,onecolumn]{article}
\sectionfont{\color{sec}\fontsize{16}{16}\FZzzh\selectfont}
结果是:
- 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}