interfaces
interfaces with keys for other packages
FC
2011/02/19 – version3.1 – release–pgfv2.1 /pgfv2.0 compatible
Abstract
interfacesprovides a small number of user friendly macros to access features implemented in frequently used packages. Most of the macros are based onpgfkeys, hence the “key=value” syntax.
interfacesis mainly based onpgfkeys1andscrlfilefor its different modules are loaded\AfterPackage.ε-TEX is required of course... Each interface is actually made as a separate module, which is loaded automatically after itsmaster package. Adding\usepackage{interfaces}into your document preamble will make all modules active (ie.they will be loaded or not, depending on your document preamble). If you prefer not to use all modules, you can load them separately as a package, for example, type: \usepackage{interfaces-titlesec} after\usepackage{titlesec}. A better way is to add\usepackage{interfaces-base}to your preamble, and then: \LoadInterface{titlesec,tocloft} indifferently before or after \usepackage{titlesec,tocloft}. An- other possibility to restrict the modules is to give them as options for the main package: \usepackage [titlesec,tocloft]{interfaces}.
interfaces-baseis a mandatory “module”. It loadsinterfaces-scrlfile, interfaces-etoolbox2 and interfaces-pgfkeys: those are thesystem-layerofinterfaces.
Example
\pagesetup[document]{%
rules=.5pt,
foot/left/odd=\arabic{page},
foot/right/even=\arabic{page}/\pageref{LastPage}, head/font=\color[gray]{.85}\bfseries\small, head/left/even=\leftmark,
head/left=\thefirstmarks{MiniSection},% interfaces-marks }
\pagesetup[plain]{% for chapters...
pagestyle=document,% preloaded settings head=,
foot/left/odd = \roman{page}, norules, head/rule=.4pt head/center=This is the title, }
\sectionformat\section[hang]{
label=\arabic{section}, labelsep=,
font=\bfseries\Large,
bookmark={bold,color=blue},% interfaces-bookmark top=6pt plus3pt minus2pt,
bottom=3pt plus2pt,
break=\marksthecs{section}{lastsectiontoc},% interfaces-hypbmsec mark=\marksthe{section}{#1},% interfaces-marks
}
\sectionformat\subsection[hang]{
label=, labelsep=, font=\bfseries, bookmark=italic,
top∗=1.2,% a 120% scaling
bottom+=0pt plus4pt,% add to previous value mark=\markright{#1},
}
\sectionformat\MiniSection{% new sectionning command class=straight[\subparagraph],
shape=block, label=,
top=3pt plus2pt, bottom=1pt, font=\bfseries\sffamily, bookmark=off,% or false or none break=\allowbreak,
mark=\marksthe{MiniSection}{#1},% see interfaces-marks }
\bottomtitles=.2\textheight
\tocsetup{
depth=3, title=Contents, pagenumbers=on,
pagestyle=plain,% first page style: tocloftpagestyle title/top=1.5ex plus.5ex,
title/bottom=0pt, section/indent=1em, section/number/width=1.5em,
section/font+=\larger\bfseries,% append to previous setting section/leaders,section/dotsep,
subsection/indent=2em, subsection/number/width=2.5em,
subsubsection/font=\scriptsize,
subsection/leaders,subsection/dotsep,% default values subsubsection/pagenumbers=off,% no page numbers
subsubsection/dotsep=,% no leader columns=2,% same as twocolumns columns/sep=.5em,
columns/rule/width=1pt,columns/rule/color=blue, label=toc,% gives a label to the t.o.c.
bookmark={text=Contents,bold},% interfaces-bookmark }
\tableofcontents
\mainmatter \pagestyle{document}
This documentation is produced with theDocStriputility.
−→To get the package, run: etex interfaces.dtx
−→To get the documentation run (thrice): pdflatex interfaces.dtx
To get the index, run: makeindex -s gind.ist interfaces.idx The.dtxfile is embedded into this pdf file thank toembedfileby H. Oberdiek.
1.pgfkeys:CTAN:graphics/pgf/base/generic/pgf/utilities
2. All macros ininterfaces-etoolboxare defined with\providecommandexcept\removefromstartwhich is used by\repeatcell.
interfaces[rev.3.1–release]c–FC<florent.chervetatfree.fr>
/
Contents
1 Interface LATEX
. . . .
42 Interface TikZ
. . . .
43 Interface titlesec:\sectionformat
. . . .
64 Interface hyperref
. . . .
85 Interface bookmark
. . . .
86 Interface hypbmsec
. . . .
97 Interface tocloft:\tocsetup
. . . .
108 Interface fancyhdr:\pagesetup
. . . .
129 Interface marks
. . . .
1310 Interface makecell: \repeatcell
. . . . .
1410.1 Conversion to scaled points
. . . .
1510.2 Variable length cell
. . . .
1510.3 Empty rows
. . . .
1510.4 color palette
. . . .
1610.5 tabularcalc-like tables (withdcolumnpackage) and pgfmath
. . . .
1610.6 Double entry array: the Body Mass Index
. . .
1711 Interface enumitem
. . . .
1812 Interface truncate
. . . .
1913 Interface appendix
. . . .
2014 Interface embedfile:\embedthisfile
. . .
2015 Interface environ
. . . .
2016 Interface umrand
. . . .
2017 Interface pgfkeys
. . . .
2117.1 /.blank
. . . .
2117.2 /.is private
. . . .
2217.3 /.store in cs, /.estore in cs
. . . .
2217.4 Boolean keys: /.true, /.false, /.on /.off
. . . . .
2217.5 /.is multiple choice
. . . .
2217.6 /.is enum
. . . .
2217.7 /.store as code
. . . .
2317.8 /.store as code in cs
. . . .
2317.9 /.store as color
. . . .
2317.10 /.store as color in cs
. . . .
2317.11 /.store as number
. . . .
2417.12 /.store as number in cs
. . . .
2417.13 /.store as glue
. . . .
2417.14 /.store as dimen
. . . .
2417.15 /.store as glue in cs
. . . .
2417.16 /.store as dimen in cs
. . . .
2417.17 /.estore as dimen in cs
. . . .
2418 Interface etoolbox
. . . .
2518.1 New macros provided with\providecommand
.
25 19 Interface scrlfile. . . .
2519.1 Star forms for\BeforeFileand\AfterFile
.
25 19.2 Allowing\BeforeFileand\AfterFilewhen \@inputis invoked. . . .
2520 List of corrected or patched commands
. .
2520.1 LaTeX
. . . .
2620.2 bookmark
. . . .
2620.3 tocloft
. . . .
2620.4 colortbl
. . . .
2620.5 hypbmsec
. . . .
2720.6 enumitem
. . . .
2720.7 pgfkeys
. . . .
2721 Implementation
. . . .
2821.1 Interfaces
. . . .
2821.1.1 Requirements 21.1.2 The package options / list of interfaces 21.2 Interfaces-base
. . . .
2821.2.1 Interfaces patches 21.2.2 Helper macros 21.2.3 Numbers 21.2.4 Units and math units 21.2.5 Default color 21.3 Interface LATEX
. . . .
3321.3.1 \changefont 21.3.2 \quickprofile 21.4 Interface TikZ
. . . .
3521.4.1 Catcode verifications 21.4.2 List of pgf/TikZ packages and libraries 21.4.3 pgfkeys definitions for\usetikz 21.4.4 \papergraduate 21.5 Interface titlesec:\sectionformat
. . . .
3921.5.1 titlesec modifications 21.5.2 \sectionformat 21.5.3 Keys for\sectionformat 21.5.4 \bottomtitles 21.6 Interface hyperref
. . . .
4621.7 Interface bookmark
. . . .
4621.7.1 star keys*definitions 21.7.2 refandpagerefkeys 21.8 Interface hypbmsec
. . . .
4921.8.1 interfaces-hypbmsec 21.9 Interface fancyhdr:\pagesetup
. . . .
5221.9.1 \pagesetup 21.9.2 Keys for\pagesetup 21.10 marks
. . . .
6521.11 Interface tocloft:\tocsetup
. . . .
6621.12 Interface makecell:\repeatcell
. . . .
7321.12.1 countvalues 21.12.2 \repeatcell 21.12.3 colortbl: patch for\CT@cellc 21.13 Interface enumitem
. . . .
7921.14 Interface truncate
. . . .
8021.15 Interface appendix
. . . .
8221.16 Interface embedfile:\embedthisfile
. . . .
8221.17 Interface environ
. . . .
8321.18 Interface umrand
. . . .
8321.19 Interface scrlfile
. . . .
8321.20 Interface pgfkeys
. . . .
8421.21 Interface etoolbox
. . . .
9622 History
. . . .
99[2011/02/19 v3.1]
. . . .
99[2011/02/12 v3.0]
. . . .
99[2011/01/19 v2.9]
. . . .
99[2011/01/17 v2.8]
. . . .
99[2010/12/27 v2.6]
. . . .
99[2010/12/07 v2.5]
. . . .
99[2010/11/26 v2.4]
. . . .
100[2010/11/21 v2.3]
. . . .
100[2010/11/16 v2.2]
. . . .
100[2010/11/15 v2.1]
. . . .
100[2010/10/31 v2.0]
. . . .
100[2010/10/27 v1.2]
. . . .
100[2010/10/20 v1.0]
. . . .
101README
. . . .
10123 Index
. . . .
101interfaces[rev.3.1–release]c–FC<florent.chervetatfree.fr>
/
Theinterfacespackage – interfaces with keys for other packages
interfaces[rev.3.1–release]c–FC
/
Theinterfacespackage – interfaces with keys for other packages 2Interface LATEX
1 Interface L
ATEX
\changefont
{
encoding|enc= changes \fontencoding
family|fam= changes \fontfamily
series|ser
= changes \fontseries
shape|sha= changes \fontshape
size|size∗|size+|size-
= changes the font size (default unit is pt)
baselineskip|baselineskip∗+ -|skip= changes the \baselineskip for the font
linespread|linespread∗+ -|spread
= changes the line spread (a real value) } Example: adds 5pt to the font size (pt is added if not specified) and scale the linespread by 130%:
\changefont
{
size+ =5,spread∗
=1.3} (\selectfont is included in the macro).
If a key is not specified, the current value remains.
Finally,\changefontis compatible withhyperrefthank to\pdfstringdefDisableCommands.
\quickprofilehnumberi
{h
code i}\quickprofile is a quick profiler macro: {hcodei} is expanded
hnumberitimes inside a \vbox.
The macro requires pdfTEX and the \pdfelapsedtime primitive.
2 Interface TikZ ( pgfmanual )
\usetikz
{
basic=. . . , loads tikz with libraries calc, arrows, scopes and backgrounds
all=. . . , loads tikz with all packages, pgf-modules and TikZ-libraries any other key =. . . , loads tikz and the specified package, module or library
using \usepackage, \usepgfmodule or \usetizlibrary }
\usetikz
is a facility provided to load
pgf,
tikz,
pgf-modules, and
tikz-libraries, without the need to know if you must use \usepackage or \usepgfmodule or \usetikzlibrary.
Keys shorten> and shorten< have been set as aliases to shorten > and shorten < (original with space) and keys shorten<> and shorten <> have been set to style shorten > and shorten <.
\usetikz
does not parse options. If you are used to load
pgfwith option (f.ex. version=0.96), please use the syntax:
\PassOptionsToPackage{version=0.96}{pgf}
M
EMOTikZ/pgf package pgfmodules TikZ libraries
pgf matrix arrows decorations.pathreplacing
pgfmath plot chains decorations.shapes
pgfcalendar er decorations.text
pgfplots scopes decorations.markings
pgfpages snakes decorations.fractals
tikz shapes decorations.footprints
shapes.misc positioning,trees
shapes.geometric automata
shapes.arrows patterns
shapes.multipart fadings
shapes.callouts shadows
shapes.symbols through
shapes.gates.logic.US backgrounds shapes.gates.logic.IEC petri
decorations fit
decorations.pathmorphing mindmap folding plothandlers plotmarks calc matrix
interfaces[rev.3.1–release]c–FC
/
Theinterfacespackage – interfaces with keys for other packages 2Interface TikZ
\papergraduate
[options] displays a graduated paper on the whole page background, or inside a pgfpicture :
\papergraduate
[
x= unit for x axis (default is 1cm),
y= unit for y axis (default is 1cm),
unit= sets both x and y,
xcolor
= color for horizontal graduations (default is magenta),
ycolor= color for vertical graduations (default is cyan)
color
= sets both xcolor and ycolor
xrule
= true (default) or false: displays the horizontal rule or not,
yrule= true (default) or false: displays the vertical rule or not,
xrule/font [+,∗]= font for the labels on the horizontal rule
yrule/font [+,∗]
= font for the labels on the vertical rule
norule= don’t display the rules
opacity
= opacity for the graduations (default
=.25)text opacity
= opacity for the rules labels (default =.8) ] (coordinate) (coordinate);
\papergraduate is close to
TikZgrid path and displays a real graduated paper.
When used
outsideof a pgfpicture, \papergraduate alone draws a graduated paper as a wallpaper on the current page background (on this page with
x=1in and
y =1in).
The code is fast because based on TEX primitive \leaders (faster than grid).
Examples:
0 1 2 3 4 5 6 7 8 9 10 11
0 1 2 3 4 5 6 7 8
\tikz{
\coordinate (A) at (0,0);
\papergraduate [opacity=.9]
(A) ++ (8cm,3.5cm); }
or \papergraduate (A) to ++ (8cm,3.5cm);
or \papergraduate (A) -- ++ (8cm,3.5cm);
0 1 2 3
0 1 2 3 4 5 6 7 8
interfaces[rev.3.1–release]c–FC
/
Theinterfacespackage – interfaces with keys for other packages 3Interface titlesec:\sectionformat
3 Interface
titlesec : \sectionformat
\sectionformat
{\section } {
class=. . . , page|top|straight [\sup-level ]
shape
=. . . , hang|block|display|runin|leftmargin|rightmargin|
drop|wrap|frame|runinifempty
font|format=. . . ,
label=. . . ,
labelsep|sep=. . . ,
left
=. . . ,
right=. . . ,
top=. . . ,
bottom=. . . ,
before=. . . ,
after=. . . ,
mark
=. . . ,
break=. . . ,
thesection=. . . , }
\sectionformat
is a
pgfkeys-command for replacement of both \titleformat and \titlespacing.
If a key is not given, its value remains the samewhile with \titleformat or \titlespacing, you must specify all values in a rigid order... Moreover,
\sectionformatcan be used concurrently with \titleformat and \titlespacing (although \sectionformat is deemed more comfortable, this allows to quickly modify some files written without
interfaces.)
Keys corresponding to TEX code (
font,beforeor
after) are associated with starred keys and+keys: they append their content to the previous value. Ex:
font+={\larger } adds \larger to the previous settings.
For dimensions or skips, the
+key adds, the
-key substract and the
∗key scales.
M
EMOclass name of the class page=like standard\part top=like standard\chapter
straight=like standard\sectionetc.
example:\sectionformat\subchapter {class=straight[\chapter ]}
shape shape hang=hanging label (like\section)
block=paragraph without formatting (for centered titles) display=like standard\chapter
runin=like standard\paragraph leftmargin=left margin rightmargin=right margin
drop=wraps the text around the title(the first paragraph should be longer than the title, otherwise, they overlap)
wrap=likedropbut the space reserved for the title is variable frame=likedisplay+puts the title in frame
runinifempty=hangbut no label if the title is empty
font≡format format for title applied to the label and the title
label title label ex:\arabic{section}
sep ≡labelsep space between label and title
left left margin a glue: horizontal space before
right right margin a glue: horizontal space after
top vertical space before a glue: vertical space before
bottom vertical space after a glue: vertical space after
mark macro with 1 parameter ex\sectionmark: redefines\...mark#1... (the argument is the title)
break parameterless macro ex\sectionbreakto be executed just before the section command
thesection tocandreflabels redefines\thesection
\thesection,\thesubsectionetc.. are used to print references and the label in the table of contents
before code before title body after code after title body
If the
bookmarkpackage is loaded, with
interfaces-bookmark, the following keys are defined for each section:
bookmark/bold bold bookmark text the text of the bookmark for that sectionning command will bebold
bookmark/italic italic bookmark text the text of the bookmark for that sectionning command will be initalic
bookmark/color colored bookmark text the text of the bookmark for that sectionning command will becolorized
bookmark/off disable the bookmark no bookmark for that sectionning command alternatively you may set bookmark/level to a huge value...
bookmark/style use astyle thestylemust be previouly declared with\bookmarkdefinestyle
bookmark/level level of the bookmark defines\toclevel@hsectionnamei, seebookmarkdocumentation
The syntax:
\sectionformat\subsection{bookmark={bold,italic,color=green,on,view=FitB}} also works.
−→Keybookmarkis an example of a key defined with the handler/.is multiple choice
. The starred keys
bold∗,italic∗,color∗and
off∗are also provided. For example:
interfaces[rev.3.1–release]c–FC
/
Theinterfacespackage – interfaces with keys for other packages 3Interface titlesec:\sectionformat
\sectionformat\section{
after=\sectionformat\subsection{bookmark/color∗=red}
}
makes the bookmarks corresponding to the first subsection in each section to be
red. If you acertain that there is nobookmark between the one corresponding to the section and the one corresponding to its first subsection, then this is the same as: “after=\bookmarksetup {color∗=red}”.
E
XAMPLE\sectionformat\section[hang]{% this is the same as: shape = hang font=\bfseries\scshape,
label=\Roman{chapter}\ \textbullet\ \arabic{section}, labelsep=\widthof{\textbullet},
bottom=1ex plus.4ex minus.2ex, top+=3pt,
mark=\markright{#1},% => this defines \def\sectionmark#1{\markright{#1}}
break=\goodbreak, % => this defines \def\sectionbreak{\goodbreak}
thesection=\Roman{chapter}.\arabic{section}, %redefines \def\thesection{...}
bookmark={bold,color=blue} }
titlesecprovidesextended settingsfor numberless (ie.starred) sections with the syntax:
\titleformat{name=\section,numberless}{...}
One swallow does not a summer make,interfaces-titlesecdoes not provides this feature in akey=valuestuff but just type:
\sectionformat\section∗{ key=value }
to give to your \section∗ command a special format. Keyslabelandlabelsepare not ignored, this means that \section
∗ can be defined in a way it produces a numbered section! Albeit, this would be weird because thehsectionicounter is not updated for starred sections...
Presently,
\sectionformatdoes not implement the
extended settingsof
titlesecfor odd and even pages.
However, it is always possible to use \sectionformat concurrently with \titleformat and \titlespacing. A better way to use different settings for odd and even pages is the use of \ifthispageodd from the
KOMA - Scriptclasses, or the features provided by
changepage.sty, which is almost the same: actually
titlesectest oddity of the
pagecounter (ie. TEX \count register nr 0) while oddity of \pageref should be tested... Hence the decision I came not to implement different settings for odd and even pages in \sectionformat.
\bottomtitles
{hglue|percentage of \textheighti}
This globally sets the value of \bottomtitlespace (see
titlesecdocumentation):
\bottomtitles{.2} sets \bottomtitlespace to .2\textheight
\bottomtitles=.2\textheight is the same
You can globally set a negativ value: \bottomtitles
=−1 to allow bottom titles.interfaces[rev.3.1–release]c–FC
/
Theinterfacespackage – interfaces with keys for other packages 5Interface hyperref
4 Interface
hyperref
\raisedhyperdef
[hraised dimen
i]{hcategoryi}{hnamei}{htexti}Package
hyperrefprovides \hyperdef and \Hy@raisedlink but no easy way to insert a “raised link” with
\hyperdef (or \hypertarget).
\raisedhyperdef
can be used exactly like \hyperdef, but the pdf-anchor will be raised of the specified dimension.
5 Interface
bookmark
A few new keys appear with
interfacesfor the command \bookmarksetup:
\bookmarksetup
{
bold∗=. . . , will make the bookmark text bold, but only for the very next bookmark
italic∗=. . . ,
idemfor italic
color∗
=. . . ,
idemfor color: the previous color will be restored after the next bookmark
disable=. . . , will disable the bookmarks (the same as \bookmarksetup {depth=-2})
disable∗=. . . , will disable only the very next bookmark }
Furthermore the following code:
\sectionformat\section{bookmark={bold,color=blue}}
\bookmarksetup{color∗=red}
\section{A lovely red, bold bookmark here!}
\section{And the following bookmark is blue and bold}
will produce a bookmark with attributes: color=red,bold=true. In other words, the starred keys of
\bookmarksetup overwrite the “default” settings of \sectionformat for the very next bookmark.
Note that this code requirestitlesec,bookmark,interfaces-titlesecandinterfaces-bookmark.
Three new keys are added to the \bookmark command:
\bookmark
{
pageref= the destination of the bookmark is the page referenced
ref
= the destination of the bookmark is the anchor associated to the reference
atend= the bookmark will be inserted at the end of the document }
I admit those keys will not be used very often... but imagine you want to put a bookmark at the end, which points to the table of contents, then:
\bookmark[ref=TableOfContents,atend]{Back To Contents}
Provided that the label TableOfContents has been defined, for example with
\tocsetup, if
tocloftand
interfaces- tocloftare loaded:
\tocsetup{label=TableOfContents} \tableofcontents
The
atendkey requires of course that the package
bookmarkwas loaded with the
[atend]option (otherwise, bookmark.sty gives a warning).
interfaces[rev.3.1–release]c–FC
/
Theinterfacespackage – interfaces with keys for other packages 6Interface hypbmsec
6 Interface
hypbmsec
The features provided by
interfaces-hypbmsecare now independant of
titlesecand
interfaces-titlesec. Package
hypbmsecprovides extended sectionning commands with the syntax:
\section(out)[toc]{title} or \section[toc](out){title}
Where:
(out) is used for the bookmark (outline) [toc] for tha table and contents and the marks {title} to typeset the section title in the document
Internally,
hypbmsecdefines \hbs@bmstring (the string used for the bookmark entry) and \hbs@tocstring (the string used for the table of contents and the marks).
interfaces
takes advantage of this and defines:
\lastsectiontitle
expands to the title of the last \section
\lastsectionbookmark
expands to the text of the bookmark for the last \section
\lastsectiontoc
expands to the entry of the last \section in the table of contents
\lastsectionanchor
expands to the anchor name of the last \section if
hyperrefis used Macros for each sectionning command are defined:
\lastparttitle \lastchaptertitle
\lastsectiontitle \lastsubsectiontitle \lastsubsubsectiontitle
\lastparagraphtitle \lastsubparagraphtitle
with their
...bookmarkand
...toccounterparts.
Assignation to those macros is automatic. More precisely, \lastsectiontitle is defined
after\sectionbreakand
before\sectionmark: this means that in the fieldsafteror
markof
\sectionformat, \lastsectiontitle has been updated yet. While in the fields
before, andbreak,\lastsectiontitle is not yet updated.
(For chapters, this is the same iftitlesecformats the chapter titles,ie.if\sectionformat \chapteror\titleformat \chapterhas been invoked.Otherwise,\lastchaptertitle,\lastchapterbookmarkand\lastchaptertocare set at\stepcounter {chapter}.)
. Values are automatically reset to
\relaxwhen a section of a superior level is created.
This feature has been implemented essentially to make the use of a \mark command at \sectionbreak easier.
Mark at \sectionbreak is important to get the correct behaviour for marks described in
interfaces-marks(page
13under
\ifmarksequal). With this feature, when a new \section is created, \lastsubsection is reset to
\relax
therefore, \marksthecs {hsubsectioni}{hlastsubsectioni} will not mark anything.
Another possibility is shown in this document: the header is clickable and has been defined with:
\sectionformat\section{
mark=\marksthe{section}{#1}
\marksthecs{sectionanchor}{lastsectionanchor}
}
\pagesetup{
head/right=\hyperref{}{}{\thefirstmarks{sectionanchor}}
{\thefirstmarks{section}}
}
interfaces[rev.3.1–release]c–FC
/
Theinterfacespackage – interfaces with keys for other packages 7Interface tocloft:\tocsetup
7 Interface
tocloft : \tocsetup, \lofsetup, \lotsetup and \listofsetup
Setting the keys overwrites the previous value, unless the
+key (append code/add for dimensions), the
-key (substract) or the starred-key∗ (scale dimensions) is used.
\tocsetupsettings apply to \tableofcontents and also to \shorttableofcontents (package
shorttoc).
\tocsetupcan be invoked more than once in a document...
\tocsetup
{
depth=\setcounter {tocdepth}This is a LATEX rather thantocloft’s ...Withinterfacesyou can change the t.o.c. depth anywhere inside your document, just like bookmarks depths (two runs are required) title|contentsname= redefines\contentsname
title/top|title/top+|title/top-|title/top*= vertical space before the title (set|add|substract|scale) title/bottom|title/bottom+etc.= vertical space after the title
title/font|title/font+|title/format= the title font (set|append code)
title/color|title/font/color= the color of the title (may also be defined in the keytitle/font) title/after|title/after+= hook to execute just after the title(\cftaftertoctitle...)
parskip|parskip+|parskip-|parskip∗|parsep= modifies (or add to)\cftparskip
dotsep= modifies\cftdotsepif no dimen is specified,muis assumed, otherwise, conver- sion tomu'1em/18 is supplied. Default value is 4.5muand blank value is the same as
\cftnodots
dot= modifies\cftdot, the dot used for leaders produced by\cftdotfill pagestyle= page style for the first page (\tocloftpagestyle)
mark= the mark command:\cftmarktoc
example:\chaptermark \contentsname
before|before∗|after|after∗= hooks to execute before or after the command\tableofcontents twocolumns|columns|multicol=twocolumns=trueis the same ascolumns=2 Makes a multicolumn
table of contents. Packagemulticolis required!
columns/sep|columns/sep+|columnsepetc.= sets (or add) ahdimenito\columnsep columns/rule|columns/rule+|columnsepruleetc.= sets (or add) ahdimenito\columnseprule
columns/color|columnseprulecolor= modifies\columnseprulecolor
multicolsep|multicolsep+etc.= modifies (or add) ahglueito\multicolsep
\multicolsepis the space added before and aftermulticolenviron- ment.default value: 0pt plus4ptminus3pt.
multicols/beforebegin= hook just before\begin {h∗i}multicols multicols/afterbegin|multicols/begin= hook just after\begin {h∗i}multicols ...
multicols/beforeend|multicols/end|multicols/after= hook just before\end {h∗i}multicols ...
multicols/afterend= ... and after the group close by\end {h∗i}multicols label= the label for reference to the table of contents
ref= the reference printed by\refwhen referencing the table of contents (default is\contentsname. In any case,\namerefprints\contentsname.).
bookmark/text= the bookmark text for the table of contents(if empty, no bookmark is set) bookmark/bold|bookmark/italic|bookmark/color= the bookmark style for the table of contents
bookmark/level= the bookmark level: either a number orsectionorchapter Default is chapter, or section if the class does not provide chapters. } bookmark
key and sub-keys are available only if the package
bookmarkis loaded with
interfaces-bookmark. The following keys apply to each section levels. Section level names are : part / chap
orchapter / sec
orsection / subsec
orsubsection / subsubsec
orsubsubsection / para
orparagraph / subpara
orsubparagraph / fig
orfigure / subfig
orsubfigure / tab
ortable / subtab
orsubtable.
¶
may be one of those names (see
tocloftdocumentation).
\tocsetup
{
¶/top|¶/top+|¶/skip|¶/beforeskip= modifies (or add to) the verticalhglueibefore an entry¶/indent|¶/indent+|¶/indent-|¶/indent∗= modifies (or addetc.) the indentation of the entry
¶/font|¶/font+= the font of the¶ section title
¶/color|¶/font/color= the color of the¶ section title (overwriteslinkcolorif hyper-linked)
¶/number/width|number/width+etc.|numwidth= modifies the space allowed to typeset the title numbers
¶/number/before|number/before+|presnum= code before the section number(see pseudo code below)
¶/number/after|number/after+ |aftersnum= code after the section number(see pseudo code below)
¶/title/before|title/before+ |aftersnumb= code before the title (ie.after the section number box)
¶/leader|¶/leaders= modifies the leader:the default is\cftdotfill {h∗i}\cft¶dotsep
¶/dotsep= the space (inmu) between dots in the leader. Default is\cftdotsepand blank value is the same as\cftnodots
¶/pagefont|¶/page/font|¶/page/number/font= modifies the font used to typeset the page number
¶/page/number/color|¶/page/number/font/color= the color of the page numbers for this section (overwriteslinkcolorif the page number if hyper-linked)
¶/page/after|¶/pagenumber/after|afterpnum= macro expanded after the page number is typeset }
interfaces[rev.3.1–release]c–FC
/
Theinterfacespackage – interfaces with keys for other packages 7Interface tocloft:\tocsetup
M
EMOnumbered entries are typeset with this pseudo code:
{\cftXfont {\cftXpresnum SNUM\cftXaftersnum\hfil} \cftXaftersnumb TITLE}%
{\cftXleader}{\cftXpagefont PAGE}\cftXafterpnum\par and for not numbered entries:
{\cftXfont TITLE}{\cftXleader}{\cftXpagefont PAGE}\cftXafterpnum\par
\lofsetup
and
\lotsetupbehave the same.
\listofsetup
{hlist-namei}{hkey=valuei}
This command is provided to setup the parameters of user-defined lists created with
tocloft’s \newlistof and printed with \listofX (where X is the name given to the list). The keys are the same as
\tocsetup, and the sub-keys correspond to the entries. In fact:
•
\tocsetup is a shortcut for \listofsetup {toc}
•
\lofsetup is a shortcut for \listofsetup {lof} and
•
\lotsetup is a shortcut for \listofsetup {lot}
Example:
\newlistof[section]{answer}{ans}{List of Answers}
\newlistentry[answer]{subanswer}{ans}{1}
\listofsetup{ans}{
depth=2, % can be changed inside the document body
title=List of Answers of the section,% modifies the title title/font=\Huge,
answer/font=\Large\bfseries, % font spec.
subanswer/font=\large\itshape, answer/dotsep=3mu,
subanswer/dotsep=, % no dot
subanswer/pagenumbers=off, }
\addcontentsline{ans}{answer}{\numberline{1}First answer}
\addcontentsline{ans}{subanswer}{\numberline{1.1}First sub-answer}
\listofanswer
)
preferably in the preamble
interfaces[rev.3.1–release]c–FC
/
Theinterfacespackage – interfaces with keys for other packages 8Interface fancyhdr:\pagesetup
8 Interface
fancyhdr : \pagesetup
\pagesetup
[hpagestyle-namei]{
norule|norules set\headrulewidthand\footrulewidthto 0pt
rule|rule/width[∗+ -] =. . . , set\headrulewidthand\footrulewidthto a given value
rule/color=. . . , rule/font=. . . , To change the rule font/color
headrule=. . . , footrule=. . . , redefines\headruleand\footrule(no value restores default) head/rule/width=. . . , foot/rule/width=. . . , foot/rule/skip=. . . ,dimensions
head/rule/color=. . . , foot/rule/color=. . . , for head and foot rules separately head/rule/font=. . . , foot/rule/font=. . . , idem
head=. . . , foot=. . . , header and footer (\fancyhead/\fancyfoot) left=. . . , center=. . . , right=. . . ,by position
head/left=. . . , head/center=. . . , head/right=. . . ,for one side documents foot/left=. . . , foot/center=. . . , foot/right=. . . ,idem
head/left/even=. . . , head/left/odd=. . . , for two side documents
etc. etc. etc.
foot/right/even=. . . , foot/right/odd=. . . ,
inner=. . . , head/inner=. . . , foot/inner=. . . ,inneris an alias forright/even, left/odd outer=. . . , head/outer=. . . , foot/outer=. . . ,outeris an alias forleft/even, right/odd
offset=. . . , changes\fancyhfoffset
head/offset=. . . , foot/offset=. . . , left/offset=. . . , right/offset=. . . ,
head/left/even/offset=. . . , head/left/odd/offset=. . . , for two side documents
etc. etc. etc.
foot/right/even/offset=. . . ,foot/right/odd/offset=. . . , for two side documents
inner/offset=. . . , head/inner/offset=. . . ,foot/inner/offset=. . . ,inneris an alias forright/even, left/odd outer/offset=. . . , head/outer/offset=. . . ,foot/outer/offset=. . . ,outeris an alias forleft/even, right/odd
pagestyle=. . . , load the settings of another page style }
\pagesetup∗
[hpagestyle-namei]{key = value}
\pagesetup
resets all headers and footers, rules etc. and modifies the current (active) page style depending on the key=value pairs.
\pagesetup[hpage-stylei] defines (or redefines) a page style, starting from default values.
When a key is specified with no value, the default is used (f. ex. head/rule will be .4pt and foot/rule will be 0pt ).
\pagesetup∗
does not reset current values: keys that are not specified remains the same.
\pagesetup∗
[hpage-stylei] defines or redefines
hpage-stylei,; the normal form starts from scratch, while thestarred form \pagesetup
∗keeps previous values if they are not overwritten, and if the
hpage-styleiexists, of course.
foot/left/odd is the same as odd/foot/left etc. but twoside option is not checked... Even pages are ignored in oneside documents: this is L
ATEX, not
fancyhdrnor
interfaces-fancyhdr.
As usual, for dimensions or glues,
+,-and
∗keys are provided for addition, substraction and scaling . And for code (font keys) the
+and
∗keys are provided: both append their content to the previous value.
interfaces[rev.3.1–release]c–FC
/
Theinterfacespackage – interfaces with keys for other packages 10Interface marks
9 Interface marks
interfaces-marks
provides a few macros to make easier the use of
ε-TEX \marks registers.
ε-TEX defines 32 768 marks registers, making the use of them far more comfortable than “old” L
ATEX \markboth, \markright, \leftmark and
\rightmark. Who gets the correct – I mean
expected– result with such commands ? Not me, I can say !
\marksthe
{hnamed-marki}{hcontenti}
\marksthecs
{hnamed-marki}{hcs-namei}
\marksthe
{hsectioni}{hcontenti} will mark
hcontentiinto a mark register referenced by the control sequence
\marks@hsectioni.
hcontenti is not expanded(You can expand before \marksthe if you need it).
If the mark \marks@hsectioni is not defined, then a new mark register is allocated (with
etex- \newmarks ).
\marksthecs
{hsubsubsectioni}{hcs-namei} will similarly mark the unexpanded content of \cs-name by means of the marks register \marks@hsubsubsectioni.
hcs-nameiis really the
name of the control sequence, notthe control sequence itself. If \cs-name is undefined or \relax, nothing is marked, making \marksthecs suitable to use with \lastsectiontitle
etc.. at\sectionbreak (see
interfaces-hypbmsecp.
9).\thefirstmarks
{hnamed-marki}
EXPANDABLE\thebotmarks
{hnamed-marki}
EXPANDABLE\thetopmarks
{hnamed-marki}
EXPANDABLE\thefirstmarks
{hchapteri} expands to \firstmarks \marks@hchapteri (this is expandable in exactly one step of expansion),
ie.either the content of the first invocation of \marksthe {hchapteri} on the current page, if \marks was used on the current page, or the last invocation of \marks if no marks occurs on the current page.
\thebotmarks
{hchapteri} expands to \botmarks \marks@hchapteri
ie.the content of the last invocation of
\marksthe {hchapteri} (the most recent \marks).
\thetopmarks
{hchapteri} expands to \topmarks \marks@hchapteri and this is the content of \botmarks at the time TEX shipped out the last page.
If there is no mark or if the mark register does not exist, expansion is null (ie. nothing is done).
Those commands can be used in headers and footers, f.ex:
\sectionformat\section{
mark=\marksthe{section}{\arabic{section}\hskip.4em\textendash\hskip.4em#1}}
\pagesetup{head/right=\thefirstmarks{section}}
\getthemarks
\firstmarks|\botmarks|\topmarks {hnamed-marki}{\control-sequence }
\getthefirstmarks
{hnamed-marki}{\control-sequence }
\getthebotmarks
{hnamed-mark
i}{\control-sequence }\getthetopmarks
{hnamed-mark
i}{\control-sequence }You may wish to retrieve the values of \firstmarks, \botmarks or \topmarks into a macro. This is the purpose of these commands: \control-sequence is defined as a parameterless macro whose replacement text is the content of the specified marks register.
If the marks register \marks@hnamed-marki does not exist, the meaning of \control-sequence isundefined.
interfaces[rev.3.1–release]c–FC
/
Theinterfacespackage – interfaces with keys for other packages 10Interface makecell:\repeatcell
\ifmarksequal
{\firstmarks }{\topmarks }{named-mark}{htruei}{hfalsei}
Pretty often, we want to compare the botmarks with firstmarks or the topmarks, to adapt the header and/or footer in case those marks are equal or different,
ie.in case the page contains a new section title or not:
\ifmarksequal
expands conditionnally code {htruei} only if the specified marks register to compare are equal, otherwise {hfalsei}.
• \firstmarks=\botmarks ⇔ there is at most one section title on the current page;
• \topmarks =\botmarks ⇔ there is no section title on the current page;
• \firstmarks=\topmarks ⇔ the last section title continues on the current page.
Those assertions are true only if you mark the section title at\sectionmarkand at\sectionbreak: this is easy when using interfaces-hypbmsec:\sectionformat \subsection {break=\marksthecs {subsection}{lastsubsectiontoc}}.
If the marks register \marks@hnamed-marki does not exist, the{hfalsei}part is expanded.
10 Interface
makecell : \repeatcell
makecell
provides \eline, \nline, \Xrows to fill a table with empty cells, or repeated rows.
interfaces
extends the possibility with \repeatcell. Although it is of general use, \repeatcell should be used softly in order to keep the .tex document intelligible (see the examples below).
While repeating cells, \repeatcell can also make calculations with:
•
\numexpr,
• $\pgfmath$
(
\usetikz{pgfmath} required in preamble)
• $$\FPeval$$
(\usepackage {
fp} required in preamble)
⇒use round to display the results!
Inside formulas
\rowexpands to the current row,
\columnto the current column number (\row and \column are 1-based and relative to \repeatcell).
\countvalues
{hcomma separated listi}
\countvalues {hcomma separated listi} expands to the number of values in the list. This is also the number of steps a L
ATEX \@for loop would do on the list: in other words,
empty values are counted.\countvalues is provided to allow you to adjust automatically the number of columns of a tabular, depending on your data, with the
∗operator: \begin {tabular}{∗{\countvalues
\list }{c}}.\countvalue is purely expandable in one expansion step. The
hcomma separated listiis expanded once, exactly like in L
ATEX \@for
(hint:you can put\@emptybefore, to avoid expansion).\repeatcell
[halignmenti]{hcolumnsi}{
←number of columnsorcomma separated list of values text= the text to be inserted (repeated) in each cell
font
= the font inside the cell
rows
= the number of rows (default is 1 row)
ora comma separated list of value:
{one,two,three,four,etc.} Empty values
are notignored.
cr|end
= the end-of-row sequence (default is \backslashchar but you may want
\crcr \hline or \tabularnewline...)
end of row sequenceis neverinserted after the last row.
text/row1|text/row2|text/row3etc.
= If you want to change the text on the specified rows
text/col1|text/col2|text/col3etc.= If you want to change the text on the specified columns
font/row1|font/row2|font/row3etc.= If you want to change the font on the specified rows
font/col1|font/col2|font/col3etc.
= If you want to change the font on the specified columns
cr/row1|cr/row2|cr/row3etc.
= If you want to change the end-of-line sequence on the specified rows
transpose= Do you wish to invert rows and columns ? Then
transpose=true© .
any other key
= can be used to make calculations using \numexpr or
$\pgfmathparse$or
$$\FPeval$$.Pay attention to put your formula inside curly brackets {$formula$} if it contains a comma , or an equal = sign! }
If [halignmenti] is specified, then each cell is placed into a \makecell [halignmenti] command.
If both
text/row<i>and
text/col<i>are specified for the same cell, then
makecell\diaghead is used to display the values in a diagonally divided cell.
interfaces[rev.3.1–release]c–FC
/
Theinterfacespackage – interfaces with keys for other packages 10Interface makecell:\repeatcell
If you want to see (in the .log file) the code introduced into the tabular (or array) by
\repeatcelltype \let
\itf@message =\message before \repeatcell.
Formulas:
if you say:
x=$sin(10*\column)$for example, then the formula is evaluated in each cell with
\pgfmath. The result is stored into the control sequence
\xand can be used in
textor in any other following formula.
The order in which the computed keys are given determines the order of evaluation...
of course!If you specify the number of columns (resp. of rows) as an integer, then
\repeatcellworks exactly as if you gave it a list of integers {1, 2, 3, 4, ...,
p}.If you specify the rows as a comma separated list of values, the following sequences are also admissible in
text:\R \row
refer to the value of the list for the current row.
\ris the same
(unless you defined a formula namedr).\R
{hni} to the value of the list for row {hni}
If the number of rows is specified as an integer, then
\R \row, \rand
\roware equal (to the current row index).
Similarly if you specify the columns as a comma separated list of values, the following sequences are provided:
\C \column
refer to the value of the list for the current column.
\cis the same, unless you defined a formula namedc.\C
{hmi} to the value of the list for column {hmi}
If the number of columns is specified as an integer, then
\C \row, \cand
\colare equal
(to the current column index). If the values in the lists are numeric,
\R, \C, \rand
\ccan be used in formulas as well,
of course...A few examples are better than a 10 pages description !
10·
1ˆConversion to scaled points\def\listofunits{ pt , cm , mm , bp , dd , pc , in , cc ,sp }
\begin{tabu}{|>{\bfseries}c|*9{X[mc]|}} \hline
\thead{units}
&
\repeatcell[c]\listofunits{ text= \c, font=\bfseries } \\ \hline
\thead{value in\\ scaled\\ points}
&
\repeatcell\listofunits{%sp
=\number\dimexpr 1\c\relax,
text=\numprint[sp]\sp}
\\ \hline
\end{tabu}
units pt cm mm bp dd pc in cc sp
value in scaled points
65 536 sp 1 864 679 sp 186 467 sp 65 781 sp 70 124 sp 786 432 sp 4 736 286 sp 841 489 sp 1 sp
10
·
2ˆVariable length cell\newcommand\FAMILY[3]{%
\begin{tabu}to .4\linewidth{|*3{X[mc]}|} \hline Mother & Father & Children \\ \hline
#1 & #2 & \makecell{\repeatcell{#3}{text=\c,
transpose} \\ \hline\end{tabu}}
\FAMILY{Johanne}{Georg}{Priscilla,John,Tom}
\FAMILY{Nut}{Geb}{Isis,Osiris,Seth,Nephthys}
Mother Father Children
Johanne Georg
Priscilla John Tom
Mother Father Children
Nout Geb
Isis Osiris
Seth Nephthys
10
·
3ˆEmpty rows\begin {tabu}{*6{|c}|} \hline
\repeatcell 6{ text/col1=\row , rows=4, end=\\ \hline } \\ \hline
\end {tabu}
1 2 3 4
interfaces[rev.3.1–release]c–FC
/
Theinterfacespackage – interfaces with keys for other packages 10Interface makecell:\repeatcell
\begin {tabu}{*4{|c}|} \hline
\repeatcell 6{ text/col1=\row , rows=4, end=\\ \hline , transpose} \\ \hline
\end {tabu}
1 2 3 4
10
·
4ˆcolor palette\begin{tabu}{*4c}
\repeatcell {8}{transpose=true, rows=4, red = {$$round(\c/8*255,0)$$},
greeni = \red, bluei = \red,
greenii = {$$round(255-\red,0)$$}, blueii = \red,
greeniii = \red, blueiii = {$$round(255-\red,0)$$}, greeniv = \greenii, blueiv = \blueiii,
text/row1={\cellcolor[RGB]{\red,\greeni,\bluei}(\red,\greeni,\bluei)}, text/row2={\cellcolor[RGB]{\red,\greenii,\blueii}(\red,\greenii,\blueii)}, text/row3={\cellcolor[RGB]{\red,\greeniii,\blueiii}(\red,\greeniii,\blueiii)}, text/row4={\cellcolor[RGB]{\red,\greeniv,\blueiv}(\red,\greeniv,\blueiv)} }
\end{tabu}
(32,32,32) (32,223,32) (32,32,223) (32,223,223) (64,64,64) (64,191,64) (64,64,191) (64,191,191) (96,96,96) (96,159,96) (96,96,159) (96,159,159) (128,128,128) (128,127,128) (128,128,127) (128,127,127) (159,159,159) (159,96,159) (159,159,96) (159,96,96) (191,191,191) (191,64,191) (191,191,64) (191,64,64) (223,223,223) (223,32,223) (223,223,32) (223,32,32) (255,255,255) (255,0,255) (255,255,0) (255,0,0)
Note: makecellinteract very badly withcolortbl. Therefore, with\cellcoloror\rowcolor, the optional[halignmenti]parameter of
\repeatcelldoes not give good results...colortblremain a rather rough package, and deserve a finer implementation... in future.
10
·
5ˆtabularcalc-like tables (with dcolumn package) and pgfmath\def\listofx{ -4 , -2 , 0 , 2.25 , 7 }
$$\begin{tabu}{|c<{\bottopstrut}|*{5}{|D..{5.5}}|} \hline
\rowfont{\large\color{blue}}
x &\repeatcell\listofx{ text=\C\column } \\ \hline\hline
f(x)=2x-3 &\repeatcell\listofx{ fx = $2*\c-3$, text=\fx } \\ \hline x^2 &\repeatcell\listofx{ xsquare = $\C\column^2$ , text = \xsquare } \\ \hline h(x) = \sqrt{x^2+1} &\repeatcell\listofx{ x=\C\column, hx = {$sqrt(pow(\x,2)+1)$}, text = \hx } \\ \hline
\end{tabu}$$
x −4 −2 0 2.25 7
f(x)=2x−3 −11.0 −7.0 −3.0 1.5 11.0
x2 −16.0 −4.0 0.0 5.0625 49.0
h(x)=√
x2+1 4.12310 2.23606 1.00000 2.46221 7.07106
$\pgfmath$computations
x −4 −2 0 2.25 7
f(x)=2x−3 −11.00000 −7.00000 −3.00000 1.50000 11.00000
x2 16.00000 4.00000 0.00000 5.06250 49.00000
h(x)=√
x2+1 4.12311 2.23607 1.00000 2.46221 7.07107
And the same with$$\FPeval$$ (fppackage)
interfaces[rev.3.1–release]c–FC
/
Theinterfacespackage – interfaces with keys for other packages 10Interface makecell:\repeatcell
10
·
6ˆDouble entry array: the Body Mass Index\def\weightlist{weight in kg, 30, 45, 50, 55, 60, 65, 70, 80, 90, 95, 100, 110, 120}
\def\heightlist{height in cm, 190, 180, 170, 160, 150, 140, 130}
\colorlet{denutrition}{Crimson} \colorlet{skinniness}{yellow} \colorlet{normal}{LawnGreen}
\colorlet{obesity}{Moccasin} \colorlet{serious obesity}{DarkOrange} \colorlet{morbid obesity}{Fuchsia}
\newcommand*\mycolor[1]{\cellcolor{%
\ifdim#1pt<17pt denutrition\else \ifdim#1pt<19pt skinniness\else \ifdim#1pt<26pt normal\else
\ifdim#1pt<30pt obesity\else \ifdim#1pt<35pt serious obesity\else morbid obesity\fi\fi\fi\fi\fi}}
\begin{tabu}{*{\countvalues\heightlist}{|c}|} \hline
\repeatcell \heightlist {%
rows = \weightlist,
height = \ifnum\column>1 \c\else 1\fi, weight = \ifnum\row>1 \r\else 1\fi,
BMI = {$$round(\weight/((\height/100)^2),1)$$}, text = \mycolor{\BMI}\BMI,
text/row1 = \c, font/row1 = \color{NavyBlue}, cr/row1 = \\ \hline, text/col1 = \r, font/col1 = \color{DarkViolet},
} \\ \hline
\end{tabu}\quad
\begin{tabu}{|c|}
\repeatcell{denutrition,skinniness,normal,obesity,serious obesity,morbid obesity}{%
text=\cellcolor{\c}{\c},transpose,font=\large\bfseries\bottopstrut}
\end{tabu}
H HH
H HH
HH HHH weight in kg
height in cm
190 180 170 160 150 140 130
30 8.3 9.3 10.4 11.7 13.3 15.3 17.8
45 12.5 13.9 15.6 17.6 20.0 23.0 26.6
50 13.9 15.4 17.3 19.5 22.2 25.5 29.6
55 15.2 17.0 19.0 21.5 24.4 28.1 32.5
60 16.6 18.5 20.8 23.4 26.7 30.6 35.5
65 18.0 20.1 22.5 25.4 28.9 33.2 38.5
70 19.4 21.6 24.2 27.3 31.1 35.7 41.4
80 22.2 24.7 27.7 31.3 35.6 40.8 47.3
90 24.9 27.8 31.1 35.2 40.0 45.9 53.3
95 26.3 29.3 32.9 37.1 42.2 48.5 56.2
100 27.7 30.9 34.6 39.1 44.4 51.0 59.2
110 30.5 34.0 38.1 43.0 48.9 56.1 65.1
120 33.2 37.0 41.5 46.9 53.3 61.2 71.0
denutrition skinniness
normal obesity serious obesity morbid obesity
HH HH
HH HH
HHH height in cm
weight in kg
30 45 50 55 60 65 70 80 90 95 100 110 120
190 8.3 12.5 13.9 15.2 16.6 18.0 19.4 22.2 24.9 26.3 27.7 30.5 33.2 180 9.3 13.9 15.4 17.0 18.5 20.1 21.6 24.7 27.8 29.3 30.9 34.0 37.0 170 10.4 15.6 17.3 19.0 20.8 22.5 24.2 27.7 31.1 32.9 34.6 38.1 41.5 160 11.7 17.6 19.5 21.5 23.4 25.4 27.3 31.3 35.2 37.1 39.1 43.0 46.9 150 13.3 20.0 22.2 24.4 26.7 28.9 31.1 35.6 40.0 42.2 44.4 48.9 53.3 140 15.3 23.0 25.5 28.1 30.6 33.2 35.7 40.8 45.9 48.5 51.0 56.1 61.2 130 17.8 26.6 29.6 32.5 35.5 38.5 41.4 47.3 53.3 56.2 59.2 65.1 71.0
The same withtranspose
Note thatfpcomputation can be time consuming...depending on the formula and the number of cells to fill in. While preparing first such a table, give to the computed keys a constant value, and plug the formulas only when you are satisfied with the displayed tabular...
interfaces[rev.3.1–release]c–FC
/
Theinterfacespackage – interfaces with keys for other packages 11Interface enumitem
11 Interface
enumitem : \setlist
\setlist
[environment,level,environment,level,etc.]{
label
= the label to be used
font= the label font
topsep
= vertical space before the list
partopsep= vertical space
parsep
= value of \parskip inside the list
itemsep= vertical space between two items
leftmargin= the list left margin
rightmargin
= the list right margin
listparindent
= the value of \parindent inside the list
labelwidth= the width of the label box
labelsep
= horizontal space between label and following text
itemindent= the indentation of the items }
\setlist∗
[henvironment,level,environment,level,etc.i]{key=value}
Enumerated lists, description lists or itemize lists can be defined by
enumitemwith the command \newlist.
For example: \newlist {mylegal}{enumerate}{10}
The list can be customized with \setlist, for example:
\setlist[mylegal,1]{label*=\arabic*.}
\setlist[mylegal,2]{label*=\arabic*.}
\setlist[mylegal,3]{label*=\roman*)}
With
interfaces-enumitemyou may specify more than one level at a time in \setlist, (and even more than one environment at a time):
\setlist[mylegal,1,2]{label*=\arabic*.}
\setlist[mylegal,3]{label*=\roman*)}
A list can also be
modifiedwith
\setlist∗: keys that are not specified remain the same.\setlist∗[mylegal,1,2,3]{align=left,leftmargin=*}
or
\setlist∗[mylegal]{align=left,leftmargin=*}
\interitem
Just like
AMS\intertext in math formulæ,
\interitemallows to put some non intented text inside a list environment. Example:
\begin{enumerate}[label=\roman*)\,,parsep=0pt]
\item First item in the enumerate envir
\interitem
or (intertext)
\item Second item
\end{enumerate}
The example give in real world:
i) First item in the enumerate envir or: (intertext)
ii) Second item
And the following follows...
interfaces[rev.3.1–release]c–FC
/