\section を \parfillskip の影響を受けないようにする

\section を \parfillskip の影響を受けないようにする

段落の最後の行に単語が残らないようにするには、次のように調整しますparfillskip

\parfillskip 0pt plus 0.75\textwidth

これにより段落はより美しくなりますが、以下に示すように、セクションのタイトルも少し長くなります。最初のタイトルはデフォルトの でparfillskip、2 番目のタイトルはです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}}

ドキュメント設定には、フォントスタイル引数に挿入された\renewcommandを含めることができます。\raggedright

\makeatletter
\renewcommand\section{\@startsection {section}{1}{\z@}%
                               {-3.5ex \@plus -1ex \@minus -.2ex}%
                               {2.3ex \@plus.2ex}%
                               {\normalfont\raggedright\Large\bfseries}}

関連情報