
Utilizo numeración de páginas tanto árabe (1, 2,...) como romana (I, II,...) en mi documento. Sin embargo, las figuras romanas normales parecen demasiado dominantes en el índice (por ejemplo, XXVIII). Los números romanos en minúscula tampoco me parecen bien (xxviii).
Me gustaría lograr lo siguiente:
- La numeración de las páginas romanas al final de cada página debe ser de letras mayúsculas de tamaño estándar.
- La numeración de páginas en árabe al final de cada página debe ser de tamaño estándar.
- La numeración de páginas romanas en el índice debe ser de versalitas de tamaño estándar o de letras mayúsculas más pequeñas. (No deben ser tan anchos como de costumbre)
- La numeración de páginas en árabe en el índice debe ser de tamaño estándar.
El siguiente es un MWE que muestra lo que tengo ahora.
\documentclass{scrartcl}
\begin{document}
\pagenumbering{Roman}
\setcounter{page}{27}
\tableofcontents
\newpage
\section{Section}
\newpage
\pagenumbering{arabic}
\section{Section}
\end{document}
Como puede ver, uso KOMA-Script. Estoy abierto a usar funciones de tocstyle
, ya que ya uso este paquete (verKOMA-Script: Alineación incorrecta de números romanos).
NÓTESE BIEN:Esta pregunta al principio planteó por error una solución usando tocloft
. Es por eso que hay algunas respuestas que usan eso.
Respuesta1
Con elpróxima versión 3.20 de KOMA-Script tocstyle
no será necesario. Ya hay unprelanzamientoen el sitio web de KOMA-Script.
\documentclass{scrartcl}[2016/10/23]
\newcommand\pagenumbertocfont[1]{\ifisinteger{#1}{#1}{\tiny #1}}
\RedeclareSectionCommands[
tocdynnumwidth,
tocpagenumberbox=\hbox,
tocpagenumberformat=\pagenumbertocfont
]{part,section,subsection,subsubsection,paragraph}
\RedeclareSectionCommands[
tocpagenumberformat=\usekomafont{disposition}\pagenumbertocfont
]{part,section}
\usepackage{blindtext}
\begin{document}
\pagenumbering{Roman}
\setcounter{page}{27}
\tableofcontents
\clearpage
\part{Part}
\blinddocument
\cleardoubleoddpage
\pagenumbering{arabic}
\blinddocument
\end{document}
Resultado:
Con elversión actual 3.19apuedes usarlo pagenumberhook
desde el paquete tocstyle
.
\documentclass{scrartcl}
\usepackage[tocindentauto]{tocstyle}
\usetocstyle{KOMAlike}
\settocfeature{pagenumberbox}{\hbox}
\newcommand\pagenumbertocfont[1]{\ifisinteger{#1}{#1}{\tiny #1}}
\settocstylefeature{pagenumberhook}{\pagenumbertocfont}
\settocstylefeature[-1]{pagenumberhook}{\pagenumbertocfont}
\settocstylefeature[1]{pagenumberhook}{\pagenumbertocfont}
\usepackage{blindtext}
\begin{document}
\pagenumbering{Roman}
\setcounter{page}{27}
\tableofcontents
\clearpage
\part{Part}
\blinddocument
\cleardoubleoddpage
\pagenumbering{arabic}
\blinddocument
\end{document}
Esto también funciona con la clase estándar article
. Pero luego tienes que cargar el paquete scrextend
adicionalmente.
\documentclass{article}
\usepackage{scrextend}
\usepackage{tocstyle}
\usetocstyle{standard}
\settocfeature{pagenumberbox}{\hbox}
\newcommand\pagenumbertocfont[1]{\ifisinteger{#1}{#1}{\tiny #1}}
\settocstylefeature{pagenumberhook}{\pagenumbertocfont}
\settocstylefeature[-1]{pagenumberhook}{\pagenumbertocfont}
\settocstylefeature[1]{pagenumberhook}{\pagenumbertocfont}
\usepackage{blindtext}
\begin{document}
\pagenumbering{Roman}
\setcounter{page}{27}
\tableofcontents
\clearpage
\part{Part}
\blinddocument
\cleardoubleoddpage
\pagenumbering{arabic}
\blinddocument
\end{document}
Respuesta2
Quizás lo más fácil sea usar el tocloft
paquete para configurar la apariencia del toc.
\documentclass{scrartcl}
\usepackage{tocloft}
\renewcommand\cftsecfont{\bfseries\sffamily}
\renewcommand\cftsecpagefont{\bfseries\small\sffamily}
\begin{document}
\pagenumbering{Roman}
\setcounter{page}{27}
\tableofcontents
\newpage
\section{Section}
\newpage
\pagenumbering{arabic}
\section{Section}
\end{document}
A modo de comparación, esto es sin la tocloft
configuración:
Respuesta3
Dado que configuró la tocloft
etiqueta, supongo que está interesado en usar el paquete para modificar la apariencia de la tabla de contenido. El siguiente código muestra cómo se puede hacer esto. Tenga en cuenta el uso \cftsetrmarg
y \cftsetpnumwidth
el aumento de la cantidad de espacio reservado para los números de página: los números romanos tienden a ocupar mucho más espacio que los números arábigos.
La familia de fuentes Computer Modern no proporciona una combinación de atributos de fuente sans-serif, versalitas y negrita. Por lo tanto, el siguiente código genera números de página con serifa/no negrita en mayúsculas pequeñas en el ToC.
\documentclass{scrartcl}
\usepackage{tocloft}
\cftsetrmarg{4em} % set aside more space for roman numerals
\cftsetpnumwidth{3.5em}
\renewcommand\cftsecfont{\bfseries\sffamily}
\renewcommand\cftsubsecfont{\bfseries\sffamily}
\renewcommand\cftsubsubsecfont{\bfseries\sffamily}
\renewcommand\cftsecpagefont{\scshape}
\begin{document}
%%\pagenumbering{roman}
\renewcommand\thepage{\scshape\roman{page}} % <- new
\setcounter{page}{37}
\tableofcontents
\newpage
\section{Section}
\subsection{Subsection}
\subsubsection{A very very very very very very very very very very very very very very very very very very very very very very very very very long subsubsection header}
\newpage
\pagenumbering{arabic}
\section{Section}
\end{document}