LINUX.ORG.RU

tex оформление оглавления

 ,


0

1

Добрый день! Помогите пожалуйста с оглавлением! Не могу вывести содержание так, что-бы 1) не было больших отступов у подпунктов 2) написание было более слитным (то есть не было расстояния между строками) 3) что-бы капслок разделов «ВВЕДЕНИЕ» и «СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ» был отключен (именно в содержании). То есть вот что у меня есть: http://s018.radikal.ru/i527/1506/05/e084f04b815b.png А вот что идеал который я хочу: http://s42.radikal.ru/i097/1506/18/47f44cdb125a.png



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

По 1) и 2) не подскажу пока.

3) :

chapter*{ВВЕДЕНИЕ}
addcontentsline{toc}{chapter}{Введение}

<...>

chapter*{СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ}
addcontentsline{toc}{chapter}{Список использованных источников}

Это самое очевидное, что могу предложить.

kachsheev ★★★
()
Ответ на: комментарий от SystemD-hater

погуглил. Подскажите. Я использую шаблон

\documentclass[%
bachelor,       % тип документа
natbib,         % использовать пакет natbib для "сжатия" цитирований
subf,           % использовать пакет subcaption для вложенной нумерации рисунков
href,           % использовать пакет hyperref для создания гиперссылок
colorlinks=true % цветные гиперссылки
%,fixint=false  % отключить прямые знаки интегралов
,times         % шрифт Times как основной
]{disser}

почему если вставить

\usepackage{tocloft}% http://ctan.org/pkg/tocloft
\setlength{\cftsubsecnumwidth}{4em}% Set length of number width in ToC for \subsection
\makeatother
\begin{document}
\tableofcontents
\section{This is a section}
\subsection{This is a subsection}
\setcounter{subsection}{999}
\subsection{This is another subsection}
\end{document}

То вылазит ошибка:

\if@cftsubfigopt\else
  \newcounter{lofdepth}\setcounter{lofdepth}{1}
  \newcounter{lotdepth}\setcounter{lotdepth}{1}
\fi

Вроде здесь её решили: http://www.latex-community.org/forum/viewtopic.php?f=5&t=18016 и здесь http://tex.stackexchange.com/questions/123124/order-of-packages-svg-and-tocloft но я не понял как. От последнего варианта по второй ссылке комп зависает

illuminates
() автор топика

Если нужно более точно параметры выставить параметры отображения, то проще всего переопределить стандартные латеховые команды, как например тут.

Если использовать такой код в преамбуле, то нужно обернуть в \makeatletter \makeatother.

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

обернул так:

\makeatletter \usepackage{tocloft}% http://ctan.org/pkg/tocloft \setlength{\cftsubsecnumwidth}{4em}% Set length of number width in ToC for \subsection \makeatother

вылазит та же ошибка

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

спасибо. но СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ не катит. И в оглавлении и так появляется ещё слово «литература»

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

так: \addcontentsline{toc}{chapter}{Список использованных источников} \def\bibname{\normalsize СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ} тоже не катит

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

Я так и не понял, что нужно. Но \bibname переопределяется так:

If you load babel you can use the command above but only in the document body. To redefine in the header you must use:

\addto\captions<languagename>{\renewcommand\bibname{References}}

http://tex.stackexchange.com/a/27599

SystemD-hater
()
Ответ на: комментарий от illuminates

почему если вставить
Set length of number width in ToC for \subsection

Зачем вы полезли в вопрос, в котором спрашивают как изменить ширину номера разделов в содержании? (и ещё зачем-то пишут \makeatother)

Вот тут подробно написано что и как делать с отступами http://tex.stackexchange.com/a/50472

Вроде здесь её решили

\usepackage[[b]subfigure[/b]]]{tocloft}

комп зависает

Ну я уже не знаю что сказать.

SystemD-hater
()
Ответ на: комментарий от illuminates

а можите объяснить для тупых, где в "https://github.com/figec/ruost/blob/master/ruost.cls#L327" нужная строка?

Там целый блок кода. Советую прочитать хоть какую-нибудь начального уровня книжку, чтобы таких вопросов не возникало.

Вот минимальный рабочий пример. Результат будет такой: http://i.imgur.com/zeOuZml.png

\documentclass[a4paper]{extarticle}

\makeatletter

\renewcommand\@pnumwidth{1.5em}   % Ширина колонки с номерами страниц
\newcommand\My@secwidth{2.5ex}    % Ширина колонки с номерами разделов
\newcommand\My@subsecwidth{4.5ex} % Ширина колонки с номерами подразделов

