LATEX-L Archives

Mailing list for the LaTeX3 project

LATEX-L@LISTSERV.UNI-HEIDELBERG.DE

Options: Use Forum View

Use Monospaced Font
Show Text Part by Default
Show All Mail Headers

Message: [<< First] [< Prev] [Next >] [Last >>]
Topic: [<< First] [< Prev] [Next >] [Last >>]
Author: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
Subject:
From:
Achim Blumensath <[log in to unmask]>
Reply To:
Mailing list for the LaTeX3 project <[log in to unmask]>
Date:
Mon, 15 Nov 1999 21:20:21 CET
Content-Type:
text/plain
Parts/Attachments:
text/plain (153 lines)
Frank Mittelbach wrote:
>  - share your thoughts and sample trials with us

Below is my attempt to define the TOC of the ``Handbook of Mathematical
Logic'' which is a collection of articles from different authors where
each chapter has its own TOC. There were three (minor) problems:

 o In the main TOC the extra field is used for the name of the author,
   so I had to change the template to pass this field as second
   argument to `title-format'.

 o The separation betwenn number and title is annoying for the `part'
   entries where I had to choose (by trial and error) a fixed width of
   the number field to get the spacing right.

 o There seems to be no way to add spacing under an entry
   (`post-v-action') to enlarge the space between a part and the first
   chapter.

Achim
________________________________________________________________________
                                _                             | \_____/ |
    //  Achim Blumensath       | \  _                        \O/ \___/\ |
   //   [log in to unmask]   |-< /_\                       =o=  \ /\ \|
 \X/    (p^2 - m^2)\psi = 0    |_/ \_                        /"\   o----|
____________________________________________________________________\___|

\documentclass{article}
\usepackage{xcontentsJK}
\IgnoreWhiteSpace

\newdimen\COpnum@width

\DeclareTemplate{contentsobject}{AB}{6}{
  pre-v-action     =f0 [\endgraf] \COpre@action,
  object-decls     =f0 [\relax]   \COobject@decl,
  object-indent    =l  [0pt]      \leftskip,
  number-width     =l  [0pt]      \@tempdima,
  right-margin-sep =l  [25pt]     \rightskip,
  pnum-width       =l  [15pt]     \COpnum@width,
  number-indent    =l  [0pt]      \parindent,
  number-format    =f1 [#1\hfil]  \COnumber@format,
  title-format     =f2 [#1]       \COtitle@format,
  pnum-format      =f1 [\hfil#1]  \COpnum@format,
  leaders-action   =f0 [.]        \COleaders@action,
  leaders-sep      =l  [4pt]      \@tempdimc
 }
 {
  \ifnum #2>\c@tocdepth \else
   {
   \DoParameterAssignments
   \COpre@action
   \COobject@decl
   \parfillskip=-\rightskip
   \parindent=0pt
   \@afterindenttrue
   \interlinepenalty\@M
   \leavevmode
   \IfNoValueT{#3}{\def\COnumber@format##1{\hfil}}
   \hbox to \@tempdima {\COnumber@format{#3}}
   \nobreak
   \COtitle@format{#4}{#5}
   \nobreak
   \leaders\hbox{
      \kern\@tempdimc
      \hbox{\COleaders@action}
      \kern\@tempdimc
   }\hfill
   \nobreak
   \hbox to \COpnum@width {\COpnum@format{#6}}
    \endgraf
 }
 \fi
}

\DeclareCollectionInstance{HML}{contentsobject}{part}{AB}
 {pre-v-action     = \DelayEvaluation{\endgraf\addvspace{4ex plus 4pt}},
  title-format     = \textsc{#1},
  number-format    = \textsc{Part~#1:\hfil},
  pnum-format      = {},
  leaders-action   = ~,
  number-width     = \DelayEvaluation{4.5em}}

\DeclareCollectionInstance{HML}{contentsobject}{chapter}{AB}
 {pre-v-action     = \DelayEvaluation{\endgraf\addvspace{1.5ex plus 1pt}},
  title-format     = #1\IfNoValueF{#2}{\comma\space\textit{#2}},
  number-format    = #1.\hfil,
  pnum-format      = \hfil#1,
  leaders-action   = .,
  leaders-sep      = \DelayEvaluation{0.5em},
  number-width     = \DelayEvaluation{2.5em}}

\DeclareCollectionInstance{HML}{contentsobject}{section}{AB}
 {object-decls     = \small,
  title-format     = #1,
  number-format    = #1.\hfil,
  pnum-format      = \hfil#1,
  leaders-action   = .,
  leaders-sep      = \DelayEvaluation{0.5em},
  number-width     = \DelayEvaluation{1em}}

\begin{document}

\subsection*{The main TOC}

\UseCollection{contentsobject}{HML}
\setcounter{tocdepth}{2}
\contentsobject {1}{1}{part}{A}{Model Theory}{\NoValue}{1}
\contentsobject {2}{2}{chapter}{\NoValue}{Guide to Part A}{\NoValue}{3}
\contentsobject {3}{2}{chapter}{A.1}{An introduction to first-order logic}{Jon
Barwise}{5}
\contentsobject {4}{3}{section}{1}{Foreword}{\NoValue}{6}
\contentsobject {5}{3}{section}{2}{How to tell if you are in the realm of
first-order logic}{\NoValue}{6}
\contentsobject {6}{3}{section}{3}{The formalisation of first-order
logic}{\NoValue}{17}
\contentsobject {7}{3}{section}{4}{The Completeness Theorem}{\NoValue}{22}
\contentsobject {8}{3}{section}{5}{Beyond first-order logic}{\NoValue}{41}
\contentsobject {9}{3}{section}{\NoValue}{References}{\NoValue}{45}
\contentsobject {10}{2}{chapter}{A.2}{Fundamentals of model theory}{H.\ Jerome
Keisler}{47}
\contentsobject {11}{3}{section}{1}{Introduction}{\NoValue}{48}
\contentsobject {12}{3}{section}{2}{Theories}{\NoValue}{49}
\contentsobject {13}{3}{section}{3}{Digrams and compactness}{\NoValue}{57}
\contentsobject {14}{3}{section}{4}{L\"owenheim-Skolem theorems}{\NoValue}{63}
\contentsobject {15}{3}{section}{5}{Recursively saturated models}{\NoValue}{69}
\contentsobject {16}{3}{section}{6}{Large and small models}{\NoValue}{73}
\contentsobject {17}{3}{section}{7}{Stable theories}{\NoValue}{82}
\contentsobject {18}{3}{section}{8}{Model-theoretic forcing}{\NoValue}{89}
\contentsobject {19}{3}{section}{9}{Infinite formulas and extra
quantifiers}{\NoValue}{95}
\contentsobject {20}{3}{section}{\NoValue}{References}{\NoValue}{101}
\contentsobject {21}{2}{chapter}{A.3}{Ultraproducts for algebraists}{Paul C.\
Eklof}{105}
\contentsobject {22}{1}{part}{B}{Set Theory}{\NoValue}{315}
\contentsobject {23}{2}{chapter}{\NoValue}{Guide to Part B}{\NoValue}{317}
\contentsobject {24}{2}{chapter}{B.1}{Axioms of set theory}{J.\ R.\
Schoenfield}{321}

\subsection*{The TOC of the first chapter}

\setcounter{tocdepth}{3}
\contentsobject {4}{3}{section}{1}{Foreword}{\NoValue}{6}
\contentsobject {5}{3}{section}{2}{How to tell if you are in the realm of
first-order logic}{\NoValue}{6}
\contentsobject {6}{3}{section}{3}{The formalisation of first-order
logic}{\NoValue}{17}
\contentsobject {7}{3}{section}{4}{The Completeness Theorem}{\NoValue}{22}
\contentsobject {8}{3}{section}{5}{Beyond first-order logic}{\NoValue}{41}
\contentsobject {9}{3}{section}{\NoValue}{References}{\NoValue}{45}

\stop

ATOM RSS1 RSS2