Мое оглавление странное

Мое оглавление странное

Я делаю шаблон, в котором я использую tocloft для заголовка резюме и titletoc для тела резюме. Ну, я только что заметил, что он не учитывает поля, так что я не знаю, что делать теперь (не нахожу ошибок). Может ли кто-нибудь мне помочь?

Код:

\documentclass[12pt]{article}[abntex2]

%=========================================================

\usepackage[nobottomtitles]{titlesec}%Formatar titulos

\usepackage{tocloft}%formatar sumário

\usepackage{titletoc}%formatar sumario

%Formatar sumário
%===========================================titulo(centralizado, negrito, caixa alta)
%sumário

\renewcommand{\cfttoctitlefont}{\hfill\bfseries\MakeUppercase}
\renewcommand{\cftaftertoctitle}{\hfill}
\setlength{\cftbeforetoctitleskip}{0cm}
\setlength{\cftaftertoctitleskip}{1.5cm}
%===========================================================================
%secão

\titlecontents{section}[1.5cm]
{\vspace{.5cm}\bfseries}
{\contentslabel{1.5cm}}
{}
{\cftdotfill{0.1}\contentspage}
[]
%===========================================================================
%subseção

\titlecontents{subsection}[1.5cm]
{\vspace{.1cm}}
{\contentslabel{1.5cm}}
{}
{\cftdotfill{0.1}\contentspage}
[]
%===========================================================================

\titlecontents{subsubsection}[1.5cm]
{\vspace{.1cm}}
{\contentslabel{1.5cm}}
{}
{\cftdotfill{0.1}\contentspage}
[]
%===========================================================================
%seções

\newcommand{\secao}[1]{
\newpage

\section{\MakeUppercase{#1}}
\label{sec:#1}
}
%subseção

\newcommand{\subsecao}[1]{
\subsection{\MakeUppercase{#1}}
\label{subsec:#1}
}
%==================================================================
%subsubseção

\newcommand{\subsubsecao}[1]{
\subsubsection{#1}\label{subsubsec:#1}
}

\begin{document}

\tableofcontents

\secao{dicas para organização}

\subsecao{distribuição}

\subsecao{paginas}
\secao{pré textual}

\subsecao{capa: titulo, autor, 
orientador, etc}

\subsecao{listas de ilustrações}

\subsubsecao{Lista de figuras}

\subsubsecao{Lista de quadros}

\subsubsecao{Lista de tabelas}

\subsubsecao{Outras listas deilustrações}

\subsecao{outras listas}

\subsubsecao{Lista de siglas}

\subsubsecao{Lista de abreviações}

\subsubsecao{Lista de símbolos}

\secao{textual}

\subsecao{citações}

\secao{títulos}

\subsecao{subtítulos}

\subsubsecao{Subsubtítulos}

\subsecao{referenciar seções}

\secao{pós textual}

\subsecao{referências}

\subsecao{glossário}

\subsecao{apêndices}

\subsecao{anexo}

\subsecao{índice}

\secao{something}

\secao{something}

\secao{something}

\secao{something}

\secao{something}

\secao{something}

\end{document}

решение1

Проблема заключается в вашем объявлении \titlecontents{section}. А именно с \vspace{.5cm}. Вот лучший способ сделать это.

\titlecontents{section}[1.5cm]
{\bfseries}
{\contentslabel{1.5cm}}
{}
{\cftdotfill{0.1}\contentspage\vspace{.5cm}}
[]

введите описание изображения здесь

решение2

Не следует загружать и то, tocloftи другое titletoc, поскольку они конкурируют друг с другом.

Я не рекомендую использовать \secao, но для переформатирования \section(и его братьев и сестер). Я бы не стал использовать «автоматические метки», но оставил код для них. Гораздо лучше использовать явные \labelкоманды с запоминающимися аргументами. Если вы хотите последовать моему совету, просто замените

\TITLEAndLabel{sec}
\TITLEAndLabel{subsec}
\titleAndLabel{subsubsec}

только с \MakeUppercase. Также \clearpageлучше, чем \newpage, потому что он очищает поплавки.

\documentclass[12pt]{article}[abntex2]
\usepackage[brazil]{babel}
\usepackage[T1]{fontenc}
\usepackage[nobottomtitles]{titlesec}
\usepackage{titletoc}

%Formatar sumário
\titlecontents{section}
  [1.5cm]
  {\vspace{.5cm}\bfseries}
  {\contentslabel{1.5cm}\MakeUppercase}
  {\MakeUppercase}
  {\titlerule*[1pc]{.}\contentspage}
\titlecontents{subsection}
  [1.5cm]
  {\vspace{.1cm}}
  {\contentslabel{1.5cm}\MakeUppercase}
  {\MakeUppercase}
  {\titlerule*[1pc]{.}\contentspage}
\titlecontents{subsubsection}
  [1.5cm]
  {\vspace{.1cm}}
  {\contentslabel{1.5cm}}
  {}
  {\titlerule*[1pc]{.}\contentspage}

% sections
\newcommand{\TITLEAndLabel}[2]{%
  \MakeUppercase{#2}\label{#1:#2}%
}
\newcommand{\titleAndLabel}[2]{%
  #2\label{#1:#2}%
}
\titleformat{\section}[block]
  {\newpage\normalfont\Large\bfseries}
  {\thesection}
  {1em}
  {\TITLEAndLabel{sec}}
\titleformat{name=\section,numberless}[block]
  {\clearpage\normalfont\Large\bfseries}
  {}
  {0pt}
  {\MakeUppercase}
\titleformat{\subsection}[block]
  {\normalfont\large\bfseries}
  {\thesubsection}
  {1em}
  {\TITLEAndLabel{subsec}}
\titleformat{\subsubsection}[block]
  {\normalfont\normalsize\bfseries}
  {\thesubsubsection}
  {1em}
  {\titleAndLabel{subsubsec}}

\begin{document}

\tableofcontents

\section{dicas para organização}

\subsection{distribuição}

\subsection{paginas} \section{pré textual}

\subsection{capa: titulo, autor, orientador, etc}

\subsection{listas de ilustrações}

\subsubsection{Lista de figuras}

\subsubsection{Lista de quadros}

\subsubsection{Lista de tabelas}

\subsubsection{Outras listas deilustrações}

\subsection{outras listas}

\subsubsection{Lista de siglas}

\subsubsection{Lista de abreviações}

\subsubsection{Lista de símbolos}

\section{textual}

\subsection{citações}

\section{títulos}

\subsection{subtítulos}

\subsubsection{Subsubtítulos}

\subsection{referenciar seções}

\section{pós textual}

\subsection{referências}

\subsection{glossário}

\subsection{apêndices}

\subsection{anexo}

\subsection{índice}

\section{something}

\section{something}

\section{something}

\section{something}

\section{something}

\section{something}

\end{document}

Я тоже загрузил brazil-babel.

введите описание изображения здесь

Связанный контент