
Tengo un libro de ficción escrito en LaTeX. Y ya está bien estructurado con 4 niveles de título (parte, capítulo, sección y subsección), pero para fines artísticos quiero representar en lugar de secciones y subsecciones el nombre de algún texto deliberado (por ejemplo, centrado "***"), y el nombre. de capítulos y partes que quiero renderizar de forma normal. Yo uso scrbook
y scrreprt
clases.
Entonces quiero que esto:
\documentclass{scrreprt}% or scrbook
\begin{document}
\part{Alpha}
\chapter{Aleph}
text here
\section{name for an internal usage}
text there
\section{one more internal name}
more and more text
\chapter{Bet}
\section{adjacent section}
text
\section{another internal name}
text text text
\end{document}
se representará así:
Parte 1. Alfa
Capítulo 1. Aleph
texto aqui
***
texto allí
***
cada vez más texto
Capítulo 2. Apuesta
texto
***
texto texto texto
Por lo tanto, sería maravilloso si la sección adyacente no se renderizara en absoluto (como ocurre en mi ejemplo), pero esto no es crucial.
También me centro en la representación del texto, la ToC es menos importante, pero para una solución ideal sería genial si para la sección y subsección la ToC utiliza el comienzo de la oración del siguiente texto.
Respuesta1
Puedes usar \sectionlinesformat
. Generará el toc correcto usando nombres internos.
Y si usas \subsection
obtendrás los puntos en un tamaño más pequeño que los de sección.
\documentclass{scrreprt}
\renewcommand{\sectionlinesformat}[4]{\centering ***}
\begin{document}
\part{Alpha}
\chapter{Aleph}
text here
\section{name for an internal usage}
text there
\section{one more internal name}
more and more text
\chapter{Bet}
\section{adjacent section}
text
\section{another internal name}
text text text
\subsection{Test}
\end{document}
Te recomendaría que uses un símbolo más interesante. Lo siguiente tomará uno del adforn
paquete. He aquí un ejemplo.
\documentclass{scrreprt}
\usepackage{adforn}
\renewcommand{\sectionlinesformat}[4]{\centering\adforn{21}\quad\adforn{11}\quad\adforn{49}}
\begin{document}
\part{Alpha}
\chapter{Aleph}
text here
\section{name for an internal usage}
text there
\section{one more internal name}
more and more text
\chapter{Bet}
\section{adjacent section}
text
\section{another internal name}
text text text
\subsection{Test}
\end{document}
La versión realmente elegante sugerida:
\documentclass{scrreprt}
\usepackage{adforn}
\renewcommand{\sectionlinesformat}[4]{\centering\ifstr{#1}{section}{\adforn{21}\quad\adforn{11}\quad\adforn{49}}{***}}
\renewcommand*{\chapterformat}{\chapapp~\thechapter\autodot\enskip}
\begin{document}
\part{Alpha}
\chapter{Aleph}
text here
\section{name for an internal usage}
text there
\section{one more internal name}
more and more text
\chapter{Bet}
\section{adjacent section}
text
\section{another internal name}
text text text
\subsection{Test}
\end{document}
Respuesta2
Puede modificar la \sectionlinesformat
macro, los comandos de sección de sección e inferior la llaman como \sectionlinesformat{layer}{indent}{number}{text}
:
\documentclass[]{scrreprt}
\renewcommand*{\sectionlinesformat}[4]{%
\centering\textbf{***}%
}
\begin{document}
\part{Alpha}
\chapter{Aleph}
text here
\section{name for an internal usage}
text there
\section{one more internal name}
more and more text
\chapter{Bet}
\section{adjacent section}
text
\section{another internal name}
text text text
\subsection{another internal}
\end{document}