
私は「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
ですが、環境はsinglespace
、onehalfspace
、ですdoublespace
。
\doublespace
are 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
、または標準クラスのいずれかに基づくドキュメント クラスが使用されている場合、簡単な解決策は、パッケージをロードして、プリアンブルで命令を発行することです。report
book
sectsty
\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}