Parágrafos com espaçamento duplo, cabeçalhos com espaçamento simples

Parágrafos com espaçamento duplo, cabeçalhos com espaçamento simples

Estou usando o pacote "setspace" para formatar meu documento com espaçamento duplo (requisito para uma tarefa). Porém, um dos meus cabeçalhos de seção ocupa duas linhas e esses cabeçalhos de seção ficam melhores com espaçamento simples. Fui em frente e consertei com o seguinte.

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.

Este é o único caso (até agora) no meu artigo em que o título requer duas linhas, então não é grande coisa consertar isso com este hack. No entanto, posso imaginar que à medida que o artigo fica mais longo e tem mais seções, pode se tornar mais tedioso adicionar esse hack várias vezes.

Existe alguma maneira que eu possa indicaruma vezque os títulos das seções devem ter espaçamento simples e os parágrafos devem ter espaçamento duplo, em vez de adicionar esse hack várias vezes ao longo do meu documento?

Responder1

Você pode usar oetoolboxpacote para inserir \singlespacinglogo antes das unidades seccionais e, em seguida, anexar \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}

insira a descrição da imagem aqui

Isso se aplicará a \section, \subsection, \subsubsection.

Outra opção é usar otitlesecpacote:

\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}

Ou, usando a sintaxe reduzida:

\usepackage{titlesec}

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

A propósito, o setspacepacote fornece diversos comandos e ambientes; os comandos (switches) terminam em "ing": \singlespacing, \onehalfspacing, \doublespacing, enquanto os ambientes são singlespace, onehalfspace, doublespace.

Usar \doublespaceo que você está fazendo (como uma opção) não é totalmente correto; o seguinte documento simples:

\documentclass{article}
\usepackage{setspace}

\doublespace

\begin{document}

test

\end{document}

quando processado mostrará no console de saída uma mensagem

(\end occurred inside a group at level 1)

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

que indica que um grupo começou mas nunca terminou (neste caso, o grupo criado pelo \doublespacecomando associado ao ambiente doublespace). A forma correta de usar o switch é

\documentclass{article}
\usepackage{setspace}

\doublespacing

\begin{document}

test

\end{document}

e, para o ambiente correspondente:

\documentclass{article}
\usepackage{setspace}

\begin{document}

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

\end{document}

Responder2

Se uma das classes de documento "padrão" -- article, report, e book-- ou uma classe de documento baseada em uma das classes padrão estiver em uso, uma solução simples consiste em carregar o sectstypacote e emitir a instrução \allsectionsfont{\singlespacing}no preâmbulo.

Um MWE (exemplo mínimo de trabalho):

\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}

informação relacionada