
Estoy intentando crear un subpárrafo y un subsubpárrafo. El subsubpárrafo funciona bien, pero el subsubpárrafo me está dando resultados extraños en mi tabla de contenido.
Aquí está mi código:
\documentclass[parskip=full]{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage{titlesec}
\makeatletter
\titleclass{\subsubparagraph}{straight}[\subparagraph]
\titleformat{\subsubparagraph}{\normalfont\normalsize\bfseries}{\arabic{section}.\arabic{subsection}.\arabic{subsubsection}.\arabic{paragraph}.\arabic{subparagraph}.\arabic{subsubparagraph}}{1em}{}
\titlespacing{\subsubparagraph}{0pt}{-3.25ex plus-1ex minus-.2ex}{1.25ex plus .1ex}
\newcounter{subsubparagraph}[subparagraph]
\titlespacing{\subparagraph}{0pt}{-3.25ex plus-1ex minus-.2ex}{1.25ex plus .1ex}
\titleclass{\subsubsubparagraph}{straight}[\subparagraph]
\titleformat{\subsubsubparagraph}{\normalfont\normalsize\bfseries}{\arabic{section}.\arabic{subsection}.\arabic{subsubsection}.\arabic{paragraph}.\arabic{subparagraph}.\arabic{subsubparagraph}.\arabic{subsubparagraph}}{1em}{}
\titlespacing{\subsubsubparagraph}{0pt}{3.25ex plus-1ex minus-.2ex}{1.25ex plus .1ex}
\newcounter{subsubsubparagraph}[subsubparagraph]
\renewcommand\thesubsubparagraph {\arabic{section}.\arabic{subsection}.\arabic{subsubsection}.\arabic{paragraph}.\arabic{subparagraph}.\arabic{subsubparagraph}}%
\setcounter{secnumdepth}{8}
\setcounter{tocdepth}{8}
\newcommand*\l@subsubparagraph{\@dottedtocline{7}{12em}{2em}}
\newcommand*\l@subsubsubparagraph{\@dottedtocline{8}{17em}{2em}}
\begin{document}
\setcounter{tocdepth}{10}
\setcounter{secnumdepth}{10}
\tableofcontents
\section{Section}
\subsection{Subsection}
\subsubsection{Subsubsection}
\paragraph{Paragraph}
\subparagraph{Subparagraph}
\subsubparagraph{Subsubparagraph}
\subsubsubparagraph{Subsubparagraph}
\end{document}
El título del subpárrafo se superpone con la numeración.
¿Cómo puedo arreglar esto?
Respuesta1
Tenga en cuenta que el paquete titlesec
rompe algunas de las características de KOMA-Script. Por lo tanto, no se recomienda utilizar este paquete junto con scrartcl
.
Puedes usar \DeclareNewSectionCommands
y \RedeclareSectionCommand
:
\documentclass[parskip=full]{scrartcl}[2016/05/10]
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\DeclareNewSectionCommands[
style=section,
level=\subparagraphnumdepth+1,
beforeskip=-3.25ex plus -1ex minus -.2ex,
afterskip=1.25ex plus .1ex,
counterwithin=subparagraph,
font={},
indent=0pt,
toclevel=\subparagraphtocdepth+1,
tocnumwidth=6em
]{subsubparagraph,subsubsubparagraph}
\RedeclareSectionCommand[
tocindent=12em
]{subsubparagraph}
\RedeclareSectionCommand[
tocindent=14em
]{subsubsubparagraph}
\setcounter{secnumdepth}{\subsubsubparagraphnumdepth}
\setcounter{tocdepth}{\subsubsubparagraphtocdepth}
\begin{document}
\tableofcontents
\section{Section}
\subsection{Subsection}
\subsubsection{Subsubsection}
Text
\paragraph{Paragraph}
Text
\subparagraph{Subparagraph}
Text
\subsubparagraph{Subsubparagraph}
Text
\subsubsubparagraph{Subsubsubparagraph}
Text
\end{document}
Resultado:
Como puede ver en la imagen, paragraph
hay subparagraph
títulos en línea. Un valor negativo de afterskip
establece un salto horizontal que da como resultado un encabezado en línea. Entonces, si los encabezados para los nuevos niveles definidos también deben ser encabezados en línea, use afterskip=-1em
. Pero si debe haber un espacio vertical después paragraph
y subparagraph
cambiarlo afterskip
a un valor positivo, por ejemplo:
\RedeclareSectionCommands[
afterskip=1.25ex plus .1ex
]{paragraph,subparagraph}