LINUX.ORG.RU

Чудеса с tocloft

 


0

1

Захотелось тут у себя формат оглавления слегка подправить, подключил сей воистину чудный пакет, поменял шрифт заголовка(\cfttoctitlefont), а он в довесок еще убрал колонтитулы на странице оглавления. Как его отучить так делать?

★★★★

Последнее исправление: HerrWeigel (всего исправлений: 1)

Давай минимальный пример, пожалуйста, в следующий раз. Если я тебя правильно понял, то вот примерно так:

\tableofcontents
\addtocontents{toc}{~\hfill\textbf{Страница}\par}
hope13 ★★★
()
Ответ на: комментарий от hope13

Давай минимальный пример, пожалуйста, в следующий раз.

Упс, извиняюсь, ночью уже совсем не соображал. И, кстати, действительно не соображал. Сейчас посмотрел еще раз, колонтитулы на странице с оглавлением не удаляются, а просто сбрасываются на стандартные. На всех остальных страницах (ни до, ни после оглавления) ничего не меняется.

\documentclass{scrartcl}
\usepackage{tocloft}

\makeatletter    
    \let\@oddfoot\@empty
\makeatother

\begin{document}
    \section{God} % (fold)
    \label{sec:God}
    bless you.
    % section God (end)
    \newpage
    \tableofcontents
\end{document}

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

Если колонтитулы не убираются, тогда в чём проблема? У меня результат одинаковый как с tocloft, так и без него. Опиши словами желаемый результат.

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

Если колонтитулы не убираются, тогда в чём проблема?

Проблема в том, что мне нужны кастомные колонтитулы.

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

Объясни как они должны выглядеть, - попытаюсь сделать.

Вместо тысячи слов. Это верхний колонтитул, снизу ничего нет. Сверху номер страницы.

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

А вообще, чего я тебе картинку кинул?

\makeatletter    
    \renewcommand{\@oddhead}{\vbox{\hbox to \textwidth%
        {\hfil \thepage\hfil\strut}\hbox to \textwidth%
            {\hfil \doctype{#1}\hfil\strut}}
    }
\let\@oddfoot\@empty
\makeatother

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

Это не проблема. Почитай книжечку по латеху!

Вот так, например, у меня колонтитулы задаются:

\def\FDL{\gdef\@FDL{}}
\renewcommand{\@evenhead}{\vbox{\hbox to \textwidth%
        {\hfil\leftmark\strut}\hrule}}
\renewcommand{\@oddhead}{\vbox{\hbox to \textwidth%
        {\rightmark\hfil\strut}\hrule}}
\renewcommand{\@evenfoot}%
        {\thepage\hfil\hbox to 0pt{\hss\ifx\@FDL\@undefined\vbox{\hrule\hbox{
        \strut\copyright\; Емельянов Э.В., \number\year}}\else\small\sl Данный
        документ распространяется на основе лицензии FDL\fi}}
\renewcommand{\@oddfoot}%
        {\hbox to 0pt{\ifx\@FDL\@undefined\vbox{\hrule\hbox{
        \strut\copyright\; Емельянов Э.В., \number\year}}\else\small\sl Данный
        документ распространяется на основе лицензии FDL\fi}\hfil\thepage}
\newcommand{\nofoot}{\renewcommand{\@oddfoot}{\vbox{\hbox to\textwidth{\hfil\thepage}}}%
        \renewcommand{\@evenfoot}{\vbox{\hbox to\textwidth{\thepage\hfil}}}}
\newcommand{\nocolon}{
        \renewcommand{\@oddhead}{}\renewcommand{\@evenhead}{}
        \renewcommand{\@oddfoot}{\vbox{\hbox to \textwidth{\hfil\thepage\hfil}}}
        \renewcommand{\@evenfoot}{\vbox{\hbox to \textwidth{\hfil\thepage\hfil}}}
}
\newcommand{\disscol}{%
        \renewcommand{\@oddhead}{\vbox{\hbox to \textwidth{\hfil\thepage\hfil}}}
        \renewcommand{\@evenhead}{\vbox{\hbox to \textwidth{\hfil\thepage\hfil}}}
        \renewcommand{\@oddfoot}{}
        \renewcommand{\@evenfoot}{}}

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

Я выше показал, как у меня сделано. Проблема в том, что заданный мной колонтитул заменяется стандартным (но только на странице с оглавлением) при подключении пакета tocloft. Или у тебя это подавляется?

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

Я не пользуюсь tocloft

Эх, беда. А не знаешь, что еще есть для настройки оглавления? Мне нужно убрать жирные шрифты у заголовков уровня \section, добавлять точку после номеров разделов и \contentsname выравнивать по центру.

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

А не знаешь, что еще есть для настройки оглавления?

Руки. Вручную все делаю.

Вот, например, в классе article (/usr/share/texmf-dist/tex/latex/base/article.cls) \section определяется так:

\newcommand\section{\@startsection {section}{1}{\z@}%
                                   {-3.5ex \@plus -1ex \@minus -.2ex}%
                                   {2.3ex \@plus.2ex}%
                                   {\normalfont\Large\bfseries}}
Посмотреть, что означают аргументы \@startsection, можно в /usr/share/texmf-dist/tex/latex/base/latex.ltx. А вообще, можно и догадаться, что для отмены жирного надо сделать так:
\newcommand\section{\@startsection {section}{1}{\z@}%
                                   {-3.5ex \@plus -1ex \@minus -.2ex}%
                                   {2.3ex \@plus.2ex}%
                                   {\normalfont\Large}}

Можно еще по-другому сделать. Я, например, для оформления заголовков в диссере делал так:

\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}
\def\chapter{\clearpage\secdef\@chapter\@schapter}
\def\@makechapterhead#1{%
    {\normalfont
\bfseries\begin{center}\lowercase{\@chapapp}\space
    \thechapter\end{center}\par\nobreak
   \begin{center}\lowercase{#1}\end{center}\par\nobreak\vskip 10\p@}}
\def\@makeschapterhead#1{%
    {\raggedright \normalfont \bfseries
    \begin{center}\lowercase{#1}\end{center}\par\nobreak\vskip 10\p@}}
и т.д.



P.S. А если хочешь tocloft использовать, читай документацию и исходники этого пакета. Можно сразу с исходников начать.

Eddy_Em ☆☆☆☆☆
()
Последнее исправление: Eddy_Em (всего исправлений: 1)
Ответ на: комментарий от Eddy_Em

Руки. Вручную все делаю.

Ясно. Жаль только времени как всегда.

Ты, меня, кстати, не так понял. Я имел в виду шрифты в оглавлении. С шрифтами в тексте все просто.

P.S. А если хочешь tocloft использовать, читай документацию и исходники этого пакета. Можно сразу с исходников начать.

Читал документацию, там про такие артефакты ничего не сказано.

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

Я имел в виду шрифты в оглавлении

За это отвечает \addcontentsline, ну и глубже можно покопать. Или же почитать документацию tocloft.

Читал документацию, там про такие артефакты ничего не сказано.

Тогда — исходники.

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