LINUX.ORG.RU

Titlesec неосилил

 


0

1

Сделал я тут шаблон для лаб себе по вузовскому вордовому шаблону в православном латехе. Заголовки разделов надо было оформить кошерно. Сделал я так:

\usepackage {titlesec}			% Форматирование заголовков
% разделов

\titleformat
	{\section}
	[display]
	{\normalfont\bfseries}
	{ \thesection.}{}{}
\titlespacing
	{\section}
	{\parindent}
	{4ex}
	{0pt}

Поскольку они не должны были нумероваться, то использовал \section*

Проблема вылезла тогда, когда решил использовать \subsection: выглядит выше чем раздел, счетчик с 0.1. идет. Ну, ладно, окей, сделаю для него формат:

\titleformat
	{\subsection}
	[display]
	{\normalfont\bfseries}
	{\thesubsection.}{}{}
\titlespacing
	{\section}
	{\parindent}
	{6ex}
	{0pt}

На что получил уйму ругани:

Missing number, treated as zero. \subsection{Введение}
Missing number, treated as zero. \subsection{Введение}
Illegal unit of measure (pt inserted). \subsection{Введение}

Ладно, может проблема в стандартном счетчике и я просто не понимаю как работает label? (да)

Добавляю:

\renewcommand\thesubsection{\arabic{subsection}}

Ругань та же, счетчик есть, заголовок переносится на другую строку от счетчика. ЧЯДНТ? Почему точка не ставится, хотя в label параметре после \thesection. точка стоит?

Сам спросил, сам осилил: из дока по titlesec:

\titleformat{<command>}[<shape>]{<format>}{<label>}{<sep>}{<before-code>}[<after-code>]

<sep> is the horizontal separation between label and title body and must be a length (it must not be empty).

У меня же было пусто. А когда я писал этот шаблон давно, то \section* меток (нумерации) не имели и все было хорошо.

Кроме того, для секций надо использовать в <shape> параметр hang, а не display, который переносит название на другую от метки строку; это используется для заголовков глав.

JAkutenshi ★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.