雙倍行距段落,單倍行距標題

雙倍行距段落,單倍行距標題

我正在使用“setspace”套件以雙倍間距格式化我的文件(作業的要求)。不過,我的一個節標題佔用了兩行,而這些節標題使用單行距看起來更好。我繼續並用以下內容修復了它。

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.

這是我的論文中標題需要兩行的唯一情況(到目前為止),所以用這個 hack 修復它並不是什麼大問題。然而,我可以想像,隨著論文變得更長並且包含更多章節,多次添加此技巧可能會變得更加乏味。

有什麼辦法可以指出嗎一次章節標題應該是單倍行距,段落應該是雙倍行距,而不是在整個文件中多次添加此技巧?

答案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

使用\doublespaceare you are moving (作為開關)並不完全正確;以下簡單文件:

\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

如果正在使用「標準」文檔類之一(articlereportbook)或基於其中一個標準類的文檔類,則一種簡單的解決方案包括載入包並發出序言中的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}

相關內容