\documentclass{article}
\usepackage{titlesec}
\renewcommand{\rmdefault}{phv} % Arial
\renewcommand{\sfdefault}{phv} % Arial
\titleformat{\thesection}
{\normalfont\fontsize{12}{15}\bfseries}{\thesection}{1em}{}
\titlelabel{\thetitle.\quad}
\begin{document}
\section{Test Section}
test
\subsection{Subsection}
test
\end{document}
我已成功将字体类型更改为 Arial,但标题的粗体显示却消失了。有办法解决吗?
答案1
使用 fontspec
该fontspec
软件包可以加载任何 TrueType 或 OpenType 字体,其中包括您可以在文字处理器中使用的所有字体。它仅适用于lualatex
或xelatex
,不适用于pdflatex
。
\documentclass{article}
\usepackage{titlesec}
\usepackage{fontspec}
\setmainfont{TeX Gyre Heros}
\defaultfontfeatures{Scale=MatchUppercase}
\setsansfont{TeX Gyre Heros}
\titleformat{\thesection}
{\sffamily\fontsize{12}{15}\upshape\bfseries}{\thesection}{1em}{}
\titlelabel{\thetitle.\quad}
\begin{document}
\section{Test Section}
test
\subsection{Subsection}
test
\end{document}
如果您想使用 Arial ,可以更改TeX Gyre Heros
为Arial
。它们类似,但不完全相同。Heros 更接近于您选择时所得到的字体phv
,并且没有 Microsoft 软件的计算机可能没有安装 Arial。
使用 NFSS
您找到的网页声称代码将切换到 Arial,这是不正确的。Arial 和 Helvetica 相似,但不相同。
您需要的helvet
是 的一部分包psnfss
。您告诉系统使用默认的 PostScript Helvetica 字体,在许多系统上它是 TeX Gyre Heroes,但你没有加载它支持的任何字体编码。如果您检查,您应该会收到一条错误消息,指出形状 phv/bx/n 不可用(因为它在错误的编码中寻找它们)。在这里,我加载了编码 T1 和 TS1。
如果您想要控制文档使用哪个 Helvetica 克隆字体,您可以将其替换\usepackage{helvet}
为\usepackage{tgheros}
。URW 的 Arial 版本也可能可用,例如\usepackage{uarial}
。
我还擅自重新定义\familydefault
而不是\rmdefault
。
\documentclass{article}
\usepackage[T1]{fontenc} % Instead of OT1, which qhv does not support.
\usepackage{textcomp} % Also load TS1
\usepackage[utf8]{inputenc} % The default since April 2018.
\usepackage{titlesec}
\usepackage{helvet} % Likely tgheros.
\renewcommand{\familydefault}{\sfdefault}
\titleformat{\thesection}
{\sffamily\fontsize{12}{15}\upshape\bfseries}{\thesection}{1em}{}
\titlelabel{\thetitle.\quad}
\begin{document}
\section{Test Section}
\textsf{\textbf{test}}
\subsection{Subsection}
test
\end{document}
答案2
运行示例时出现 XeLaTeX 或 LuaLaTeX 问题
LaTeX Font Warning: Font shape `TU/phv/m/n' undefined
(Font) using `TU/lmr/m/n' instead on input line 9.
LaTeX Font Warning: Font shape `TU/phv/bx/n' undefined
(Font) using `TU/phv/m/n' instead on input line 11.
这清楚地显示了问题的根源。
使用 XeLaTeX 或 LuaLaTeX 您需要fontspec
定义字体。
\documentclass{article}
\usepackage{fontspec}
\usepackage{titlesec}
\setmainfont{Arial}
\setsansfont{Arial}
\titleformat{\section}
{\normalfont\fontsize{12}{15}\bfseries}
{\thesection}
{1em}
{}
\titlelabel{\thetitle.\quad}
\begin{document}
\section{Test Section}
test
\subsection{Subsection}
test
\end{document}
注意是\titleformat{\section}
,而不是\titleformat{\thesection}
。而且 Arial 不是 Helvetica。