% Стиль заполнения точками
\newcommand{\My@dotfill}{\leavevmode\xleaders\hbox to 1.5mm{\hfil.}\hfill}

\renewcommand*\l@section[2]{%
	\ifnum \c@tocdepth >\z@
		\setlength\@tempdima{\My@secwidth}%
		\begingroup
			\parindent \z@ \rightskip \@pnumwidth
			\parfillskip -\@pnumwidth
			\leavevmode
			\advance\leftskip\@tempdima
			\hskip -\leftskip
			#1\nobreak\My@dotfill \nobreak\hb@xt@\@pnumwidth{\hss #2}\par
		\endgroup
	\fi}

\renewcommand*\l@subsection[2]{%
	\ifnum \c@tocdepth>1
		\setlength\@tempdima{\My@subsecwidth}%
		\setlength\@tempdimb{\My@secwidth}%
		\begingroup
			\parindent \z@ \rightskip \@pnumwidth
			\parfillskip -\@pnumwidth
			\leavevmode
			\advance\leftskip\@tempdima
			\advance\leftskip\@tempdimb
			\hskip -\leftskip
			\hskip \@tempdimb
			#1\nobreak\My@dotfill \nobreak\hb@xt@\@pnumwidth{\hss #2}\par
		\endgroup
	\fi}

\makeatother

\begin{document}
\tableofcontents
\newpage

Build me two times at look at TOC!

\section[FIRST]{First}
\section[SECOND]{Second}
    \subsection{SubSecondOne}
    \subsection{SubSecondTwo}
\section[THRID]{Thrid}

\end{document}
leonid
()
Последнее исправление: leonid (всего исправлений: 1)
Ответ на: комментарий от leonid

спасибо. а с списком используемых источников так же нельзя поступить? Я пишу \def\bibname[\normalsize Список используемых источников]{\normalsize СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ}

Но нихотит компелироватся.

illuminates
() автор топика
Ответ на: комментарий от SystemD-hater

вот смотрите. я пишу: \addcontentsline{toc}{chapter}{Список использованных источников} \def\bibname{\normalsize СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ}

В тексте всё ок. То есть большими буквами пишется «СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ». А в оглавлении выводится так «Список использованных источников . . . . . . . . . . . . . . . . . . . . . 22 СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ . . . . . . . . . . . . . 23» То есть одновременно и то и то.

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

А можно ешё маленький вопрос? как можно выровнять \chapter по красной строке? Если написать \renewcommand{\chapterindent}{-3cm}, то ничего хорошего не получается.

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

А как вставляется литература? У меня \printbibliography пишет «Литература», но в содержание ничего не добавляет.

SystemD-hater
()
Ответ на: комментарий от illuminates

Я пишу \def\bibname[\normalsize Список используемых источников]{\normalsize СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ}

Это и не будет компилироваться. Опиши более подробно как ты создаёшь библиографию.

Вот тебе дополненный предыдущий пример:

\documentclass[a4paper]{extarticle}

\makeatletter

\renewcommand\@pnumwidth{1.5em}   % Ширина колонки с номерами страниц
\newcommand\My@secwidth{2.5ex}    % Ширина колонки с номерами разделов
\newcommand\My@subsecwidth{4.5ex} % Ширина колонки с номерами подразделов

% Стиль заполнения точками
\newcommand{\My@dotfill}{\leavevmode\xleaders\hbox to 1.5mm{\hfil.}\hfill}

\renewcommand*\l@section[2]{%
	\ifnum \c@tocdepth >\z@
		\setlength\@tempdima{\My@secwidth}%
		\begingroup
			\parindent \z@ \rightskip \@pnumwidth
			\parfillskip -\@pnumwidth
			\leavevmode
			\advance\leftskip\@tempdima
			\hskip -\leftskip
			#1\nobreak\My@dotfill \nobreak\hb@xt@\@pnumwidth{\hss #2}\par
		\endgroup
	\fi}

\renewcommand*\l@subsection[2]{%
	\ifnum \c@tocdepth>1
		\setlength\@tempdima{\My@subsecwidth}%
		\setlength\@tempdimb{\My@secwidth}%
		\begingroup
			\parindent \z@ \rightskip \@pnumwidth
			\parfillskip -\@pnumwidth
			\leavevmode
			\advance\leftskip\@tempdima
			\advance\leftskip\@tempdimb
			\hskip -\leftskip
			\hskip \@tempdimb
			#1\nobreak\My@dotfill \nobreak\hb@xt@\@pnumwidth{\hss #2}\par
		\endgroup
	\fi}

\makeatother

\begin{document}
\tableofcontents
\newpage

Build me two times at look at TOC!

