自定义字体 (.otf) 未应用于页眉和标题

自定义字体 (.otf) 未应用于页眉和标题

我正在尝试在正在构建的模板文档中使用自定义字体(.otf 文件)。我寻找了不同的方法,目前正在使用 XeLatex 编译器创建新的字体系列,并尝试将其应用于我的整个文档(这是我的目标,不只是将它用于某个部分,而是整个文档)。

我得到的代码和输出是:

...

\usepackage{fontspec}
\newfontfamily\coolfont[Path=config/CoolFont/,
  Extension=.otf,
  UprightFont=*-Regular,
  ItalicFont=*-RegularItalic,
  BoldFont=*-Bold,
  BoldItalicFont=*-BoldItalic
]{CoolFont}
...

\begin{document}
\coolfont
    
...
\end{document}

输出

我的问题是,节标题和图片标题不是我选择的字体(正文看起来不错,也正确地应用了粗体和斜体)。页码、表格标题等也会出现这种情况。我也尝试\coolfont在序言中调用,结果却出错了,我尝试使用\setmainfont,但这甚至没有改变正文字体。

使用自定义字体文件为整个文档设置字体的最佳方法是什么?(我在这个项目中使用 Overleaf)

十分感谢你的帮助!

编辑:

以下是我尝试使其与 一起工作的失败尝试\setmainfont,同时尝试保留我已经在文档中使用的大多数配置。

%  -----------------------------  PREAMBLE  -----------------------------
\documentclass[12pt]{article}

\usepackage[utf8]{inputenc}
\usepackage{hyperref}
\usepackage{epsfig, url}
\usepackage{epstopdf}
\usepackage{graphicx}
\usepackage{datetime}
\usepackage{multirow}
\usepackage{indentfirst}
\usepackage{amssymb}
\usepackage{geometry}
\geometry{a4paper}
\usepackage{tikz}
\usetikzlibrary{calc}
\usepackage{newtxtext}
\usepackage{float}
\usepackage{titling}
\usepackage{xcolor}

\usepackage{fontspec}
\usepackage{titlesec}

\setmainfont[Path=config/CoolFont/,
  Extension=.otf,
  UprightFont=*-Regular,
  ItalicFont=*-RegularItalic,
  BoldFont=*-Bold,
  BoldItalicFont=*-BoldItalic
]{CoolFont}

%  ------------------------- DOCUMENT START -------------------------
\begin{document}
\section{The quick brown fox jumps over the lazy dog}
\label{intro}

The quick brown fox jumps over the lazy dog. 0123456789
\textbf{The quick brown fox jumps over the lazy dog. 0123456789}
\textit{The quick brown fox jumps over the lazy dog. 0123456789}
\textit{\textbf{The quick brown fox jumps over the lazy dog. 0123456789}}

\begin{figure}[hbt!]
    \centering
    \includegraphics[scale=0.1, angle=0]{imagens/image.png}
    \caption{The quick brown fox jumps over the lazy dog}
    \label{fig:image}
\end{figure}

\end{document}

答案1

在评论中一位用户的指导下,我最终自己解决了这个问题。

问题在于使用该newtxtext软件包的同时尝试使用该命令\setmainfont并使用软件包加载自定义字体fontspec。我还测试了如果我使用\setmainfont非自定义字体,问题是否仍然存在,结果确实如此。我不确定如何newtxtext覆盖该设置,但字体已恢复为默认设置。

简而言之,来自@MarcelKrüger:

如果不更改主字体系列而仅创建新系列,则明确选择字体系列的所有内容都将覆盖它。

这就是为什么最初字体没有应用于标题和标题的原因。其次,\setmainfont在导入包时不起作用newtxtext

相关内容