更改标题文字的字体

更改标题文字的字体

我想更改标题中的字体,因此我尝试了以下代码:

\documentclass[11pt]{book}

\usepackage{fontspec}
\setmainfont[Mapping=tex-text]{Times New Roman}
\newfontfamily\myfont[Mapping=tex-text, Numbers=Lining]{Ubuntu Condensed}
\usepackage[font=\myfont, labelfont=bf]{caption} 

\begin{document}

    This is text font

    \begin{figure}[htp]
        \caption{ ... and this should be the figure font}
    \end{figure}

\end{document}

这似乎不起作用,显然这font=\myfont是错误的,但我不知道如何改变它。

任何想法都将受到赞赏。

答案1

您应该事先声明您的字体。

图形字体

\documentclass[11pt]{book}

\usepackage{fontspec}
\setmainfont[Mapping=tex-text]{Times New Roman}
\newfontfamily\myfont[Mapping=tex-text, Numbers=Lining]{Ubuntu Condensed}
\usepackage{caption} 
\DeclareCaptionFont{quack}{\myfont}
\captionsetup{font=quack, labelfont=bf}

\begin{document}

    This is text font

    \begin{figure}[htp]
        \caption{ ... and this should be the figure font}
    \end{figure}

\end{document}

答案2

最简单的策略是将 Ubuntu Condensed 声明为无衬线字体。您不会在同一个文档中使用两种不同的无衬线字体,对吧?;-)

\documentclass[11pt]{book}

\usepackage{fontspec}
\usepackage{caption}

\setmainfont{Times New Roman}
\setsansfont{Ubuntu Condensed}

\captionsetup{font=sf}

\begin{document}

This is text font

\begin{figure}[htp]
\caption{ ... and this should be the figure font}
\end{figure}

\end{document}

请注意,该Mapping=tex-text选项已弃用,应为Ligatures=TeX,但不需要指定,因为它是默认加载的。

此外,Ubuntu Condensed 没有粗体变体,因此labelfont=bf毫无用处。该字体也只有一种数字选择(衬线)。

在此处输入图片描述

输出相同\newfontfamily

\documentclass[11pt]{book}

\usepackage{fontspec}
\usepackage{caption}

\setmainfont{Times New Roman}
\newfontfamily{\ubuntufont}{Ubuntu Condensed}

\DeclareCaptionFont{ubuntu}{\ubuntufont}
\captionsetup{font=ubuntu}

\begin{document}

This is text font

\begin{figure}[htp]
\caption{ ... and this should be the figure font}
\end{figure}

\end{document}

相关内容