LINUX.ORG.RU

LaTeX, отступ первой строки в названии главы :)

 


0

1

Друзья, нормоконтроллер хочет крови. Ему надо, чтобы название главы, которое состоит из порядка трех строк (ну, вот оно длинное такое) имело отступ первой строки = parindent, а две других строки были бы без отступа. Т.е. как в тексте, в абзаце это происходит - первая строка с абзацным отступом, остальные просто по ширине текста. Если такое возможно, подскажите как. Я знаю, как двигать все название главы влево-вправо, нов от сделать отступ первой строки - хз...

★★★

Впихни пустой \box{1.5cm}, кажется так делается, точно не помню.

UPD: Или поищи про фантомные символы, недавно где-то читал, но не запомнил как делается. Просто вставь в начале что-нибудь, что не будет отображаться, а будет просто занимать место.

UPD: UPD: А чтобы была нумерация, сделай так:


\section*{\box{1.5cm}1.Блаблабла}
\addcontentsline{toc}{section}{1.Блаблабла}
[\code]

Смысл думаю понятен.
ErasimHolmogorin
()
Последнее исправление: ErasimHolmogorin (всего исправлений: 2)
Ответ на: комментарий от ErasimHolmogorin

Не, нумеровать главы руками - это не вариант. Они нумеруются автоматом, а если вставлять пустое пространство перед названием, то, этот отступ будет от номера главы, что не айс совсем.

KOPEHb ★★★
() автор топика
Ответ на: комментарий от Evgueni

Вечер у нас уже, да и давно я костылями не пользовался и по забывал что там и как) Да, hspace, vspace — дурья моя голова.

ErasimHolmogorin
()

Переопределить \chapter. Что-то вроде

\def\chapter{\clearpage\secdef\@chapter\@schapter}
\def\@makechapterhead#1{{\normalfont\bfseries\indent\@chapapp\space%
    \thechapter.\space#1\vskip 10\p@}}
\def\@makeschapterhead#1{{\normalfont\bfseries\indent#1\vskip 10\p@}}

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от ErasimHolmogorin

Там нет такого понятие, как параграф с отступом, то есть заголовок формируется как таблица, где в одной колонке номер главы (метку можно сформировать через \titlelabel ), а в другой текст.

Так что либо руками — либо свои команды городить. Никто же не мешает определить свою команду, которая будет вставлять сформированную запись через \section* , добавлять в оглавление \addcontentsline и добавлять счётчику разделов единичку.

Evgueni ★★★★★
()
Ответ на: комментарий от Evgueni

Если требование только к главам, то никто не мешает взять какой-нибудь fncychap и изкорёжить его под свои нужды.

Evgueni ★★★★★
()
Ответ на: комментарий от KOPEHb

Взял это в стандартном book.cls. Делал для диссертации оформление когда-то. Для секций тоже менял все:

\def\section{\@dblarg\@section}
\def\@section[#1]#2{\refstepcounter{section}%
        \vspace{28pt plus 1cm minus 7pt}\par\pagebreak[3]%
        \hangindent=\parindent
        {\nobreak\noindent\hspace*{\hangindent}\raggedright\bf
        \llap{\thesection\space}\lowercase{#2}}%
        \addcontentsline{toc}{section}{\thesection\space #1}\par\nobreak}
\renewcommand{\subsection}[1]{\refstepcounter{subsection}
        \vspace{14pt plus 7pt minus 3pt}\nobreak\par%\pagebreak[1]%
        {\bf\thesubsection\space #1}%
        \addcontentsline{toc}{subsection}{\thesubsection\space #1}%
        \par\nobreak}
\renewcommand{\subsubsection}[1]{
        \relax\par\pagebreak[1]
        {\bf #1}\par\nobreak}

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Eddy_Em

Не, не выходит каменная чаша. Видимо я туп для этого. Вот как у меня определена section сейчас:

\makeatletter
\renewcommand\section{
\@startsection {section}{1}{\parindent}{\z@}%
{2ex \@plus.2ex}%
{\hyphenpenalty=10000\normalfont\normalsize
\vspace{4ex}
\MakeUppercase}
}
\makeatother
Что необходимо изменить, чтобы первая строка в названии раздела была смещена на parindent?

KOPEHb ★★★
() автор топика
Ответ на: комментарий от KOPEHb

Читать документацию на \@startsection, либо сделать, как в моем примере.

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от KOPEHb
\makeatletter
\renewcommand\section{\@startsection{section}{1}{\parindent}%
{-3.5ex \@plus -1ex \@minus -.2ex}%
{2.3ex \@plus.2ex}%
{\normalfont\Large\bfseries}}
\makeatother
anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.