如何更改部分标题中某些字符的字体?

如何更改部分标题中某些字符的字体?

我想更改章节标题中的一个或两个字符。我尝试了以下方法:

\documentclass[12pt, openany]{book}
%PACKAGES
\usepackage{fontspec}
\usepackage{libertine}
\newfontfamily\myfont{Hiragino Sans W2}[Scale = MatchLowercase, WordSpace = -.3]
\usepackage{titlesec}

\begin{document}
\titleformat{\chapter}[display]{\normalfont\bfseries\centering\large}{}{0pt}{} 
\titleformat{\section}[display]{\normalfont\itshape\centering}{}{0pt}{}

\section{\begin{myfont}~†~\end{myfont}1: First Title}

\end{document}

它在主体中有效,但在部分中无效。可能与 titlesec 冲突?我正在使用 LuaLatex。

答案1

不要使用\begin{myfont}

\documentclass[12pt, openany]{book}
%PACKAGES
\usepackage{fontspec}
\usepackage{libertine}
\newfontfamily\myfont{Hiragino Sans W2}[Scale = MatchLowercase, WordSpace = -.3]
\usepackage{titlesec}

\begin{document}
\titleformat{\chapter}[display]{\normalfont\bfseries\centering\large}{}{0pt}{} 
\titleformat{\section}[display]{\normalfont\itshape\centering}{}{0pt}{}

\section{{\myfont~†~}1: First Title}

\end{document}

在此处输入图片描述

可能的更好的编码。

\documentclass[12pt, openany]{book}

%PACKAGES
\usepackage{titlesec}
\usepackage{fontspec}
\usepackage{libertine}

\newfontfamily\myfont{Hiragino Sans W2}[
  Scale = MatchLowercase,
  WordSpace = -.3,
  SlantedFont=*,
  ItalicFont=*,
]
\NewDocumentCommand{\hsym}{m}{{\myfont~#1~}}

\titleformat{\chapter}[display]{\normalfont\bfseries\centering\large}{}{0pt}{}
\titleformat{\section}[display]{\normalfont\itshape\centering}{}{0pt}{}

\begin{document}

\section{\hsym{†}1: First Title}

\end{document}

字体加载的新选项是为了避免出现关于缺少倾斜和斜体字体的烦人警告。\hsym宏比每次都指定\myfont和要好。~

另一方面,我不确定定义中WordSpace=-0.3的和。没有它们,我得到~

在此处输入图片描述

相关内容