如何以某种方式编辑目录

如何以某种方式编辑目录

这是该问题的附录:如何将分项列表添加到目录中

在此处输入图片描述

我已经按照上面的链接做了所有事情,到目前为止,一切顺利...并打印了它....作者希望这些行在页码列之前完成....就像图片一样....有没有办法减少这些特定行的长度而不影响其他行?

并且还想减少那里前两个主题“演示”和“介绍”之间的大小。有什么办法吗?

以下是获得以下结果的代码:

\documentclass[14pt, twoside, a5paper, extrafontsizes]{memoir} %Classe estilo memoir
\usepackage[brazilian]{babel} %Traduz doc para português do Brasil
\usepackage[utf8]{inputenc} %Reconhece acentuação draft
\usepackage{indentfirst} %Define identação em todo primeiro parágrafo
\usepackage{garamondx} %Define a nova fonte garamond
\usepackage[fontsize=13pt]{scrextend}
\usepackage{leading} %Define espaçamento entre linhas
\usepackage{eqparbox} %Serve para colocar o \frontmatter alinhado a esquerda no sumário

\newcommand{\desctotoc}[1]{% Serve para adicionar descrição nos itens do sumário
    \addtocontents{toc}{\medskip\noindent\detokenize{#1}\leavevmode\par\smallskip}
}

\setstocksize{21cm}{14cm} %Define tamanho do livro
\settrimmedsize{\stockheight}{\stockwidth}{*}
\setulmarginsandblock{2.2cm}{2.2cm}{*} %Define margem vertical maior TOP/BOT
\setlrmarginsandblock{2.1cm}{1.3cm}{*} %Define margem horizontal maior
\setheadfoot{1.5cm}{1cm} %Distancia do texto pro número da página
\setheaderspaces{*}{*}{0.5}

\leading{16pt} %orientação de leading

\checkandfixthelayout %Define margem horizontal maior

\makeevenfoot{headings}{}{\thepage}{}
\makeoddfoot{headings}{}{\thepage}{}
\makeevenhead{headings}{}{}{}
\makeoddhead{headings}{}{}{}

\copypagestyle{chapter}{plain} % make chapter a page style of its own
\makeevenfoot{chapter}{}{\thepage}{}
\makeoddfoot{chapter}{}{\thepage}{}
\makeevenhead{chapter}{}{}{}
\makeoddhead{chapter}{}{}{}

\renewcommand{\chapnumfont}{\bfseries\huge} %Formata Nº título de Cap
\renewcommand{\chapnamefont}{\small} %Formata "Capítulo X"
\renewcommand{\chaptitlefont}{\normalfont\Huge} %Formata Título de Cap

\newlength{\aftertocskip} %Define espaço menor entre "Sumário" e Cap1
\setlength{\aftertocskip}{1\baselineskip}% Space after ToC title
\renewcommand{\aftertoctitle}{\par\nobreak\vskip\aftertocskip}




\chapterstyle{thatcher}
\makeatletter
\let\oldcftchapterfont\cftchapterfont% Save ToC-related chapter entry font
\g@addto@macro\frontmatter{%
    \addtocontents{toc}{% Update chapter entry font
        \protect\g@addto@macro\protect\cftchapterfont{\protect\cftchapterformatpnum{}\hfill\itshape
            \protect\eqmakebox[tocfm][l]}%
    }%
}

\g@addto@macro\mainmatter{%
    \addtocontents{toc}{% Restore chapter entry font
        \let\protect\cftchapterfont\protect\oldcftchapterfont%
    }%
}
\makeatother

\begin{document} %=====================================================================================================
    \frontmatter

    \tableofcontents*

    \protected\def\apresentacao{APRESENTAÇÃO \protect\\ à 16ª edição}
    \chapter
    [Apresentação à 16ª edição]
    [APRESENTAÇÃO]
    {\apresentacao}     

    \chapter{Introdução}
        \mainmatter
        \pagenumbering{arabic}%retoma numerção de página
        \setcounter{page}{21}%retoma numeração na núm{x}    

    \chapter{Potencial do Ser Humano}
        \desctotoc{
            Ser humano – potencial latente, inexplorado ou \linebreak bloqueado.
            }


    \chapter{O Poder de Sua Mente}
    \desctotoc{
        Consciente – “Eu racional”.
        Subconsciente - É mecânico e funciona automaticamente.
    }


    \chapter{Processo Psíquico do Poder Extra}
        \desctotoc{
            Fases do processo psíquico. O poder da imaginação.
        }


    \chapter{Funcionamento do Processo Psíquico}
            \desctotoc{
                Dúvida Emocional e Ansiedade.
            }


    \chapter{O Pensamento Positivo} %Aqui tem tabela customizada com linhas mais juntas
        \desctotoc{
            Pela repetição de pensamentos, programa-se o \linebreak Subconsciente como, pela repetição de movimentos, \linebreak desenvolve-se habilidades. Registro do sucesso e da \linebreak Felicidade (Diário da Felicidade). \dotfill 91
        }

\end{document}

答案1

为了减少前两个内容行之间的空间,我建议添加类似

\addtocontents{toc}{\vskip-2ex}

两个章节标题之间。这只是一个快速技巧;一个干净的解决方案需要定义何时应该减少空间并修改内容行的书写方式。

对于另一个问题,将当前的定义替换\desctotoc

\newcommand{\desctotoc}[1]{\addtocontents{toc}{\detokenize{\desctoc{#1}}}}
\newlength\desctocwidth
\desctocwidth\textwidth
\advance\desctocwidth-2em
\newcommand{\desctoc}[1]%
 {\medskip
  \parbox{\desctocwidth}{\small #1}%
  \leavevmode\par\smallskip
 }

通过此修改,描述被包装到\desctoc目录中的命令中。通过充分定义此命令,您可以确定如何排版描述。在我的定义中,它排版在比文本宽度略小的 parbox 中,字体较小。

编辑:根据特殊要求,这是命令的第二个版本,带有页码的可选参数。\desctotoc用以下定义替换

\newcommand{\desctotoc}[2][]{\addtocontents{toc}{\detokenize{\desctoc{#1}{#2}}}}
\newlength\desctocwidth
\desctocwidth\textwidth
\advance\desctocwidth-2em
\newcommand{\desctoc}[2]%
 {\medskip
  \parbox[b]{\desctocwidth}{\small #2\ifx\relax#1\relax\else\ \dotfill\fi}%
  \hspace*{\fill}#1%
  \leavevmode\par\smallskip
 }

如果描述中没有附加页码,则将其用作\desctotoc{<text describing chapter>}。如果还应提供页码,则将其用作\desctotoc[<page number>]{<text describing chapter>}。(不要包含\dotfill在文本中,当存在页码时会自动添加。)

例如,将文件更改为

...
\chapter[Apresentação à 16ª edição][APRESENTAÇÃO]{\apresentacao}
\addtocontents{toc}{\vskip-2ex}   %%% Reduce space
\chapter{Introdução}
...
\chapter{Potencial do Ser Humano}
\desctotoc{Ser humano – potencial latente, inexplorado ou \linebreak bloqueado.}
...
\chapter{O Pensamento Positivo}
\desctotoc[91]{Pela repetição de pensamentos, programa-se o
  \linebreak Subconsciente como, pela repetição de movimentos,
  \linebreak desenvolve-se habilidades. Registro do sucesso e da
  \linebreak Felicidade (Diário da Felicidade).}
...

我们获得了以下目录(使用标准字体而不是 Garamond;没有费心安装它们)。

在此处输入图片描述

相关内容