我面临的问题如下。对于一篇论文,我需要将字体类型设置为特定的类型,因此我决定使用 Lualatex。使用我修改过的给定模板。它没有抛出任何错误并且编译良好,但 /setmainfont 中的更改根本没有任何效果。认为可能有东西覆盖了它,因此将 setter 放置在声明的末尾,但这也无济于事。
例如,为了轻松确定它是否有效果,尝试将其设置为 Comic Sans MS
% !TeX program = lualatex
% !TeX TXS-program:bibliography = txs:///biber
%!TeX encoding = UTF-8 Unicode
\documentclass[%
draft=false,%
paper=a4,%
fontsize=12pt,%
pagesize=auto,%pdftex,%
twoside=false,%
headings=small,openany,%
chapterprefix=false,%
version=last,%
titlepage=true,%
parskip=half+,%
mpinclude=false,%
headsepline=true,%
toc=bibliography,%
toc=index,%
numbers=noendperiod%
]{scrbook}
\usepackage{scrlayer-scrpage}
\pagestyle{scrheadings}
\ohead[]{\pagemark}
\chead{}
\ihead{\headmark}
\ofoot[]{}
\cfoot[]{}
\automark[chapter]{chapter}
\automark*[section]{}
\renewcommand*{\chapterpagestyle}{scrheadings}
\usepackage[left=3.5cm,right=2.5cm,top=2cm,bottom=2cm,includeheadfoot]{geometry}
\usepackage[onehalfspacing]{setspace}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[full]{textcomp}
\usepackage{newtxtext,newtxmath,newtxtt}
\usepackage{fixltx2e}
\usepackage[babel]{microtype}
\usepackage{ellipsis}
\clubpenalty = 10000
\widowpenalty = 10000
\displaywidowpenalty = 10000
\usepackage[autostyle,babel,german=guillemets,style=german]{csquotes}
\usepackage[USenglish,ngerman]{babel}
\selectlanguage{ngerman}
\setkomafont{sectioning}{\rmfamily\bfseries}
\setkomafont{title}{\normalfont\rmfamily}
\setkomafont{descriptionlabel}{\rmfamily}
\setkomafont{caption}{\small\itshape}
\setkomafont{pageheadfoot}{\normalfont\normalcolor\footnotesize}
\setcounter{secnumdepth}{4}
\setcounter{tocdepth}{4}
\setcaptionalignment{c}
\setcapindent{0pt}
\usepackage{polyglossia}
\setmainlanguage{german}
\usepackage[%
backend=biber,%
style=apa7,%
bibstyle=authoryear,%
citestyle=authoryear,%
natbib=false,%
sorting=anyt,%
sortcites=true,%
hyperref=auto,%
maxnames=3,%
isbn=false,%
url=false,%
maxbibnames=99,%
minnames=1,%
dashed=false%
]{biblatex}
\bibliography{bib}
\setlength{\bibitemsep}{1em}
\usepackage{pdfpages}
\usepackage{hyperref}
\urlstyle{rm}
\usepackage{color}
\definecolor{darkblue}{rgb}{0,0,.5}
\hypersetup{%
pdfauthor={Author},%
pdfstartview=FitH,%
pdfpagelayout=OneColumn,%
naturalnames=true,%
colorlinks=true,%
breaklinks=true,%
linkcolor=blue,%
citecolor=black,%
filecolor=black,%
urlcolor=black}
\newcommand{\meta}[1]{\texttt{#1}}
\newcommand{\fat}[1]{\textbf{#1}}
\newcommand{\product}[1]{\textsc{#1}}
\usepackage{graphicx}
\graphicspath{/img}
\usepackage{booktabs}
\usepackage{enumerate}
\usepackage{varioref}
\newcommand{\verylongpage}{\enlargethispage{2\baselineskip}}
\usepackage[ngerman=ngerman-x-latest]{hyphsubst}
\hyphenation{}
\usepackage{xspace}
\newenvironment{myquote}{\begin{quote} \small}{\end{quote}}
\renewcommand\uppertitleback[1]{\thispagestyle{empty}#1\vfill}
\renewcommand\lowertitleback[1]{#1}
\usepackage{color}
\definecolor{shadecolor}{gray}{.70}
\usepackage[framemethod=TikZ]{mdframed}
\usepackage{xcolor}
\definecolor{light-gray}{gray}{0.85}
\newmdenv[%
backgroundcolor=light-gray,
linecolor=light-gray,
skipabove=1\baselineskip,
skipbelow=1\baselineskip,
]{shaded}
\newmdenv[%
linecolor=black,
outerlinewidth=1pt,
skipabove=1\baselineskip,
skipbelow=1\baselineskip,
]{syntax}
\DefineBibliographyStrings{ngerman}{andothers={et\addabbrvspace al\adddot}}
\usepackage{fontspec}
% \setmainfont{Times New Roman}
\setmainfont{Comic Sans MS}
\setsansfont{Arial}
\setmonofont{Courier New}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{document}
如果有人知道为什么它没有效果以及如何解决这个问题,我会很高兴:)
答案1
总结一下之前的评论:您必须删除——或者注释掉——以下代码块:
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[full]{textcomp}
\usepackage{newtxtext,newtxmath,newtxtt}
使用 LuaLaTeX 或 XeLaTeX 编译文档时,不应加载 、 和 包。并且,inputenc
通过fontenc
加载、和,textcomp
newtxtext
newtxmath
newtxtt
)——前加载所有重要的fontspec
包,您会抑制后续指令的正常运行\set[main/sans/mono/]font
。
顺便问一下,您的文档中没有数学材料吗?如果有,您可能需要 (a) 加载unicode-math
包而不是fontspec
包,并且 (b) 发出合适的\setmathfont
指令。话虽如此,我想不出一种可以与 很好地混合搭配的体面数学字体Comic Sans
。:-)
babel
一些额外的评论,无特定顺序:同时加载和不是一个好主意polyglossia
。不要多次加载包(参见“color”和“xcolor”)。\bibliography{bib}
已弃用;请写入\addbibresource{bib.bib}
;文件扩展名是强制性的。确保加载xurl
包以允许在 URL 字符串中的任意位置换行。我会使用包enumitem
,而不是enumerate
包,来自定义列表类环境的属性。