titlesec и отступ
Я использую titlesecпакет для форматирования разделов моей статьи. В принципе, я хочу, чтобы номер раздела был выровнен с левым полем основного текста, а заголовок раздела был выровнен с первой строкой абзаца с отступом, например:
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
Я попробовал несколько решений, подобных следующему, но безуспешно. Спасибо вам за помощь.
\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}
Ответы
Я думаю, что самый простой способ сделать это - указать номер секции фиксированной длины, такой же, как и для определения \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}
Я использовал 1cmвместо 2emустановки \parindent, потому 2emчто длина заголовка раздела не будет такой же, как и в абзаце, поскольку заголовок раздела выделен жирным шрифтом. Использование \titlespacingтолько для автоматического отступа права абзаца после заголовка раздела, длины используются те по умолчанию, принятые в titlesec«s документации .