為了避免段落最後一行出現寡字,我調整parfillskip
:
\parfillskip 0pt plus 0.75\textwidth
雖然這提供了更好的段落,但它也稍微拉伸了部分標題,如下所示。第一個標題是預設的parfillskip
,第二個標題是0pt plus 0.75\textwidth
:
如何保留parfillskip
段落設置,而不保留標題設置?
此程式碼展示了文字和標題的效果(預覽):
\documentclass{article}
\usepackage{lipsum}
\begin{document}
\section{This is a section title}
\lipsum[1]
\section{This is a section title}
% Fill the last line of paragraphs for minimum 25%
\parfillskip 0pt plus 0.75\textwidth
\section{This is a section title}
\lipsum[1]
\end{document}
答案1
章節標題由 排版\@sect
,它很樂意將相關部分包含在一個群組中。最後它添加了\@@par
,這是原始的\par
。
因此我們可以安全地修補\@sect
(對於編號部分)和\@ssect
(對於未編號部分):
\documentclass{article}
\usepackage{etoolbox}
\makeatletter
\patchcmd{\@sect}{\begingroup}{\begingroup\parfillskip=0pt plus 1fil\relax}{}{}
\patchcmd{\@ssect}{\begingroup}{\begingroup\parfillskip=0pt plus 1fil\relax}{}{}
\makeatother
\usepackage{lipsum}
\begin{document}
\section{This is a section title}
\lipsum[1]
% Fill the last line of paragraphs for minimum 25%
\parfillskip 0pt plus 0.75\textwidth
\section{This is a section title}
\lipsum[1]
\end{document}
答案2
對於該類memoir
,只需添加到序言中即可:
\setsecheadstyle{\Large\parfillskip=0pt plus 1fil}
答案3
由於節標題在任何情況下都不應該採用右對齊邊距的格式(儘管預設文檔類別正是這樣做的),因此您應該\raggedright
在節的定義中聲明;一旦你這樣做了,一切\parfillskip
就變得無關緊要了。
根據需要定義分段:
- 與回憶錄或科馬或其他不錯的文件類;
- 使用像 titlesec 這樣的套件或類似的套件;
- 使用標準文檔類別的分段
\@startsection
- 或者,最黑客的補丁命令,例如
\@sect
例如,基本的“文章”類別使用
\newcommand\section{\@startsection {section}{1}{\z@}%
{-3.5ex \@plus -1ex \@minus -.2ex}%
{2.3ex \@plus.2ex}%
{\normalfont\Large\bfseries}}
因此文件設定可以包括在 font-style 參數中插入的\renewcommand
內容\raggedright
\makeatletter
\renewcommand\section{\@startsection {section}{1}{\z@}%
{-3.5ex \@plus -1ex \@minus -.2ex}%
{2.3ex \@plus.2ex}%
{\normalfont\raggedright\Large\bfseries}}