\section[First]{FIRST}
\section[Second]{SECOND}
    \subsection{SubSecondOne}
    \subsection{SubSecondTwo}
\section[Thrid]{THRID}

\addcontentsline{toc}{section}{References}
\renewcommand{\refname}{REFERENCES}
\begin{thebibliography}{99}
\bibitem{bib:1} Source 1
\bibitem{bib:2} Source 2
\end{thebibliography}

\end{document}

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

литература вставляется так: (я сначала хотел сбросить только с литературой связанный код, но что то не компелируется. Сброшу весь)

\documentclass[% bachelor, % тип документа natbib, % использовать пакет natbib для «сжатия» цитирований subf, % использовать пакет subcaption для вложенной нумерации рисунков href, % использовать пакет hyperref для создания гиперссылок colorlinks=true % цветные гиперссылки %,fixint=false % отключить прямые знаки интегралов ,times % шрифт Times как основной ]{disser}

\usepackage[ a4paper, mag=1000, left=2.5cm, right=1cm, top=2cm, bottom=2cm, headsep=0.7cm, footskip=1cm ]{geometry} \usepackage[T2A]{fontenc} \usepackage[cp1251]{inputenc} \usepackage[english,russian]{babel} %\usepackage{tabularx,longtable} \ifpdf\usepackage{epstopdf}\fi

% Плавающие рисунки «в оборку». \usepackage{wrapfig}

% Номера страниц снизу и по центру \pagestyle{footcenter} \chapterpagestyle{footcenter}

% Точка с запятой в качестве разделителя между номерами цитирований %\setcitestyle{semicolon}

% Использовать полужирное начертание для векторов \let\vec=\mathbf

% Включать подсекции в оглавление \setcounter{tocdepth}{2}

\graphicspath{{fig/}}

