다음 코드를 고려하십시오.
\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}
필요에 따라 변경해 보았는데 인덱스 형식은 괜찮습니다. 두 번째 단계로 ToC 왼쪽에 페이지 번호를 넣고 싶습니다. 그러나 내가 찾은 코드(MWE "codice Pignalberi"에서)는 이전 코드를 방해합니다. 나는 이해할 수 없기 때문에 titlesec/titletoc 매뉴얼에 따라 이 코드의 양면을 어디에서 어떻게 조정해야 하는지, 여러분의 도움을 바랍니다.
================================================= =
업데이트
이제 Gonzalo의 코드 덕분에 모든 것이 잘 작동합니다. 나는 두 가지 측면을 개선했습니다(장 제목 앞에 더 많은 공간을 추가하고 장 번호를 제거하여 섹션의 것만 남겨두었습니다. 이제 독자에게 더 유용해 보입니다). 코드는 다음과 같습니다.
<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>
마지막으로 모든 숫자(페이지 및 섹션)를 왼쪽이 아닌 오른쪽으로 정렬하고 싶습니다. 실제로 섹션의 제목은 비례 글꼴을 사용하여 잘 정렬되지 않기 때문입니다. titletoc
옵션이 rightlabels,dotinlabels
작동하지 않는 것 같습니다 . 정말 고마워요! 여기서 문제를 볼 수 있습니다:
================================================= ========
업데이트 2
귀하의 코드를 .tex 파일에 복사하는 etoc을 사용하려고 시도했지만 결과는 매우 이상합니다.
================================================= ========
업데이트 3
위의 문제는 bidi
패키지로 인해 발생합니다. 해당 파일에서는 히브리어와 페니키아어도 사용하기 때문입니다. "일반" 파일 etoc
코드에서는 정상적으로 작동합니다. 마지막 질문입니다. etoc
꽤 방대한 문서를 잘 읽어야 합니다 . 하지만 올바른 페이지 번호도 정렬하는 것이 어떻게 가능합니까? 고마워요!!
답변1
이것은 그 부분에 대한 약간의 변형일 뿐입니다.곤잘로 메디나의 답변사용하는etoc
. 와 상호 작용할 때 어떻게 작동하는지 모르겠습니다 bidi
.
etoc
예제가 제공되면 일이 더 쉬워집니다 .
여기에는 레이아웃, 특히 수직 정렬을 이해하는 데 도움이 되는 몇 가지 그래픽 지원 기능이 추가되었습니다. 섹션 페이지 번호는 왼쪽 여백에 표시됩니다. 장과 섹션 번호는 오른쪽 정렬되며 1em
실제 제목과 가로로 구분되어 있습니다. 장 이름은 1cm
왼쪽 여백에서 시작하고 섹션 이름은 에서 시작합니다 2cm
. 긴 이름은 1cm
오른쪽 텍스트 여백에서 의 거리를 두고 줄바꿈됩니다 .
그만큼업데이트(끝에 추가됨)은 번호가 없는 장을 처리하고 선택한 일부 장에 대해서도 페이지 번호를 표시하는 것에 대한 의견에 대한 응답입니다. (둘 다 여기에 번호가 없는 추가 장에 설명되어 있습니다).
\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}
답변2
아래에는 두 가지 옵션이 나와 있습니다. 첫 번째는 를 사용 etoc
하고 두 번째는 titletoc
. 원하는 최종 형식이 아직 완전히 명확하지 않습니다. 질문은 장의 페이지 번호를 왼쪽에 배치하도록 요청한 다음 장 항목의 왼쪽에 페이지 번호가 없는 주석에 이미지가 제공됩니까? 어쨌든 아래 예제 코드를 사용하면 원하는 형식을 달성하기 위해 쉽게 사용자 정의할 수 있습니다.
강력한 힘을 이용한 한 가지 가능성etoc
패키지:
\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}
다음을 사용하는 또 다른 가능성이 있습니다 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}
답변3
귀하의 레이아웃을 올바르게 이해했다면 다음을 기반으로 한 기본 솔루션이 있습니다 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}}
{}{}{}
그냥 차원을 가지고 놀아보세요.
편집하다.다음은 titletoc
. 로 번호 매기기를 제어할 수 secnumdepth
있고 로 목차에 포함된 항목을 제어할 수 있습니다 tocdepth
. 또한 다음 titletoc
에서 TOC 항목의 형식을 변경할 수 있다는 점을 기억하십시오.가운데어떤 이유로든 필요한 경우 문서(다음 섹션용). 이전과 마찬가지로 치수를 가지고 플레이하면 됩니다.
\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}