段落はダブルスペース、見出しはシングルスペース

段落はダブルスペース、見出しはシングルスペース

私は「setspace」パッケージを使用して、文書をダブル スペースでフォーマットしています (課題の要件)。ただし、セクション ヘッダーの 1 つが 2 行を占めており、これらのセクション ヘッダーはシングル スペースのほうが見栄えがよいです。私は先に進み、次のように修正しました。

Nunc venenatis nulla eu arcu pellentesque eu molestie nunc condimentum.
Donec sodales lacinia dictum.
Sed aliquam turpis quis enim bibendum pharetra.
This is the last paragraph in section i.

\singlespace
\section{The Next Section Which Has a Fairly Long Name that Stretches Over Two Lines}
\doublespace
This is the first paragraph in section i+1.
Cras ut tortor vel dui ultricies dapibus vitae sit amet nisi.
Aliquam rhoncus leo id eros volutpat faucibus.
Integer lectus elit, varius et semper eget, tristique vel odio.

これは、私の論文の中で見出しに 2 行が必要な唯一のケース (今のところ) なので、このハックで修正するのは大した問題ではありません。ただし、論文が長くなり、セクションが増えるにつれて、このハックを複数回追加するのが面倒になる可能性があると思います。

何か方法はありますか?一度ドキュメント全体にこのハックを複数回追加するのではなく、セクションの見出しは 1 行にし、段落は 2 行にする必要があるということでしょうか?

答え1

あなたはetoolboxセクション単位の直前に挿入するパッケージを追加し\singlespacing、次を追加します\doublespacing

\documentclass{article}
\usepackage{setspace}
\usepackage{etoolbox}

\makeatletter
\pretocmd{\@sect}{\singlespacing}{}{}
\pretocmd{\@ssect}{\singlespacing}{}{}
\apptocmd{\@sect}{\doublespacing}{}{}
\apptocmd{\@ssect}{\doublespacing}{}{}
\makeatother

\doublespacing

\begin{document}

Nunc venenatis nulla eu arcu pellentesque eu molestie nunc condimentum.
Donec sodales lacinia dictum.
Sed aliquam turpis quis enim bibendum pharetra.
This is the last paragraph in section i.

\section{The Next Section Which Has a Fairly Long Name that Stretches Over Two Lines}

This is the first paragraph in section i+1.
Cras ut tortor vel dui ultricies dapibus vitae sit amet nisi.
Aliquam rhoncus leo id eros volutpat faucibus.
Integer lectus elit, varius et semper eget, tristique vel odio.

\end{document}

ここに画像の説明を入力してください

これは\section、、に適用されます\subsection\subsubsection

もう一つの選択肢は、titlesecパッケージ:

\documentclass{article}
\usepackage{setspace}
\usepackage{titlesec}

\titleformat{\section}
{\singlespacing\normalfont\Large\bfseries}{\thesection}{1em}{}
\titleformat{\subsection}
{\singlespacing\normalfont\large\bfseries}{\thesubsection}{1em}{}
\titleformat{\subsubsection}
{\singlespacing\normalfont\normalsize\bfseries}{\thesubsubsection}{1em}{}

\doublespacing

\begin{document}

Nunc venenatis nulla eu arcu pellentesque eu molestie nunc condimentum.
Donec sodales lacinia dictum.
Sed aliquam turpis quis enim bibendum pharetra.
This is the last paragraph in section i.

\section{The Next Section Which Has a Fairly Long Name that Stretches Over Two Lines}

This is the first paragraph in section i+1.
Cras ut tortor vel dui ultricies dapibus vitae sit amet nisi.
Aliquam rhoncus leo id eros volutpat faucibus.
Integer lectus elit, varius et semper eget, tristique vel odio.

\end{document}

または、簡略化された構文を使用します。

\usepackage{titlesec}

\titleformat*{\section}{\normalfont\Large\bfseries\singlespacing}
\titleformat*{\subsection}{\normalfont\large\bfseries\singlespacing}
\titleformat*{\subsubsection}{\normalfont\normalsize\bfseries\singlespacing}

ちなみに、このsetspaceパッケージにはいくつかのコマンドと環境が用意されています。コマンド (スイッチ) は「ing」で終わります: \singlespacing\onehalfspacing\doublespacingですが、環境はsinglespaceonehalfspace、ですdoublespace

\doublespaceare you are doing (スイッチとして) を使用するのは完全に正しいわけではありません。次の簡単なドキュメントをご覧ください。

\documentclass{article}
\usepackage{setspace}

\doublespace

\begin{document}

test

\end{document}

処理されると出力コンソールにメッセージが表示されます

(\end occurred inside a group at level 1)

### semi simple group (level 1) entered at line 4 (\begingroup)

\doublespaceこれは、グループが開始されたが終了していないことを示します(この場合、環境に関連付けられたコマンドによって作成されたグループdoublespace)。スイッチの正しい使用法は次のとおりです。

\documentclass{article}
\usepackage{setspace}

\doublespacing

\begin{document}

test

\end{document}

対応する環境の場合:

\documentclass{article}
\usepackage{setspace}

\begin{document}

\begin{doublespace}
test...
\end{doublespace}

\end{document}

答え2

「標準」ドキュメント クラス (、、)のいずれかarticle、または標準クラスのいずれかに基づくドキュメント クラスが使用されている場合、簡単な解決策は、パッケージをロードして、プリアンブルで命令を発行することです。reportbooksectsty\allsectionsfont{\singlespacing}

MWE (最小限の動作例):

\documentclass{article}
\usepackage{setspace,lipsum}
\doublespacing

\usepackage{sectsty}
\allsectionsfont{\singlespacing}

\begin{document}

\lipsum[1] % filler text

\section{The Next Section Which Has a Fairly Long Name that Stretches Over Two Lines}

\lipsum[2] % more filler text

\end{document}

関連情報