titleec e indentazione

Oct 02 2020

Sto usando il titlesecpacchetto per formattare le sezioni del mio articolo. Fondamentalmente, vorrei che il numero della sezione fosse allineato con il margine sinistro del testo principale e il titolo della sezione allineato con la prima riga di un paragrafo rientrato, in questo modo:

1.    Section title
      text text text text text text text text text text text text 
text text text text text text text text text text

Ho provato alcune soluzioni come la seguente ma senza fortuna. Grazie per l'aiuto.

\documentclass[a4paper,12pt]{article}
\usepackage[utf8]{inputenc}
\setlength{\parindent}{2em}

\usepackage{titlesec} 
\titleformat{\section}{\normalfont\bfseries}{\thesection.}{\the\parindent}{}

\begin{document}
\section{Section name}
\end{document}

Risposte

1 Vincent Oct 02 2020 at 21:35

Penso che il modo più semplice per farlo sia posizionare il numero di sezione di una lunghezza fissa, lo stesso di quello utilizzato per definire \parindent.

\documentclass[a4paper,12pt]{article}
\usepackage[utf8]{inputenc}
\setlength{\parindent}{1cm}

\usepackage{titlesec} 
\titleformat{\section}{\normalfont\bfseries}{\makebox[1cm][l]{\thesection.}}{0pt}{}
\titlespacing{\section}{0pt}{3.5ex plus 1ex minus .2ex}{2.3ex plus .2ex}

\usepackage{lipsum}

\begin{document}
\section{Section name}
\lipsum[1]
\end{document}

Ho usato 1cminvece di 2emimpostare \parindent, perché 2emnon avrà la stessa lunghezza nel titolo della sezione che nel paragrafo, poiché il titolo della sezione è in grassetto. L'uso di \titlespacingè solo quello di rientrare automaticamente il punto subito dopo il titolo della sezione, le lunghezze utilizzati sono quelli di default, prese in titlesec's documentazione .