我正在使用 Latex 以匈牙利语撰写我的论文,因此我在序言中包括了以下内容:
\usepackage[magyar]{babel}
加载完成后,我得到匈牙利语的“章节”、“图形”等,并带有匹配的字体。
我想在章节、节和小节标题中使用无衬线字体。为了实现这一点,我使用了sectsty
如下设置的包:
\usepackage{sectsty}
\chapterfont{\usefont{T1}{qhv}{b}{n}\selectfont\huge}
\sectionfont{\usefont{T1}{qhv}{b}{n}\selectfont\LARGE}
\subsectionfont{\usefont{T1}{qhv}{b}{n}\selectfont\Large}
LaTeX 正确地设置了中的章节和小节TeX Gyre
,但章节标题保持不变,而未编号的章节(\chapter*{...}
)则按预期发生了更改。
例子:
尽管
我怀疑冲突是由引起的babel
,它以某种方式重新定义了章节标题,sectsty
但无法处理。
有人知道如何管理吗?我试过 titlesec,但它的行为方式相同。
谢谢你!
编辑:
我创建了一个包含每个相关包的简短文档来重现该问题:
\documentclass[a4paper]{report}
\usepackage[magyar]{babel}
\usepackage[utf8]{inputenc}
\usepackage{t1enc}
\usepackage{blindtext}
\usepackage{sectsty}
\chapterfont{\usefont{T1}{qhv}{b}{n}\selectfont\huge}
\sectionfont{\usefont{T1}{qhv}{b}{n}\selectfont\LARGE}
\subsectionfont{\usefont{T1}{qhv}{b}{n}\selectfont\Large}
\begin{document}
\chapter{Example chapter} %% this one is not working correctly
\blindtext
\section{Example section}
\blindtext
\subsection{Example subsection}
\blindtext
\chapter*{Example unnumbered chapter}
\blindtext
\end{document}
如果我注释掉babel
,sectsty
虽然可以按预期工作,但显然会失去本地化。
答案1
该magyar
选项会主动更改 的代码以\@chapter
反映类中的原始代码,并忽略 的设置sectsty
。它对 不做任何操作\@schapter
,这就是您在未编号的章节中看到无衬线字体的原因。
改用titlesec
:
\documentclass[a4paper]{report}
\usepackage[sf,bf]{titlesec}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\newcommand\magyarOptions{chapterhead=unchanged}
\usepackage[magyar]{babel}
\usepackage{blindtext}
\renewcommand{\sfdefault}{qhv}
\titleformat{\chapter}[display]
{\sffamily\bfseries\huge}
{\thechapter. \chaptername}
{20pt}
{}
\begin{document}
\chapter{Example chapter} %% this one is not working correctly
\blindtext
\section{Example section}
\blindtext
\subsection{Example subsection}
\blindtext
\chapter*{Example unnumbered chapter}
\blindtext
\end{document}
答案2
使用\def\magyarOptions{chapterhead=unchanged}
前\usepackage[magyar]{babel}
代码:
\documentclass[a4paper]{report}
\def\magyarOptions{chapterhead=unchanged}
\usepackage[magyar]{babel}
\usepackage[utf8]{inputenc}
\usepackage{t1enc}
\usepackage{blindtext}
\usepackage{sectsty}
\chapterfont{\usefont{T1}{qhv}{b}{n}\selectfont\huge}
\sectionfont{\usefont{T1}{qhv}{b}{n}\selectfont\LARGE}
\subsectionfont{\usefont{T1}{qhv}{b}{n}\selectfont\Large}
\begin{document}
\chapter{Example chapter} %% this one is not working correctly
\blindtext
\section{Example section}
\blindtext
\subsection{Example subsection}
\blindtext
\chapter*{Example unnumbered chapter}
\blindtext
\end{document}
答案3
这是一个解决方案
\documentclass[a4paper]{report}
\usepackage[utf8]{inputenc}
\usepackage{t1enc}
\usepackage[magyar]{babel}
\usepackage{blindtext}
\usepackage{sectsty}
\chapterfont{\usefont{T1}{qhv}{b}{n}\selectfont\huge}
\sectionfont{\usefont{T1}{qhv}{b}{n}\selectfont\LARGE}
\subsectionfont{\usefont{T1}{qhv}{b}{n}\selectfont\Large}
\makeatletter
\let\mt@makechapterhead\@makechapterhead
\makeatother
\begin{document}
\makeatletter
\let\@makechapterhead\mt@makechapterhead
\makeatother
\chapter{Example chapter} %% this one is not working correctly
\blindtext
\section{Example section}
\blindtext
\subsection{Example subsection}
\blindtext
\chapter*{Example unnumbered chapter}
\blindtext
\end{document}