使用 xelatex 更改标题字体

使用 xelatex 更改标题字体

我是新手xelatex,但我已经设法更改了章节、部分等的字体。现在,我想更改浮动标题(图片、表格……)的全局字体。如您所见,我已将字体命名为“\captionfont”。

下面,您将看到一个最小的工作示例,其中我没有做任何修改。我猜问题出在captionsetup。我读了很多关于设置字体的文章,现在我已经习惯了这种方式,所以如果可以全局设置标题字体,而不需要对原始代码进行太多更改,那就太好了。

\documentclass[12pt,a4paper,english]{report} 
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
%---- FONTS ----
\usepackage[math-style=ISO]{unicode-math}
\defaultfontfeatures{Scale=MatchLowercase,Mapping=tex-text}
\setmainfont[Numbers={Proportional},SmallCapsFeatures={LetterSpace=6},
         BoldFont={Minion Pro Bold},BoldFeatures={LetterSpace=3}]{Minion Pro}
\setmonofont{Minion Pro}
\newfontfamily\chapterfont{Neo Sans Std}
\newfontfamily\sectionfont{Neo Sans Std Medium}
\newfontfamily\captionfont{Neo Sans Std} 
% ---- END FONTS ----
\usepackage{graphicx}
\usepackage{caption}
\captionsetup{font=small,labelfont=bf,margin={0cm,0cm},justification=justified,singlelinecheck=off} 

\titleformat*{\chapter}{\huge\chapterfont}

\begin{document}
Here goes some text with the font X.
\begin{figure}
\includegraphics[width=1\textwidth]{dummyfigure}
\caption{This should be font \captionfont}
\end{figure}
Here continues font X.
\end{document}

我希望有人能帮我修复它:)

答案1

这将为您提供所需的标题字体:

\DeclareCaptionFormat{neofont}{\captionfont\small#1#2#3}
\captionsetup{format=neofont,labelfont=bf,margin={0cm,0cm},justification=justified,singlelinecheck=off} 

一个完整的简化示例:

\documentclass[12pt,a4paper,english]{report} 
\usepackage{caption}
\usepackage{fontspec}

\newfontfamily\captionfont{Neo Sans} 

\DeclareCaptionFormat{neofont}{\captionfont\small#1#2#3}
\captionsetup{format=neofont,labelfont=bf,margin={0cm,0cm},justification=justified,singlelinecheck=off} 

\begin{document}
Here goes some text with the main font.
\begin{figure}
\includegraphics[width=1\textwidth]{example-image-a}
\caption{This is on Neo Sans font}
\end{figure}
Here continues main font.
\end{document}

输出:

在此处输入图片描述

我使用了Neo Sans而不是Neo Sans Std,但想法是一样的。

相关内容