
Estoy escribiendo un libro. Tiene un texto especial tipo toc al comienzo de cada capítulo.
Lo que quiero hacer es: usar después de cada sección un entorno (digamos resumen) y obtener el resultado al comienzo de cada capítulo.
\documentclass{book}
\usepackage[inline]{enumitem}
\begin{document}
\chapter{First Chapter}
\begin{abstract}
\begin{itemize*}
\item First this abstract talks about....
\item Second we have ...
\end{itemize*}
\end{abstract}
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod
tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At
vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren,
no sea takimata sanctus est Lorem ipsum dolor sit amet.
\section{First Section}
\begin{abstract}
\begin{itemize*}
\item this section talks about ....
\item it also tals about
\end{\itemize*}
\end{abstract}
bla bla bla
\end{document}
resultado:
First Chapter
-- First this abstract talks about.... -- Second we have ...
1. First Section: -- this section talks about .... -- it also talks about
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod
tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At
vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren,
no sea takimata sanctus est Lorem ipsum dolor sit amet.
*First Section*
bla bla bla
es posible?
Tenga en cuenta que esto no es solo un minitoc, porque cada sección tendrá un resumen en el toc.
Editar: la descripción es en realidad un itemize*
entorno proporcionado por el enumitem
paquete.
Respuesta1
Aquí se explica cómo hacerlo conetoc. He agregado un "minitoc" de resúmenes de capítulos, adicionalmente a los tocs de resúmenes de secciones, uno por capítulo.
La actualización agrega un segundo ejemplo de código en respuesta a los comentarios: cómo usar el método con capítulos sin numerar ( \chapter*
) y cómo usarlo enumerate*
en lugar de enumerate
para la recopilación de capítulos de sección realizada al comienzo de cada capítulo (ahora sin numerar).
Página 1
página 3
pagina 5
\documentclass{book}
\usepackage[inline]{enumitem}
\usepackage{etoc}
\usepackage{hyperref}% checking compatibility (also for pdf bookmarks)
\etocsetlevel{chapterabstract}{6}% invisible in TOCs unless level changed
\etocsetlevel{sectionabstract}{6}% invisible in TOCs unless level changed
\usepackage{environ}
%%%%
\NewEnviron {sectionabstract}{%
\expandafter\SaveSectionAbstract\expandafter {\BODY}%
}%
\newcommand\SaveSectionAbstract [1]{%
\etoctoccontentsline{sectionabstract}{\unexpanded{\unexpanded{#1}}}}
\NewEnviron {chapterabstract}{%
\expandafter\SaveChapterAbstract\expandafter {\BODY}%
}%
\newcommand\SaveChapterAbstract [1]{%
\etoctoccontentsline{chapterabstract}{\unexpanded{\unexpanded{#1}}}}
%%%%
\newcommand\PrintSectionAbstracts {%
\begingroup
% level must be set *before* use of \etocsetstyle
\etocsetlevel {sectionabstract}{2}
\etocsetnexttocdepth {sectionabstract}
\etocsetlevel {subsection}{3}
\etocsetstyle {section}
{\begin{enumerate}}
{}
{\item \etocname:~}
{\end{enumerate}}
\etocsetstyle {sectionabstract}
{}
{}
{\etocthename\par}
{}
\etocsettocstyle{\subsection*{Section abstracts}}{}
\localtableofcontents
\endgroup
}
\newcommand\PrintChapterAbstracts {%
\begingroup
\etocsetlevel {chapterabstract}{1}
\etocsetnexttocdepth {chapterabstract}
\etocsetlevel {section}{2}
\etocsetstyle {chapter}
{\begin{enumerate}}
{}
{\item \etocname:~}
{\end{enumerate}}
\etocsetstyle {chapterabstract}
{}
{}
{\etocthename\par}
{}
\etocsettocstyle{\subsection*{Chapter abstracts}}{}
%\localtableofcontents
% better not local, as the main TOC itself, a priori printed before,
% could have been configured to create a chapter entry in the toc file
\tableofcontents
\endgroup
}
\begin{document}
\tableofcontents % standard table of contents
\PrintChapterAbstracts % chapter abstracts
\chapter{First Chapter}
\begin{chapterabstract}
\begin{itemize*}
\item First this chapter talks about....
\item Second we have ...
\end{itemize*}
\end{chapterabstract}
\PrintSectionAbstracts % section abstracts
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod
tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At
vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren,
no sea takimata sanctus est Lorem ipsum dolor sit amet.
\section{First Section}
\begin{sectionabstract}
\begin{itemize*}
\item this first section talks about Lorem ipsum dolor sit amet,
consetetur sadipscing elitr \dots
\item it also talks about \dots
\end{itemize*}
\end{sectionabstract}
bla bla bla
\section{Second Section}
\begin{sectionabstract}
\begin{itemize*}
\item this second section talks about ipsum dolor sit amet, consetetur
sadipscing elitr,
\item it also talks about sed diam voluptua. At vero eos et accusam et
justo duo dolores et ea rebum.
\end{itemize*}
\end{sectionabstract}
bla bla bla
\section{Third Section}
\begin{sectionabstract}
\begin{itemize*}
\item this third section talks about ipsum dolor sit amet, consetetur
sadipscing elitr,
\item it also talks about sed diam voluptua.
\end{itemize*}
\end{sectionabstract}
bla bla bla
\chapter{Second Chapter}
\begin{chapterabstract}
\begin{itemize*}
\item First this second chapter talks about ipsum dolor sit amet,
consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut
labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos
et accusam et justo duo dolores et ea rebum.
\item Second we have clita kasd gubergren, no sea takimata sanctus est
Lorem ipsum dolor sit amet.
\end{itemize*}
\end{chapterabstract}
\PrintSectionAbstracts % section abstracts
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod
tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At
vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren,
no sea takimata sanctus est Lorem ipsum dolor sit amet.
\section{First Section}
\begin{sectionabstract}
\begin{itemize*}
\item this first section of the second chapter talks about \dots
\item it also talks about \dots
\end{itemize*}
\end{sectionabstract}
bla bla bla
\section{Second Section}
\begin{sectionabstract}
\begin{itemize*}
\item this section talks about \dots
\item it also talks about \dots
\end{itemize*}
\end{sectionabstract}
bla bla bla
\section{Third Section}
\begin{sectionabstract}
\begin{itemize*}
\item this third section talks about ipsum dolor sit amet, consetetur sadipscing elitr,
\item it also talks about sed diam voluptua. At
vero eos et accusam et justo duo dolores et ea rebum.
\end{itemize*}
\end{sectionabstract}
bla bla bla
\end{document}
Observación: esta es una elaboración adicional de mirespuestaaHaga una segunda "tabla de contenidos" incorporando un breve resumen para cada sección.. Lo nuevo es el uso del paquete.reinarpara permitir un entorno en lugar de una sintaxis de comando. Aparte de eso, esta es esencialmente la misma técnica.
Actualizar:
página de la tabla de contenido principal (tenga en cuenta que utiliza los espacios reservados predeterminados de la clase para los números de sección, que aquí son demasiado grandes ya que los capítulos no están numerados; puede usarlos etoc
más completamente, ver el manual para ver ejemplos, o usarlos para ejemplo tocloft
para personalizar este TOC principal impreso enmodo de compatibilidad).
Los resúmenes de los capítulos se imprimen utilizando un description
entorno.
pagina del primer capitulo
pagina del segundo capitulo
\documentclass{book}
\usepackage[inline]{enumitem}
\usepackage{etoc}
\usepackage{hyperref}% checking compatibility (also for pdf bookmarks)
\etocsetlevel{chapterabstract}{6}% invisible in TOCs unless level changed
\etocsetlevel{sectionabstract}{6}% invisible in TOCs unless level changed
\usepackage{environ}
%%%%
\NewEnviron {sectionabstract}{%
\expandafter\SaveSectionAbstract\expandafter {\BODY}%
}%
\newcommand\SaveSectionAbstract [1]{%
\etoctoccontentsline{sectionabstract}{\unexpanded{\unexpanded{#1}}}}
\NewEnviron {chapterabstract}{%
\expandafter\SaveChapterAbstract\expandafter {\BODY}%
}%
\newcommand\SaveChapterAbstract [1]{%
\etoctoccontentsline{chapterabstract}{\unexpanded{\unexpanded{#1}}}}
%%%%
\newcommand\PrintSectionAbstracts {%
\begingroup
% level must be set *before* use of \etocsetstyle
\etocsetlevel {sectionabstract}{2}
\etocsetnexttocdepth {sectionabstract}
\etocsetlevel {subsection}{3}
% enumitem redefinition of \item causes the closing of groups
% hence either some \expandafter, or like here \global saving
% of number and name
\etocsetstyle {section}
{\begin{enumerate*}}
{\global\let\EtocNumber\etocthenumber
\global\let\EtocName\etocthelinkedname}
{\item [{\bfseries\EtocNumber.}~]\EtocName: }
{\end{enumerate*}}
\etocsetstyle {sectionabstract}
{}
{}
{\etocthename\par}
{}
\etocsettocstyle{\subsection*{Section abstracts}}{\medskip}
\localtableofcontents
\endgroup
}
\newcommand\PrintChapterAbstracts {%
\begingroup
\etocsetlevel {chapterabstract}{1}
\etocsetnexttocdepth {chapterabstract}
\etocsetlevel {section}{2}
\etocsetstyle {chapter}
{\begin{description}}
{}
{\item[\etocname] }
{\end{description}}
\etocsetstyle {chapterabstract}
{}
{}
{\etocthename\par}
{}
\etocsettocstyle{\subsection*{Chapter abstracts}}{}
\tableofcontents
\endgroup
}
\begin{document}
\renewcommand{\thesection}{\arabic{section}}
\tableofcontents % standard table of contents
\PrintChapterAbstracts % chapter abstracts
\chapter*{First Chapter}
\addcontentsline{toc}{chapter}{First Chapter}
\begin{chapterabstract}
\begin{itemize*}
\item First this chapter talks about....
\item Second we have ...
\end{itemize*}
\end{chapterabstract}
\PrintSectionAbstracts % section abstracts
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod
tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At
vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren,
no sea takimata sanctus est Lorem ipsum dolor sit amet.
\section{First Section}
\begin{sectionabstract}
\begin{itemize*}
\item this first section talks about Lorem ipsum dolor sit amet,
consetetur sadipscing elitr \dots
\item it also talks about \dots
\end{itemize*}
\end{sectionabstract}
bla bla bla
\subsection{this subsection should not create problems}
\section{Second Section}
\begin{sectionabstract}
\begin{itemize*}
\item this second section talks about ipsum dolor sit amet, consetetur
sadipscing elitr,
\item it also talks about sed diam voluptua. At vero eos et accusam et
justo duo dolores et ea rebum.
\end{itemize*}
\end{sectionabstract}
bla bla bla
\section{Third Section}
\begin{sectionabstract}
\begin{itemize*}
\item this third section talks about ipsum dolor sit amet, consetetur
sadipscing elitr,
\item it also talks about sed diam voluptua.
\end{itemize*}
\end{sectionabstract}
bla bla bla
\chapter*{Second Chapter}
\addcontentsline{toc}{chapter}{Second Chapter}
\begin{chapterabstract}
\begin{itemize*}
\item First this second chapter talks about ipsum dolor sit amet,
consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut
labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos
et accusam et justo duo dolores et ea rebum.
\item Second we have clita kasd gubergren, no sea takimata sanctus est
Lorem ipsum dolor sit amet.
\end{itemize*}
\end{chapterabstract}
\PrintSectionAbstracts % section abstracts
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod
tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At
vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren,
no sea takimata sanctus est Lorem ipsum dolor sit amet.
\section{First Section}
\begin{sectionabstract}
\begin{itemize*}
\item this first section of the second chapter talks about \dots
\item it also talks about \dots
\end{itemize*}
\end{sectionabstract}
bla bla bla
\section{Second Section}
\begin{sectionabstract}
\begin{itemize*}
\item this section talks about \dots
\item it also talks about \dots
\end{itemize*}
\end{sectionabstract}
bla bla bla
\section{Third Section}
\begin{sectionabstract}
\begin{itemize*}
\item this third section talks about ipsum dolor sit amet, consetetur
sadipscing elitr,
\item it also talks about sed diam voluptua.
\end{itemize*}
\end{sectionabstract}
bla bla bla
\end{document}
Respuesta2
He aquí una posibilidad utilizando eltitletoc
paquete para generar los ToC parciales y una variación deLa respuesta de Martin SharreraTabla de contenidos con descripción adicional de las entradas.para incluir la descripción de la sección adicional en el ToC parcial:
\documentclass{book}
\usepackage{titletoc}
\usepackage{environ}
\usepackage[inline]{enumitem}
\usepackage{lipsum}
\makeatletter
\def\@nodottedtocline#1#2#3#4#5{%
\ifnum #1>\c@tocdepth \else
\vskip \z@ \@plus.2\p@
{\leftskip #2\relax \rightskip \@tocrmarg \parfillskip -\rightskip
\parindent #2\relax\@afterindenttrue
\interlinepenalty\@M
\leavevmode
\@tempdima #3\relax
\advance\leftskip \@tempdima \null\nobreak\hskip -\leftskip
{#4}\nobreak
\leaders\hbox{$\m@th
\mkern \@dotsep mu\hbox{\,}\mkern \@dotsep
mu$}\hfill
\nobreak
\hb@xt@\@pnumwidth{\hfil\normalfont \normalcolor }%
\par}%
\fi}
\newcommand*\l@sectioninfo{\@nodottedtocline{1}{1.5em}{2.3em}}
\NewEnviron{sectioninfo}{%
\addcontentsline{ptc}{sectioninfo}{%
\noexpand\numberline{}\BODY}%
}
\makeatother
\def\PrintContents{%
\startcontents%
\printcontents{}{1}{{\bfseries\Large\contentsname}%
\par\nobreak\vskip-6pt\noindent\hrulefill}%
\vskip-6pt\noindent\hrulefill\vskip3\baselineskip%
}
\begin{document}
\tableofcontents
\chapter{First chapter}
\PrintContents
\lipsum[4]
\section{First section of chapter one}
\begin{sectioninfo}
\protect\begin{itemize*}
\protect\item The first important thing about this section.
\protect\item The second important thing about this section.
\protect\item The third important thing about this section.
\protect\end{itemize*}%
\end{sectioninfo}
\lipsum[4]
\section{Second section of chapter one}
\begin{sectioninfo}
\protect\begin{itemize*}
\protect\item The first important thing about this section.
\protect\item The second important thing about this section.
\protect\item The third important thing about this section.
\protect\item The fourth important thing about this section.
\protect\end{itemize*}%
\end{sectioninfo}
\lipsum[4]
\chapter{Second chapter}
\PrintContents
\lipsum[4]
\section{First section of chapter two}
\begin{sectioninfo}
\protect\begin{itemize*}
\protect\item The first important thing about this section.
\protect\item The second important thing about this section.
\protect\end{itemize*}%
\end{sectioninfo}
\lipsum[4]
\section{Second section of chapter two}
\begin{sectioninfo}
\protect\begin{itemize*}
\protect\item The first important thing about this section.
\protect\item The second important thing about this section.
\protect\item The third important thing about this section.
\protect\end{itemize*}%
\end{sectioninfo}
\lipsum[4]
\end{document}
Una imagen del ToC general:
Y algunas imágenes de los ToC parciales:
y
Observación
Las descripciones cuentan con un sectioninfo
entorno; dentro de este entorno es necesario proteger los comentarios frágiles; ya que itemize*
(de enumitem
) se usa en las descripciones, \begin{itemize*}
y \end{itemize*}
necesita \item
un prefijo \protect
.