\renewcommand{\thechapterfont}{\normalsize\bfseries} % Номер главы полужирным \renewcommand{\prethechapter}{} % Убираем слово «глава» \renewcommand{\postthechapter}{.~} % ставим точку и пробел после номер \renewcommand{\appendixfont}{\normalsize\bfseries} \renewcommand{\chapterfont}{\normalsize\bfseries} \renewcommand{\sectionfont}{\normalsize\bfseries} \renewcommand{\subsectionfont}{\normalsize\bfseries} \renewcommand{\subsubsectionfont}{\normalsize\bfseries} \renewcommand{\theappendixalign}{\hfill} \renewcommand{\theappendix}{\arabic{chapter}} % заменяем нумерацию приложений на цифры \renewcommand{\pretheappendix}{\protect{Attachment}~} % Меняем регистр слова «Приложение» \renewcommand{\tocpretheappendix}{\protect{Attachment}~} % Меняем регистр слова «Приложение» \renewcommand{\introname}{Introduction} \renewcommand{\sectionindent}{1cm} \renewcommand{\subsectionindent}{1cm} \renewcommand{\aftersection}{6pt plus .1pt} \renewcommand{\aftersubsection}{3pt plus .1pt} \renewcommand{\conclusionname}{Conclusion} \ifpdf\usepackage{epstopdf}\fi \def\headfont{\small} %\pagestyle{headcenter} \chapterpagestyle{empty} \makeatletter \renewcommand{\@biblabel}[1]{#1.\hfil} \makeatother \addto\captionsrussian{\def\refname{Bibliography}}

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

это шапка. а сам код:

\begin{document}
\tableofcontents

\newpage
\addcontentsline{toc}{chapter}{Список использованных источников}
\def\bibname{\normalsize СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ}


\begin{thebibliography}{0}

\bibitem{HM} Точные решения уравнений Эйнштейна / Под ред. Э.Шмуцера. -- М.: Энергоиздат, 1982. -- 416 с.
\end{thebibliography}

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

ой шапка залилась плохо. Повторю.

\documentclass[%
bachelor,       % тип документа
natbib,         % использовать пакет natbib для "сжатия" цитирований
subf,           % использовать пакет subcaption для вложенной нумерации рисунков
href,           % использовать пакет hyperref для создания гиперссылок
colorlinks=true % цветные гиперссылки
%,fixint=false  % отключить прямые знаки интегралов
,times         % шрифт Times как основной
]{disser}




\usepackage[
  a4paper, mag=1000,
  left=2.5cm, right=1cm, top=2cm, bottom=2cm, headsep=0.7cm, footskip=1cm
]{geometry}
\usepackage[T2A]{fontenc}
\usepackage[cp1251]{inputenc}
\usepackage[english,russian]{babel}
%\usepackage{tabularx,longtable}
\ifpdf\usepackage{epstopdf}\fi

% Плавающие рисунки "в оборку".
\usepackage{wrapfig}

% Номера страниц снизу и по центру
\pagestyle{footcenter}
\chapterpagestyle{footcenter}

% Точка с запятой в качестве разделителя между номерами цитирований
%\setcitestyle{semicolon}

% Использовать полужирное начертание для векторов
\let\vec=\mathbf

% Включать подсекции в оглавление
\setcounter{tocdepth}{2}

\graphicspath{{fig/}}
\renewcommand{\tocprethechapter}{} % в оглавлении убираем слово "Глава"
\renewcommand{\thechapterfont}{\normalsize\bfseries} % Номер главы полужирным
\renewcommand{\prethechapter}{} % Убираем слово "глава"
\renewcommand{\postthechapter}{.~} % ставим точку и пробел после номер
\renewcommand{\appendixfont}{\normalsize\bfseries}
\renewcommand{\chapterfont}{\normalsize\bfseries}
\renewcommand{\sectionfont}{\normalsize\bfseries}
\renewcommand{\subsectionfont}{\normalsize\bfseries}
\renewcommand{\subsubsectionfont}{\normalsize\bfseries}
\renewcommand{\theappendixalign}{\hfill}
\renewcommand{\theappendix}{\arabic{chapter}} % заменяем нумерацию приложений на цифры
\renewcommand{\pretheappendix}{\protect{Attachment}~} % Меняем регистр слова "Приложение"
\renewcommand{\tocpretheappendix}{\protect{Attachment}~} % Меняем регистр слова "Приложение"
\renewcommand{\introname}{Introduction}
\renewcommand{\sectionindent}{1cm}
\renewcommand{\subsectionindent}{1cm}
\renewcommand{\aftersection}{6pt plus .1pt}
\renewcommand{\aftersubsection}{3pt plus .1pt}
\renewcommand{\conclusionname}{Conclusion}
\ifpdf\usepackage{epstopdf}\fi
\def\headfont{\small}
%\pagestyle{headcenter}
\chapterpagestyle{empty}
\makeatletter
\renewcommand{\@biblabel}[1]{#1.\hfil}
\makeatother
\addto\captionsrussian{\def\refname{Bibliography}}
illuminates
() автор топика
Ответ на: комментарий от SystemD-hater

проблема в то что там используют report, а у меня disser. Поэтому не работает.

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

не работает В тексте всё ок. То есть большими буквами пишется «СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ». А в оглавлении выводится так «Список использованных источников . . . . . . . . . . . . . . . . . . . . . 22 СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ . . . . . . . . . . . . . 23» То есть одновременно и то и то.

illuminates
() автор топика

1) не было больших отступов у подпунктов

В документации к пакету disser.pdf описаны параметры, которые это контролируют. RTFM!!!

SystemD-hater
()

Там же, в disser.pdf, НА РУССКОМ ЯЗЫКЕ (!!!!!) написано, где и как в disser определяется окружение thebibliography.

Вопросы, которые висят здесь уже вторые сутки, решаются за полчаса RTFM.

SystemD-hater
()
Ответ на: комментарий от SystemD-hater

смотрите. про настройки chapter сказано здесь: 1.5.2 Параметры формата заголовка в тексте

\thepartalign Параметры номера и названия: выравнивание, шрифт, отступы, текст до и после.
\thepartfont
\prethepart
\postthepart
\partalign
\partfont
\beforepart
\afterpart
344 \providecommand\thepartalign{\centering}
345 \providecommand\thepartfont{\huge}
346 \providecommand\prethepart{\tocprethepart}
347 \providecommand\postthepart{\par\vskip 20\p@}
348
349 \providecommand\partalign{\centering}
350 \providecommand\partfont{\huge\bfseries}
351 \providecommand\beforepart{}
352 \providecommand\afterpart{\par}

а про оглавление здесь 
1.16.2 Оглавление
\tocsection Команда, создающая заголовок в тексте.
1881 \newcommand\tocsection{\chapter*{\contentsname}}
1882
\tableofcontents
1883 \newcommand\tableofcontents{%
1884 \if@twocolumn%
1885 \@restonecoltrue\onecolumn%
1886 \else\@restonecolfalse\fi%
1887 \tocsection%
1888 \@mkboth{\MakeUppercase\contentsname}{\MakeUppercase\contentsname}%
1889 \@starttoc{toc}%
1890 \if@restonecol\twocolumn\fi
1891 \clearpage
1892 }


Я не понял что надо применить что бы ответить на мои вопросы.
illuminates
() автор топика
Ответ на: комментарий от illuminates

Вопрос был

не было больших отступов у подпунктов

При чём здесь

настройки chapter

???

Почему бы не открыть

1.8 Секции и параграфы
1.8.1 Section

\tocsectionindent Величина отступа записи в оглавлении.
632 \providecommand\tocsectionindent{1.5em}

???

Аналогично для subsection etc.

SystemD-hater
()
Ответ на: комментарий от SystemD-hater

Спасибо. Но

\tocsectionindent 
\providecommand\tocsectionindent{1.5em}


 не даёт никакого результата (писал и в шабке и в теле программы)
я просто ещё спрашивал про
"как можно выровнять \chapter по красной строке? Если написать \renewcommand{\chapterindent}{-3cm}, то ничего хорошего не получается."
illuminates
() автор топика
Ответ на: комментарий от illuminates

не даёт никакого результата

http://tex.stackexchange.com/a/36178

как можно выровнять \chapter по красной строке?

Это за полминуты находится в документации:

1.6 Глава
1.6.2 Параметры формата в тексте
\providecommand\chapteralign{\centering}
\setlength{\chapterindent}{0\p@}

Я специально выделил то, что надо поменять. Проверено, работает с нумерованным и ненумерованными версиями чаптера.

SystemD-hater
()
Ответ на: комментарий от SystemD-hater

я наверное сверх тупой, но я не понял что по ссылке читать. Я попробовал вместо \providecommand написать \renewcommand и \newcommand. Безрезультатно.

«Я специально выделил то, что надо поменять» А на что менять?

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

Почему-то у меня \renewcommand даёт эффект. Тут К.О. подсказывает: «1.5em это значение по-умолчанию, менять надо на что-то другое, чтобы заметить эффект».

А на что менять?

\renewcommand\chapteralign{\raggedright}
\setlength{\chapterindent}{\parindent}
SystemD-hater
()
Ответ на: комментарий от SystemD-hater

работает но зараза ещё и содержание, введение, заключение и список используемых источников делает по красной строке а не посередине

illuminates
() автор топика
Ответ на: комментарий от illuminates
\begin{document}
\tableofcontents

\begingroup % <<<------------!!!

\renewcommand\chapteralign{\raggedright}
\setlength{\chapterindent}{\parindent}

\chapter{чаптер}

Lorem ipsum dolor sit amet

\endgroup % <<<------------!!!

\begin{thebibliography}{0}
\bibitem{HM} Точные решения уравнений Эйнштейна / Под ред. Э.Шмуцера. -- М.: Энергоиздат, 1982. -- 416 с.
\end{thebibliography}

\end{document}

SystemD-hater
()
Ответ на: комментарий от SystemD-hater

спасибо! а оглавление проще походу в doce написать. А можите подсказать какуйнибудь простую книжку по texy от которой было бы понятно читать что написано в disser.prf?

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

В disser.pdf перечислены просто параметры, специфичные для этого пакета. Из названий разделов понятно, к чему относятся эти параметры. Что конкретно меняют \chapteralign и \chapterindent тоже несложно догадаться по их названию. Как переопределять команды, длины и проч. — это довольно общие и элементарные знания latex. Ничего особого читать не надо.

SystemD-hater
()
Ответ на: комментарий от illuminates

а оглавление проще походу в doce написать

Можно посмотреть в disser.pdf. Там написано

1.16.5 Библиография
Окружение и заголовок будут переопределены в пакете natbib и далее в файле custom.dtx

Открываем custom.dtx

  \renewenvironment{thebibliography}[1]{
    \bibsection
    \parindent\z@
    \bibpreamble\bibfont
    \list{\@biblabel{\@arabic\c@enumiv}}{\settowidth\labelwidth{\@biblabel{#1}}%
    \setlength{\itemsep}{\bibsep}
    \setlength{\parsep}{\bibsep}
    \leftmargin\labelwidth
    \advance\leftmargin\labelsep
    \@openbib@code
    \usecounter{enumiv}%
    \let\p@enumiv\@empty
    \renewcommand\theenumiv{\@arabic\c@enumiv}}%
    \sloppy\clubpenalty4000\widowpenalty4000
    \sfcode`\.\@m
  }{%
    \bibpostamble
    \def\@noitemerr
    {\@latex@warning{Empty `thebibliography' environment}}%
    \endlist
  }
}

\bibsection определяется выше этого фрагмента.

И почему-то \MakeUppercase не робит. Хотя \MakeUppercase{\bibname} в тексте делает что надо.

Грязный хак: перед библиографией переопределить \bibsection как \chapter*{СПИСОК ...} и добавить \addcontentsline без капса.

Только это хак!

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