我正在尝试修改章节标题,以便在标题较长的情况下,它与文本宽度保持一致。我尝试过类似 的命令\newline
,但这与 的使用相冲突hyperref
。我在下面添加了一个 MWE。
\documentclass[a4paper,12pt]{report}
\usepackage[utf8]{inputenc}
\usepackage[a4paper,top=2.5cm,bottom=3cm,left=3cm,right=3cm]{geometry}
\usepackage{hyperref}
\usepackage{titlesec}
\titleformat{\chapter}{\bfseries\Huge}{\chaptername~\thechapter.}{0.5em}{}
\titlespacing{\chapter}{0pt}{*-3}{*6}
\usepackage{lipsum}
\begin{document}
\chapter{This Chapter Title Is Nottt Aligned}
\lipsum[1-10]
\end{document}
答案1
在\Huge
大小方面,由于以“第 1 章”开头,TeX 很难找到合适的断点。
我建议将标题排版得不正确。
下面同样是两个例子:第二个题目用 来\linebreak
建议一个很好的断点;第三个题目使用\\
,你会看到最终的输出和第一个一样,不需要特殊的标记。
\documentclass[a4paper,12pt]{report}
\usepackage[utf8]{inputenc}
\usepackage[
a4paper,
top=2.5cm,
bottom=3cm,
left=3cm,
right=3cm,
showframe, % to show the page boundaries
]{geometry}
\usepackage{titlesec}
\usepackage{lipsum}
\usepackage{hyperref} % should be last
\titleformat{\chapter}
{\bfseries\Huge\filright}% ragged right
{\chaptername~\thechapter.}
{0.5em}
{}
\titlespacing{\chapter}{0pt}{*-3}{*6}
\begin{document}
\chapter{This Chapter Title Is Nottt Aligned}
\begingroup
\let\clearpage\relax % so we can set the three titles on the same page
% let's use justification by way of example
\titleformat{\chapter}
{\bfseries\Huge}% justified
{\chaptername~\thechapter.}
{0.5em}
{}
\chapter[This Chapter Title Is Nottt Aligned]
{This Chapter Title Is \linebreak Nottt Aligned}
\chapter[This Chapter Title Is Nottt Aligned]
{This Chapter Title Is \\ Nottt Aligned}
\endgroup
\end{document}
\begingroup
和之间的部分\endgroup
只是为了展示例子。
解决这个问题的方法可能有很多种。可能\Huge
太大了。
这是\bfseries\LARGE\filright
这是\Large\scshape\filright
答案2
在这种情况下,我倾向于将章节标题弄得乱七八糟,而不是对齐,因为章节X占用大量空间,标题的剩余空间不多。而且标题中的连字符看起来不太好看。
例如,
\titleformat{\chapter}{\bfseries\Huge\raggedright}{\chaptername~\thechapter.}{0.5em}{}