Por favor, considere o seguinte 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}
Tentei alterar, de acordo com minha necessidade, e o formato do índice está ok. Como segunda etapa, gostaria de colocar os números das páginas no sumário, no lado esquerdo. Mas o código que encontrei (no meu "codice Pignalberi" do MWE) interfere no anterior. Pois não estou conseguindo entender, seguindo o manual do titlesec/titletoc, onde e como coordenar os dois lados deste código, espero a sua ajuda.
================================================= =
ATUALIZAR
Tudo funciona muito bem agora, graças ao código do Gonzalo. Melhorei dois aspectos (adicionar mais espaço antes dos títulos dos capítulos e remover os números dos capítulos, deixando apenas os das seções: agora parece mais útil ao leitor). O código é o seguinte:
<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, gostaria de alinhar à direita e não à esquerda todos os números (páginas e seções), pois na verdade os títulos das seções não estão bem alinhados usando uma fonte proporcional. Considere que as titletoc
opções rightlabels,dotinlabels
me parecem não funcionar. Muito obrigado! Você pode ver o problema aqui:
================================================= ========
ATUALIZAÇÃO 2
Tentei usar o etoc copiando seu código para o meu arquivo .tex, mas o resultado é muito estranho:
================================================= ========
ATUALIZAÇÃO 3
Os problemas acima são devido ao bidi
pacote, pois nesse arquivo eu uso hebraico e fenício também. Em um etoc
código de arquivo "normal" funciona bem. Só uma última pergunta: tenho que ler muito bem etoc
a documentação, que é bastante extensa. Mas como é possível alinhar também os números de página corretos? obrigado!!
Responder1
Esta é apenas uma pequena variante daquela parte doA resposta de Gonzalo Medinaque usaetoc
. Não sei como ele se comporta em interação com bidi
.
Com isso etoc
, as coisas ficam mais fáceis quando se tem um suprimento de exemplos.
Aqui adicionei alguns auxílios gráficos para entender o layout, principalmente para alinhamento vertical. Os números das páginas das seções vão para a margem esquerda. Os capítulos e os números das seções estão alinhados à direita e há uma 1em
separação horizontal do título real. Os nomes dos capítulos começam na 1cm
margem esquerda e os nomes das seções em 2cm
. Nomes longos quebram a uma distância de 2,5 cm 1cm
da margem direita do texto.
Oatualizar(adicionado no final) é uma resposta a comentários sobre o tratamento de capítulos não numerados e a exibição de números de páginas também para alguns capítulos selecionados. (ambos estão aqui ilustrados em um capítulo extra não numerado).
\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}
Responder2
Abaixo mostro duas opções; o primeiro usa etoc
e o segundo, titletoc
. A formatação final desejada ainda não está completamente clara para mim. A pergunta pede para colocar os números das páginas dos capítulos à esquerda e, em seguida, uma imagem é fornecida nos comentários em que as entradas dos capítulos não têm números de páginas à esquerda? De qualquer forma, o código de exemplo abaixo permite personalizações fáceis para atingir o formato desejado.
Uma possibilidade usando o poderosoetoc
pacote:
\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}
Aqui está outra possibilidade 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}
Responder3
Se entendi corretamente o seu layout, aqui está uma solução básica baseada em 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}}
{}{}{}
Basta brincar com dimensões.
EDITAR.Aqui está um exemplo completo com titletoc
. Lembre-se de que você pode controlar a numeração com secnumdepth
e as entradas incluídas no sumário com tocdepth
. Lembre-se também de que titletoc
você pode alterar o formato das entradas do sumário nomeiodo documento (para seções subsequentes), se por algum motivo você precisar dele. Como antes, apenas brinque com as dimensões.
\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}