Versalitas/letras minúsculas para la numeración de páginas TOC

Versalitas/letras minúsculas para la numeración de páginas TOC

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 tocstyleno 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:

ingrese la descripción de la imagen aquí


Con elversión actual 3.19apuedes usarlo pagenumberhookdesde 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 scrextendadicionalmente.

\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 tocloftpaquete 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}

ingrese la descripción de la imagen aquí

A modo de comparación, esto es sin la tocloftconfiguración:

ingrese la descripción de la imagen aquí

Respuesta3

Dado que configuró la tocloftetiqueta, 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 \cftsetrmargy \cftsetpnumwidthel 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.

ingrese la descripción de la imagen aquí

\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}

información relacionada