Por favor, considere el siguiente código:
\documentclass[a4paper]{report}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[italian]{babel}
\usepackage{cfr-lm}
\usepackage{titlesec}
\renewcommand{\thechapter}{\scshape\roman{chapter}}
\titleformat{\chapter}[display]
{\normalfont\fontsize{11pt}{12pt}\selectfont}{\thechapter}{0pt}{}
%%{\normalfont\fontsize{11pt}{12pt}\selectfont}{\chaptertitlename\space \thechapter}{11pt}{}
\renewcommand\thesection{\arabic{section}}
\titleformat{\section}
{\normalfont\fontsize{11pt}{12pt}\selectfont}{\thesection}{1em}{}
\titleformat{\subsection}
{\normalfont\fontsize{11pt}{12pt}\selectfont\itshape}{}{1em}{}
\titlespacing{\chapter}{0pt}{0pt}{3cm}
\usepackage{titletoc}
\titlecontents{chapter}
[1.5em] % ie, 1.5em (chapter) + 2.3em
{}
{\contentslabel{2.3em}}
{\hspace*{-2.3em}}
{}
%{\titlerule*[1pc]{.}\contentspage}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% codice Pignalberi
\contentsmargin{0pt}
\titlecontents{chapter}[4pc]
{\contentsmargin{0pt}\makebox[0pt][r]{\thecontentspage\quad\makebox[30pt][l]%
{\textsc{\romannumeral\thecontentslabel\ quad}}}}
{}
{}
{}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{document}
\tableofcontents
\chapter{Chapter 1 title}
Some text some text some text some text some text
\section{Section a title}
Some text some text some text some text some text
\section{Section b title}
Some text some text some text some text some text
\chapter{Chapter 2 title}
Some text some text some text some text some text
\section{Section c title}
Some text some text some text some text some text
\section{Section d title}
Some text some text some text some text some text
\chapter{Chapter 3 title}
Some text some text some text some text some text
\section{Section e title}
Some text some text some text some text some text
\section{Section f title}
Some text some text some text some text some text
\end{document}
Intenté cambiarlo según mis necesidades y el formato del índice está bien. Como segundo paso, me gustaría poner los números de página en el ToC en el lado izquierdo. Pero el código que encontré (en mi MWE "codice Pignalberi") interfiere con el anterior. Porque no logro entender, siguiendo el manual de titlesec/titletoc, dónde y cómo coordinar los dos lados de este código, espero de su ayuda.
==================================================== =
ACTUALIZAR
Todo funciona muy bien ahora, gracias al código de Gonzalo. Mejoré dos aspectos (agregué más espacio antes de los títulos de los capítulos y eliminé los números de los capítulos, dejando solo las secciones: ahora me parece más útil para el lector). El código es el siguiente:
<pre>\usepackage{titlesec}
\usepackage[rightlabels,dotinlabels]{titletoc}
\renewcommand{\thechapter}{\roman{chapter}}
\renewcommand\thesection{\arabic{section}}
\titleformat{\chapter}[display]
{\normalfont\fontsize{11}{12}\selectfont}
{\scshape\thechapter}
{0pt}
{}
\titleformat{\section}
{\normalfont\fontsize{11}{12}\selectfont}
{\thesection}
{1em}
{}
\titleformat{\subsection}
{\normalfont\fontsize{11}{12}\selectfont\itshape}
{}
{1em}
{}
\titlespacing{\chapter}
{0pt}{0pt}{3cm}
\titlecontents{chapter}[-3pc]
{\addvspace{0.8pc}}
{\makebox[3pc][r]{\hfill}%
\textsc{\thecontentslabel}\quad%
}
{}
{}
{}
\titlecontents{section}[-3pc]
{\makebox[4pc][r]{\thecontentspage\hfill}%
\textsc{\thecontentslabel}\quad%
}
{}
{}
{}</pre>
Por último, me gustaría alinear todos los números (páginas y secciones) a la derecha y no a la izquierda, ya que en realidad los títulos de las secciones no están bien alineados usando una fuente proporcional. Considere que las titletoc
opciones rightlabels,dotinlabels
me parecen no funcionar. ¡Muchas gracias! Puedes ver el problema aquí:
==================================================== ========
ACTUALIZACIÓN 2
Intenté usar etoc copiando tu código en mi archivo .tex, pero el resultado es muy extraño:
==================================================== ========
ACTUALIZACIÓN 3
Los problemas anteriores se deben al bidi
paquete, ya que en ese archivo también uso hebreo y fenicio. En un archivo "normal", etoc
el código funciona bien. Sólo una última pregunta: tengo que leer muy bien etoc
la documentación, que es bastante extensa. Pero, ¿cómo es posible alinear también los números de página correctos? gracias!!
Respuesta1
Esta es sólo una ligera variante de esa parte deLa respuesta de Gonzalo Medina.que utilizaetoc
. No sé cómo se comporta en interacción con bidi
.
Las etoc
cosas se vuelven más fáciles una vez que uno tiene un suministro de ejemplos.
Aquí he agregado alguna ayuda gráfica para comprender el diseño, particularmente para la alineación vertical. Los números de página de las secciones van al margen izquierdo. Los números de capítulos y secciones están alineados a la derecha y hay una 1em
separación horizontal del título real. Los nombres de los capítulos comienzan en 1cm
el margen izquierdo y los nombres de las secciones en 2cm
. Los nombres largos se ajustan a una distancia del 1cm
margen derecho del texto.
Elactualizar(agregado al final) es en respuesta a comentarios sobre el tratamiento de capítulos sin numerar y la visualización de números de página también para algunos capítulos seleccionados. (Ambos están aquí ilustrados en un capítulo adicional sin numerar).
\documentclass[a4paper]{report}
\usepackage[margin=2cm,paperwidth=14cm]{geometry}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[italian]{babel}
\usepackage{cfr-lm}
\usepackage{titlesec}
\usepackage{etoc}
\usepackage{color}
\renewcommand{\thechapter}{\Roman{chapter}}
\renewcommand\thesection{\arabic{section}}
\titleformat{\chapter}[display]
{\normalfont\fontsize{11}{12}\selectfont}
{\scshape\thechapter}
{0pt}
{}
\titleformat{\section}
{\normalfont\fontsize{11}{12}\selectfont}
{\thesection}
{1em}
{}
\titleformat{\subsection}
{\normalfont\fontsize{11}{12}\selectfont\itshape}
{}
{1em}
{}
\titlespacing{\chapter}
{0pt}{0pt}{3cm}
\etocsetstyle{chapter}
% FOR VISUALIZING LAYOUT:
% {\fboxsep-\fboxrule\noindent\normalsize
% \fbox{\makebox[1cm][r]{\strut
% \smash{\color{blue}\vrule depth12cm}\hspace{1em}%
% \smash{\color{green}\vrule depth12cm}}}%
% \fbox{\makebox[1cm][r]{\color{blue}\strut
% \smash{\color{blue}\vrule depth12cm}\hspace{1em}%
% \smash{\color{green}\vrule depth12cm}}}%
% \fbox{\makebox[1cm]{\strut}}(debugging layout)\hfill
% \fbox{\makebox[1cm][l]{\strut\smash{\color{red}\vrule
% depth12cm}}}%
% \hrule}
{}% <- uncomment the above and suppress this line if debugging layout
{\pagebreak[3]\vskip25pt\leftskip 1cm\relax
\rightskip 1cm\relax
\parindent 0pt\relax
}
{\Large\leavevmode
\llap{\makebox[1cm][r]{\normalsize\etocnumber.\hspace{1em}}}%
\etocname\par\nopagebreak\medskip }
{\bigskip}
\etocsetstyle{section}
{}
{\leftskip 2cm\relax}
{\normalsize\leavevmode
\llap{\makebox[1cm][r]{\mdseries\etocpage}%
\hspace{1cm}%
\makebox[1cm][r]{\etocnumber.\hspace{1em}}}%
\etocname\par\pagebreak[1]\smallskip }
{}
\begin{document}
\tableofcontents
\chapter{Vita e Opere}
\setcounter{page}{98}% just for the example
Some text some text some text some text some text
\section{Infanzia, studi a Lipsia e soggiorno a Parigi}
Some text some text some text some text some text
\section{A Honovver, al servizio del ducchi Johann Friedrich ed Ernst August}
Some text some text some text some text some text
\section{Viaggio in Italia, morte dell'elettore Erns August ed successione del nuovo elettore, Georg Ludwig}
Some text some text some text some text some text
\section{Della \textit{Dissertazione preliminare} al \textit{Dialogo}}
Some text some text some text some text some text
\section{La concezione delle idee}
Some text some text some text some text some text
\chapter{Seggni (``caratteri'') e idee}
Some text some text some text some text some text
\section{Della \textit{Dissertazione preliminare} al \textit{Dialogo}}
Some text some text some text some text some text
\section{La concezione delle idee}
Some text some text some text some text some text
\section{A Honovver, al servizio del ducchi Johann Friedrich ed Ernst August}
Some text some text some text some text some text
\clearpage
\section{Viaggio in Italia, morte dell'elettore Erns August ed successione del nuovo elettore, Georg Ludwig}
Some text some text some text some text some text
\section{A Honovver, al servizio del ducchi Johann Friedrich ed Ernst August}
Some text some text some text some text some text
\section{Viaggio in Italia, morte dell'elettore Erns August ed successione del nuovo elettore, Georg Ludwig}
Some text some text some text some text some text
\end{document}
\documentclass[a4paper]{report}
\usepackage[margin=2cm,paperwidth=14cm]{geometry}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[italian]{babel}
\usepackage{cfr-lm}
\usepackage{titlesec}
\usepackage{etoc}
\usepackage{color}
\renewcommand{\thechapter}{\Roman{chapter}}
\renewcommand\thesection{\arabic{section}}
\titleformat{\chapter}[display]
{\normalfont\fontsize{11}{12}\selectfont}
{\scshape\thechapter}
{0pt}
{}
\titleformat{\section}
{\normalfont\fontsize{11}{12}\selectfont}
{\thesection}
{1em}
{}
\titleformat{\subsection}
{\normalfont\fontsize{11}{12}\selectfont\itshape}
{}
{1em}
{}
\titlespacing{\chapter}
{0pt}{0pt}{3cm}
%% ETOC SPECIFICATIONS
% conditional to display chapter page number
% a priori set to false
\newif\ifDisplayInTocChapterPageNumber
\etocsetstyle{chapter}
{}
{\pagebreak[3]\vskip25pt\leftskip 1cm\relax
\rightskip 1cm\relax
\parindent 0pt\relax
}
{\Large\leavevmode
\llap{\ifDisplayInTocChapterPageNumber
\makebox[1cm][r]{\mdseries\normalsize\etocpage}%
\fi
\makebox[1cm][r]{\normalsize\etocifnumbered{\etocnumber.}{}%
\hspace{1em}}}%
\etocname\par\nopagebreak\medskip }
{\bigskip}
\etocsetstyle{section}
{}
{\leftskip 2cm\relax}
{\normalsize\leavevmode
\llap{\makebox[1cm][r]{\mdseries\etocpage}%
\hspace{1cm}%
\makebox[1cm][r]{\etocnumber.\hspace{1em}}}%
\etocname\par\pagebreak[1]%\smallskip
}
{}
\begin{document}
\tableofcontents
\chapter{Vita e Opere}
\setcounter{page}{98}% just for the example
Some text some text some text some text some text
\section{Infanzia, studi a Lipsia e soggiorno a Parigi}
Some text some text some text some text some text
\section{A Honovver, al servizio del ducchi Johann Friedrich ed Ernst August}
Some text some text some text some text some text
\section{Viaggio in Italia, morte dell'elettore Erns August ed successione del nuovo elettore, Georg Ludwig}
Some text some text some text some text some text
\section{Della \textit{Dissertazione preliminare} al \textit{Dialogo}}
Some text some text some text some text some text
\section{La concezione delle idee}
Some text some text some text some text some text
\chapter{Seggni (``caratteri'') e idee}
Some text some text some text some text some text
\section{Della \textit{Dissertazione preliminare} al \textit{Dialogo}}
Some text some text some text some text some text
\section{La concezione delle idee}
Some text some text some text some text some text
\section{A Honovver, al servizio del ducchi Johann Friedrich ed Ernst August}
Some text some text some text some text some text
\clearpage
\section{Viaggio in Italia, morte dell'elettore Erns August ed successione del nuovo elettore, Georg Ludwig}
Some text some text some text some text some text
\section{A Honovver, al servizio del ducchi Johann Friedrich ed Ernst August}
Some text some text some text some text some text
\section{Viaggio in Italia, morte dell'elettore Erns August ed successione del nuovo elettore, Georg Ludwig}
Some text some text some text some text some text
\addtocontents{toc}{\protect\DisplayInTocChapterPageNumbertrue}
\chapter*{Un capitolo non numerato e col numero di pagina nel margine dell'indice}
\addcontentsline{toc}{chapter}{Un capitolo non numerato e col numero di
pagina nel margine dell'indice}
\setcounter{section}{0}
\section{Ultimi anni}
Some text some text some text some text some text
\end{document}
Respuesta2
A continuación muestro dos opciones; el primero usa etoc
y el segundo, titletoc
. El formato final deseado todavía no me queda del todo claro. La pregunta solicita colocar los números de página para el capítulo a la izquierda, y luego se proporciona una imagen en los comentarios en la que las entradas del capítulo no tienen números de página a la izquierda. De todos modos, el código de ejemplo a continuación permite personalizaciones sencillas para lograr cualquier formato deseado.
Una posibilidad usando el poderosoetoc
paquete:
\documentclass[a4paper]{report}
\usepackage[margin=2cm,paperwidth=14cm]{geometry}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[italian]{babel}
\usepackage{cfr-lm}
\usepackage{titlesec}
\usepackage{etoc}
\renewcommand{\thechapter}{\Roman{chapter}}
\renewcommand\thesection{\arabic{section}}
\titleformat{\chapter}[display]
{\normalfont\fontsize{11}{12}\selectfont}
{\scshape\thechapter}
{0pt}
{}
\titleformat{\section}
{\normalfont\fontsize{11}{12}\selectfont}
{\thesection}
{1em}
{}
\titleformat{\subsection}
{\normalfont\fontsize{11}{12}\selectfont\itshape}
{}
{1em}
{}
\titlespacing{\chapter}
{0pt}{0pt}{3cm}
\etocsetstyle{chapter}
{}
{\vskip25pt\leavevmode\leftskip 0cm\relax}
{\parbox[t]{.5cm}{\etocnumber.\hfill}%
\parbox[t]{\dimexpr\linewidth-1cm-15pt\relax}{\Large\etocname}\hfill\par\medskip
}
{}
\etocsetstyle{section}
{}
{\leavevmode\leftskip 0cm\relax}
{\llap{\parbox[t]{1.5cm}{\mdseries\hfill\etocpage}\hspace{.5cm}}%
\normalsize\parbox[t]{1cm}{\quad\etocnumber.\hfill}%
\parbox[t]{\dimexpr\linewidth-1cm-15pt\relax}{\etocname\par}\hfill\par
}
{}
\begin{document}
\tableofcontents
\chapter{Vita e Opere}
\setcounter{page}{98}% just for the example
Some text some text some text some text some text
\section{Infanzia, studi a Lipsia e soggiorno a Parigi}
Some text some text some text some text some text
\section{A Honovver, al servizio del ducchi Johann Friedrich ed Ernst August}
Some text some text some text some text some text
\section{Viaggio in Italia, morte dell'elettore Erns August ed successione del nuovo elettore, Georg Ludwig}
Some text some text some text some text some text
\section{Della \textit{Dissertazione preliminare} al \textit{Dialogo}}
Some text some text some text some text some text
\section{La concezione delle idee}
Some text some text some text some text some text
\chapter{Seggni (``caratteri'') e idee}
Some text some text some text some text some text
\section{Della \textit{Dissertazione preliminare} al \textit{Dialogo}}
Some text some text some text some text some text
\section{La concezione delle idee}
Some text some text some text some text some text
\section{A Honovver, al servizio del ducchi Johann Friedrich ed Ernst August}
Some text some text some text some text some text
\clearpage
\section{Viaggio in Italia, morte dell'elettore Erns August ed successione del nuovo elettore, Georg Ludwig}
Some text some text some text some text some text
\section{A Honovver, al servizio del ducchi Johann Friedrich ed Ernst August}
Some text some text some text some text some text
\section{Viaggio in Italia, morte dell'elettore Erns August ed successione del nuovo elettore, Georg Ludwig}
Some text some text some text some text some text
\end{document}
Aquí hay otra posibilidad usando titletoc
:
\documentclass[a4paper]{report}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[italian]{babel}
\usepackage{cfr-lm}
\usepackage{titlesec}
\usepackage{titletoc}
\renewcommand{\thechapter}{\roman{chapter}}
\renewcommand\thesection{\arabic{section}}
\titleformat{\chapter}[display]
{\normalfont\fontsize{11}{12}\selectfont}
{\scshape\thechapter}
{0pt}
{}
\titleformat{\section}
{\normalfont\fontsize{11}{12}\selectfont}
{\thesection}
{1em}
{}
\titleformat{\subsection}
{\normalfont\fontsize{11}{12}\selectfont\itshape}
{}
{1em}
{}
\titlespacing{\chapter}
{0pt}{0pt}{3cm}
\titlecontents{chapter}[-4pc]
{\makebox[2pc][l]{\hfill\thecontentspage}\hspace{2pc}%
\textsc{\thecontentslabel}\quad%
}
{}
{}
{}
\titlecontents{section}[-4pc]
{\makebox[2pc][l]{\hfill\thecontentspage}\hspace{3pc}%
\textsc{\thecontentslabel}\quad%
}
{}
{}
{}
\begin{document}
\tableofcontents
\chapter{Chapter 1 title}
\setcounter{page}{98}% just for the example
Some text some text some text some text some text
\section{Section a title}
Some text some text some text some text some text
\section{Section b title}
Some text some text some text some text some text
\chapter{Chapter 2 title}
Some text some text some text some text some text
\section{Section c title}
Some text some text some text some text some text
\section{Section d title}
Some text some text some text some text some text
\chapter{Chapter 3 title}
Some text some text some text some text some text
\section{Section e title}
Some text some text some text some text some text
\section{Section f title}
Some text some text some text some text some text
\end{document}
Respuesta3
Si he entendido correctamente su diseño, aquí hay una solución básica basada en titletoc
:
\newcommand\boxedpage{\makebox[3pc][r]{\thecontentspage}}
\newcommand\boxedtocnum{\makebox[3pc][r]{\thecontentslabel.\quad}}
\titlecontents{chapter}[0pc]
{\addvspace{0.8pc}}
{\contentslabel[\boxedpage\boxedtocnum]{6pc}}
{}{}{}
\titlecontents{section}[3pc]
{}
{\contentslabel[\boxedpage\hspace*{3pc}\boxedtocnum]{9pc}}
{}{}{}
Simplemente juega con las dimensiones.
EDITAR.Aquí hay un ejemplo completo con titletoc
. Recuerda que puedes controlar la numeración con secnumdepth
, y las entradas incluidas en el TOC con tocdepth
. Recuerde que también titletoc
puede cambiar el formato de las entradas TOC en elmediodel documento (para secciones posteriores), si por alguna razón lo necesita. Como antes, simplemente juega con las dimensiones.
\documentclass{book}
\renewcommand{\thesection}{\arabic{section}}
\usepackage{titletoc}
\newcommand\boxedpage{\makebox[3pc][r]{\thecontentspage}}
\newcommand\boxedtocnum{\makebox[3pc][r]{\thecontentslabel.\quad}}
\titlecontents{chapter}[3pc]
{\addvspace{0.8pc}}
{\contentslabel[\boxedpage\boxedtocnum]{6pc}}
{\contentslabel[\boxedpage\hspace*{3pc}]{6pc}}
{}{}
\titlecontents{section}[6pc]
{}
{\contentslabel[\boxedpage\hspace*{3pc}\boxedtocnum]{9pc}}
{\contentslabel[\boxedpage\hspace*{6pc}]{9pc}}
{}{}
\newcommand*\asection{
\section{A Honovver, text text al servizio del ducchi Johann
Friedrich ed Ernst August.}
Some text some text some text some text some text\par}
\begin{document}
\tableofcontents
\chapter{Vita e Opere}
\setcounter{page}{98}% just for the example
\asection\asection
\chapter{Seggni (``caratteri'') e idee}
\asection\asection\asection\asection\asection
\asection\asection\asection\asection\asection
% From now on, unnumbered headers, but still in the toc
% down to section
\setcounter{secnumdepth}{-1}
\addtocontents{toc}{\protect\setcounter{tocdepth}{1}\ignorespaces}
\chapter{Seggni (``caratteri'') e idee}
\asection\asection
\end{document}