diff options
author | Norbert Preining <preining@logic.at> | 2008-01-19 15:20:26 +0000 |
---|---|---|
committer | Norbert Preining <preining@logic.at> | 2008-01-19 15:20:26 +0000 |
commit | ad6fb43bb22068e7d16a9ed534f4614699d8fcd7 (patch) | |
tree | d7ac91a072f216ce631d617fd2a9d56d0077264b /Master/texmf-dist/tex/latex/dlfltxb | |
parent | aa6ced3deb6c3429cc177f028065c87696e2eabd (diff) |
update dlbfltx
git-svn-id: svn://tug.org/texlive/trunk@6315 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/dlfltxb')
4 files changed, 482 insertions, 8 deletions
diff --git a/Master/texmf-dist/tex/latex/dlfltxb/dlfltxbcodetips.sty b/Master/texmf-dist/tex/latex/dlfltxb/dlfltxbcodetips.sty index 1a58f5f86a6..edc970b473d 100644 --- a/Master/texmf-dist/tex/latex/dlfltxb/dlfltxbcodetips.sty +++ b/Master/texmf-dist/tex/latex/dlfltxb/dlfltxbcodetips.sty @@ -1,4 +1,4 @@ -\ProvidesPackage{dlfltxbcodetips}[2007/07/11 v0.26 by Lars 'daleif' Madsen] +\ProvidesPackage{dlfltxbcodetips}[2008/01/17 v0.3 by Lars 'daleif' Madsen] % this pacakge collects some macros presented as code tips in my LaTeX % book: "Introduktion til LaTeX". As the macros might be useful for @@ -234,3 +234,62 @@ } +\newcommand\ProvidePGFPagesFourOnOneWithSpaceForNotes{% + \@ifpackageloaded{pgfpages}{% + \pgfpagesdeclarelayout{4 on 1 with space for notes} + { \edef\pgfpageoptionheight{\the\paperwidth} % landscaped by default + \edef\pgfpageoptionwidth{\the\paperheight} + \def\pgfpageoptionborder{0pt}} + { \pgfpagesphysicalpageoptions{logical pages=4,% + physical height=\pgfpageoptionheight,% + physical width=\pgfpageoptionwidth} + \ifdim\paperheight>\paperwidth\relax + % put side-by-side + \pgfpageslogicalpageoptions{1}{% + border shrink=\pgfpageoptionborder,% + resized width=.25\pgfphysicalwidth,% + resized height=.5\pgfphysicalheight,% + center=\pgfpoint{.125\pgfphysicalwidth}{.75\pgfphysicalheight}}% + \pgfpageslogicalpageoptions{2}{% + border shrink=\pgfpageoptionborder,% + resized width=.25\pgfphysicalwidth,% + resized height=.5\pgfphysicalheight,% + center=\pgfpoint{.625\pgfphysicalwidth}{.75\pgfphysicalheight}}% + \pgfpageslogicalpageoptions{3}{% + border shrink=\pgfpageoptionborder,% + resized width=.25\pgfphysicalwidth,% + resized height=.5\pgfphysicalheight,% + center=\pgfpoint{.125\pgfphysicalwidth}{.25\pgfphysicalheight}}% + \pgfpageslogicalpageoptions{4}{% + border shrink=\pgfpageoptionborder,% + resized width=.25\pgfphysicalwidth,% + resized height=.5\pgfphysicalheight,% + center=\pgfpoint{.625\pgfphysicalwidth}{.25\pgfphysicalheight}}% + \else % stack on top of one another + \pgfpageslogicalpageoptions{1}{% + border shrink=\pgfpageoptionborder,% + resized width=.5\pgfphysicalwidth,% + resized height=.25\pgfphysicalheight,% + center=\pgfpoint{.25\pgfphysicalwidth}{.875\pgfphysicalheight}}% + \pgfpageslogicalpageoptions{2}{% + border shrink=\pgfpageoptionborder,% + resized width=.5\pgfphysicalwidth,% + resized height=.25\pgfphysicalheight,% + center=\pgfpoint{.25\pgfphysicalwidth}{.625\pgfphysicalheight}}% + \pgfpageslogicalpageoptions{3}{% + border shrink=\pgfpageoptionborder,% + resized width=.5\pgfphysicalwidth,% + resized height=.25\pgfphysicalheight,% + center=\pgfpoint{.25\pgfphysicalwidth}{.375\pgfphysicalheight}}% + \pgfpageslogicalpageoptions{4}{% + border shrink=\pgfpageoptionborder,% + resized width=.5\pgfphysicalwidth,% + resized height=.25\pgfphysicalheight,% + center=\pgfpoint{.25\pgfphysicalwidth}{.125\pgfphysicalheight}}% + \fi + } + }{% + \PackageError{dlfltxbcodetips}{\string\ProvidePGFPagesFourOnOneWithSpaceForNotes^^J + can only be used after the pgfpages package have been loaded}{} +}} + diff --git a/Master/texmf-dist/tex/latex/dlfltxb/dlfltxbmarkup.sty b/Master/texmf-dist/tex/latex/dlfltxb/dlfltxbmarkup.sty index ba40ef465e8..32f4652c10a 100644 --- a/Master/texmf-dist/tex/latex/dlfltxb/dlfltxbmarkup.sty +++ b/Master/texmf-dist/tex/latex/dlfltxb/dlfltxbmarkup.sty @@ -1,4 +1,19 @@ -\ProvidesPackage{dlfltxbmarkup}[2007/05/16 v0.6 by daleif] +\ProvidesPackage{dlfltxbmarkup}[2008/01/10 v0.65 by daleif] + +% This package be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either version 1.3 +%% of this license or (at your option) any later version. +%% The latest version of this license is in +%% http://www.latex-project.org/lppl.txt +%% and version 1.3 or later is part of all distributions of LaTeX +%% version 2003/12/01 or later. +%% +%% This work has the LPPL maintenance status "maintained". +%% +%% The Current Maintainer of this work is Lars Madsen (daleif@imf.au.dk). +%% + + \@ifclassloaded{memoir}{}{% \PackageError{felinemarkup}{This package depends on several internal @@ -45,7 +60,7 @@ % is given % 2007/05/15 \feline@index@cmd renamed to \felineIndexCmd % 2007/05/16 package renamed to dlfltxbmarkup - +% 2008/01/10 added a strut inside the macro that writes in the margin, % this boolean is meant to be used for example inside constructions % that will not permit the use of \marginpar, for example the @@ -75,7 +90,7 @@ % leaves a whatsit % \ifoddpage\RaggedRight\else\RaggedLeft\fi% \felineMarginAdjustment% - {\slshape\footnotesize\hspace{0pt}\color{black}#1\par}}} + {\slshape\footnotesize\strut\hspace{0pt}\color{black} #1\strut\par}}} % this might not belong here, but we will leave it for now \strictpagechecktrue% diff --git a/Master/texmf-dist/tex/latex/dlfltxb/dlfltxbmisc.sty b/Master/texmf-dist/tex/latex/dlfltxb/dlfltxbmisc.sty index 367c9e57669..ae7cd5ce1b7 100644 --- a/Master/texmf-dist/tex/latex/dlfltxb/dlfltxbmisc.sty +++ b/Master/texmf-dist/tex/latex/dlfltxb/dlfltxbmisc.sty @@ -1,4 +1,19 @@ -\ProvidesPackage{dlfltxbmisc}[2007/05/15 v0.1 by Lars Madsen] +\ProvidesPackage{dlfltxbmisc}[2008/01/01 v0.2 by Lars Madsen] + +% This package be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either version 1.3 +%% of this license or (at your option) any later version. +%% The latest version of this license is in +%% http://www.latex-project.org/lppl.txt +%% and version 1.3 or later is part of all distributions of LaTeX +%% version 2003/12/01 or later. +%% +%% This work has the LPPL maintenance status "maintained". +%% +%% The Current Maintainer of this work is Lars Madsen (daleif@imf.au.dk). +%% + + % if memoir is not loaded we will need the chngpage to get adjustwidth \@ifclassloaded{memoir}{}{ @@ -9,6 +24,11 @@ \RequirePackage{url} \RequirePackage{calc} +\@ifundefined{marg}{\newcommand\marg{}}{} +\@ifundefined{oarg}{\newcommand\oarg{}}{} +\@ifundefined{parg}{\newcommand\parg{}}{} + + \newcommand*\Arg@s[1]{\textnormal{\texttt{#1}}}% \newcommand*\Arg@n[1]{\textnormal{$\langle$\textit{#1}$\rangle$}}% \newcommand*\Arg{\@ifstar{\Arg@s}{\Arg@n}}% @@ -17,19 +37,19 @@ \newcommand*\marg@n[1]{% \textnormal{\texttt{\{}$\langle$\textit{#1}$\rangle$\texttt{\}}}% } -\newcommand*\marg{\@ifstar{\marg@s}{\marg@n}} +\renewcommand*\marg{\@ifstar{\marg@s}{\marg@n}} \newcommand*\oarg@s[1]{\textnormal{\texttt{[#1]}}} \newcommand*\oarg@n[1]{% \textnormal{\texttt{[}$\langle$\textit{#1}$\rangle$\texttt{]}}% } -\newcommand*\oarg{\@ifstar{\oarg@s}{\oarg@n}} +\renewcommand*\oarg{\@ifstar{\oarg@s}{\oarg@n}} \newcommand*\parg@s[1]{\textnormal{\texttt{(#1)}}} \newcommand*\parg@n[1]{% \textnormal{\texttt{(}$\langle$\textit{#1}$\rangle$\texttt{)}}% } -\newcommand*\parg{\@ifstar{\parg@s}{\parg@n}} +\renewcommand*\parg{\@ifstar{\parg@s}{\parg@n}} \newcommand\malign[2][2pt]{% \makebox[0pt][l]{\kern#1\smash{\rule[-1.5mm-#2\baselineskip]{0.01pt}{5mm+#2\baselineskip}}}% @@ -90,6 +110,7 @@ \def\UrlNoBreaks{\do\(\do\[\do\{\do\<\do\:\do\.}%\] \RaggedLeft% \fussy% + \hbadness=10000% cheating \addtolength\lastlinedim{-\bibhang}% \fboxsep=0pt% \fboxrule=0pt% diff --git a/Master/texmf-dist/tex/latex/dlfltxb/dlfltxbtocconfig.sty b/Master/texmf-dist/tex/latex/dlfltxb/dlfltxbtocconfig.sty new file mode 100644 index 00000000000..3f4168bc030 --- /dev/null +++ b/Master/texmf-dist/tex/latex/dlfltxb/dlfltxbtocconfig.sty @@ -0,0 +1,379 @@ +\ProvidesPackage{dlfltxbtocconfig}[2007/12/27 v0.5 by Lars Madsen] + +% This package be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either version 1.3 +%% of this license or (at your option) any later version. +%% The latest version of this license is in +%% http://www.latex-project.org/lppl.txt +%% and version 1.3 or later is part of all distributions of LaTeX +%% version 2003/12/01 or later. +%% +%% This work has the LPPL maintenance status "maintained". +%% +%% The Current Maintainer of this work is Lars Madsen (daleif@imf.au.dk). +%% + + +% HISTORY +% +% 20071227 a few internal macros changed to reflect changes in +% mempatch 4.9 + +% we need to be running under the memoir class +\@ifclassloaded{memoir}{}{% + \PackageError{dlfltxbtoconfig}{This package is build to run under + the memoir class, no other class will work}{}} + +% test for features present in mempatch 4.9 +\@ifundefined{cftinsertcode}{ + \PackageError{dlfltxbtoconfig}{Macro \string\cftinsertcode is missing. + We need features from mempatch version 4.9 or newer, please + upgrade memoir and mempatch.}{} +}{} + + +% add a \par to the end of the TOC +\AtEndDocument{\addtocontents{toc}{\par}} + +% we will use a special spart in the short ToC only the short ToC uses +% this so we define it to do nothing +\providecommand\l@spart[2]{} +% similar to \part but only adds something to the ToC +\newcommand\spart[1]{\cleartorecto\phantomsection\addcontentsline{toc}{spart}{\protect\partnumberline{}#1}} + + +% this is now directly included in memoir +% % the command inserted into the ToC holding the hook +% \newcommand\cftdlfinsert[1]{\@nameuse{cftdlfinsert#1}} +% % creates a hook to be executed in the ToC, since we use \@nameuse it +% % does not matter if the hook does not exist +% \newcommand\cftdlfinsertcode[2]{\@namedef{cftdlfinsert#1}{#2}} +% % inserts a hook into the ToC file +% \newcommand\cftdlfinserthook[1]{\addtocontents{toc}{\protect\cftdlfinsert\protect{#1\protect}}} + + + +% used for calculating the widest section and sunsection numbers +% we reset them back to zero in the ToC preprocessor +\newlength\secwidest +\settowidth\secwidest{99.99} +\newlength\subsecwidest +\settowidth\subsecwidest{99.99} + +% the name of the ToC file, just such that one can use it on sample +% data by just redefining this macro +\def\feline@includetocfile{\@starttoc{toc}} + +%\PackageWarning{dlfltxbtocconfig}{ToCfile: \feline@tocfile} + +% LoT and LoF handling +\cftsetindents{figure} {0em} {3.0em} +\cftsetindents{table} {0em} {3.0em} +\renewcommand{\cftfiguredotsep} {\cftnodots} +\renewcommand{\cfttabledotsep} {\cftnodots} + + +%%%%%%%%%%%%%%%%%%%% +%% %% +%% MakeShortToC %% +%% %% +%%%%%%%%%%%%%%%%%%%% + + + +% This macro is used to print the two ToCs +\newcommand\MakeShortToC{ + \begingroup + \renewcommand{\contentsname}{Kort oversigt} + \setcounter{tocdepth}{0} + % no precis' + \renewcommand\precistoctext[1]{} + % mess with internal command + \renewcommand\changetocdepth[1]{} + \renewcommand\cftchapterfont{\normalfont\itshape} + \renewcommand\cftchapterpagefont{\normalfont\itshape} + \renewcommand\cftchapterleader{\enspace\textperiodcentered\enspace} + % no part numbers + \renewcommand\partnumberline[1]{} + % no parts + \renewcommand\l@part[2]{} + % we will use spart ToC entries and ignore parts + \renewcommand\l@spart[2]{% + \noindent + \qquad\qquad\hrulefill\par% + \noindent% + \raisebox{-3pt}[0pt][0pt]{\qquad\qquad\parbox[t]{0.35\textwidth}{\itshape\bfseries ##1}}% + \vskip-\baselineskip + \par + } + % no chapternumbers + \renewcommand\chapternumberline[1]{} + % reconfigure the way chapters and appendices are presented + \renewcommand*{\l@chapapp}[3]{% + \ifnum \c@tocdepth >\m@ne + \cftchapterbreak + \vskip \cftbeforechapterskip + { +% \leftskip -10pt%\cftchapterindent\relax +% \rightskip 0\textwidth%\@tocrmarg + \leftskip \fill + \rightskip 0pt + \parfillskip 0pt%-\rightskip + \parindent 0pt + \@afterindenttrue + \interlinepenalty\@M + \leavevmode + \def\@chapapp@head{##3}% + {\cftchapterpagefont ##2}\nobreak% + \cftchapterfillnum% + {##1}% + }% + \fi} + % it is best not have have long chapter title, but in case they are + % long, we will put them into a box + \renewcommand*\cftchapterfillnum[1]{% + {\cftchapterleader}\nobreak + {\parbox[t]{0.5\textwidth}{\raggedright\cftchapterfont ##1}}\par + } + % set the distance between chapters + \setlength\cftbeforechapterskip{4pt} + % set the title of the short ToC + \@nameuse{@tocmaketitle} + % add the short ToC to the ToC + \phantomsection + \addcontentsline{toc}{chapter}{\contentsname} + % reag in the ToC + \makeatletter +% \input\feline@tocfile +\feline@includetocfile + \endgroup + \cleartorecto +} + + + +%%%%%%%%%%%%%%%%%%%%% +%% %% +%% MakeNormalToC %% +%% %% +%%%%%%%%%%%%%%%%%%%%% + + + +\newcommand\cftdlfsubsubseccomma{% + \@ifundefined{aldinesmall}{% + , \hskip .5em plus 3pt minus 3pt% + }{% + \hskip .5em plus 3pt minus 3pt\aldinesmall\nolinebreak% + \hskip .5em plus 3pt minus 3pt\nopagebreak% + }} + + +% This macro is used to print the two ToCs +\newcommand\MakeNormalToC{ + \begingroup + + \newcommand\feline@partToCtext[1]{% + \begingroup% + \fboxsep=2pt% + {\parbox{\linewidth-2\fboxsep-2\fboxrule}% + {\itshape\LARGE \strut\hfill {##1} \hfill\strut}}% + \endgroup% + } + + + % no pagenumbers for part + \cftpagenumbersoff{part} + + \DeclareRobustCommand\precistoctext[1]{% + {\nopagebreak\leftskip0pt\relax + % \advance\leftskip\cftchapternumwidth\relax + \rightskip\@tocrmarg plus 4em \relax + \noindent\parbox{\linewidth-2em-\@tocrmarg}% + {\precistocfont\raggedright\footnotesize ##1}\par}\vskip5pt} + + % reconfiguring the way parts will appear + \renewcommand*{\l@part}[2]{% + \ifnum \c@tocdepth >-2\relax + \cftpartbreak% + \vskip\cftbeforepartskip + \begingroup + { + \leftskip 0pt%\cftpartindent\relax + \rightskip 0pt%\@tocrmarg + \parfillskip -0pt%\rightskip + \parindent 0pt\relax\@afterindenttrue + \interlinepenalty\@M + \leavevmode + \feline@partToCtext{##1} + \par + }\nopagebreak + \global\@nobreaktrue + \everypar{\global\@nobreakfalse\everypar{}}% + \endgroup + \fi} + % it is good to break begore a part instead of having a part at the + % bottom of a page + \renewcommand\cftpartbreak{\par\addpenalty{-\@highpenalty} + \if@nobreak\else + \vskip\z@\@plus\bottomsectionskip + \penalty\z@ + \vskip\z@\@plus -\bottomsectionskip + \fi + } + % no part numbers + \renewcommand\partnumberline[1]{} + + + % need more space for ToC page numbers + \setpnumwidth{2.55em} + \setrmarg{3.55em} + % need more space for ToC section numbers, we will use calculated numbers + \cftsetindents{section} {0em} {\secwidest+0.5em} + \cftsetindents{subsection} {\secwidest+0.5em} {\subsecwidest+0.5em} + \cftsetindents{subsubsection}{\secwidest+\subsecwidest+1em}{0em} +% % need more space for LoF & LoT numbers + %remove the dotted leaders + \renewcommand{\cftsectiondotsep} {\cftnodots} + \renewcommand{\cftsubsectiondotsep} {\cftnodots} + \renewcommand{\cftsubsubsectiondotsep}{\cftnodots} + \renewcommand{\cftparagraphdotsep} {\cftnodots} + \renewcommand{\cftsubparagraphdotsep} {\cftnodots} + + % if someone wrote \bfseries or similar in the title of a + % subsubsection, we will remove it + \let\feline@oldnumberline\numberline + \let\oldbfseries=\bfseries + \let\oldem=\em + \let\oldttfamily=\ttfamily + \renewcommand{\cftsubsubsectionfont}{\small\itshape} + \renewcommand{\cftsubsubsectionpagefont}{\footnotesize\itshape\scshape} + % reconfigure the way subsubsectins are displayed + \renewcommand{\l@subsubsection}[2]{% + \ifnum \c@tocdepth > 2\relax% + \let\bfseries\relax% + \let\em\relax% + \let\ttfamily\relax% + % \def\numberline##1{\textit{##1}~}% % numbers + \def\numberline####1{}% % no numbers + \leftskip=\cftsubsubsectionindent% + \settowidth\@tempdima{\textbf{999999}}% + \rightskip=\@tempdima plus 4em +% \parfillskip=\fill% + \parfillskip=2em plus 1fil + \nopagebreak% added 20060713 + % instead of using a comma to separate entries we will use a leaf + % (requires the fourier package + \ifhmode \cftdlfsubsubseccomma\else\noindent\fi% +% \noindent + \ignorespaces% + {\cftsubsubsectionfont ##1}~~{\cftsubsubsectionpagefont ##2}% + \let\numberline\feline@oldnumberline\ignorespaces% + \let\bfseries\oldbfseries\ignorespaces% + \let\em\oldem\ignorespaces% + \let\ttfamily\oldttfamily\ignorespaces% + \fi% + } + + % getting chapternames and appendix names into the ToC + \renewcommand\cftchaptername{\chaptername~~} + \renewcommand\cftappendixname{\appendixname~~} + + \renewcommand{\contentsname}{Indholdsfortegnelse} + \setcounter{tocdepth}{3} % subsections + \addtodef{\cftchapterbreak}{\par}{} + \renewcommand{\cftchapterleader}{\cftdotfill{\cftchapterdotsep}} + +% \setlength\cftbeforechapterskip{2.5em plus 1em minus 0.5em} + \setlength\cftbeforepartskip{2.5em plus 1em minus 1.5em} + + % handle some added hooks + \cftinsertcode{A}{ + \renewcommand\cftchapterfont{\normalfont} + \renewcommand\cftchapterpagefont{\normalfont} + \setlength\cftbeforechapterskip{0pt} + } + + \cftinsertcode{B}{ + \renewcommand\cftchapterfont{\bfseries} + \renewcommand\cftchapterpagefont{\bfseries} + \addtolength\cftbeforechapterskip{1.25em plus 0.7em minus 1em} + } + + \cftinsertcode{C}{\setlength\cftbeforechapterskip{0pt}} + + + % set the title of the short ToC + \@nameuse{@tocmaketitle} + % add the short ToC to the ToC + \phantomsection + \addcontentsline{toc}{chapter}{\contentsname} + % reag in the ToC + \makeatletter +% \input\feline@tocfile +\feline@includetocfile + \endgroup + \cleartorecto +} + +%%%%%%%%%%%%%%%%%%%%%%%% +%% %% +%% ToC preprocessor %% +%% %% +%%%%%%%%%%%%%%%%%%%%%%%% + + + +% this macro preprocesses the ToC and figures out which section and +% subsection numbers are the widest, these will be saved into +%\secwidest and \subsecwidest +\newcommand\preprocessToC{ + \begingroup +% \newif\ifshortToC + \makeatletter + \let\l@part=\@gobbletwo + \let\l@chapapp=\@gobbletwo + \let\l@subsubsection=\@gobbletwo + + \setlength{\global\secwidest}{0pt} + \setlength{\global\subsecwidest}{0pt} + + \def\PARSER##1##2##3##4\END{%\typeout{##2} + \settowidth\unitlength{##3}% + \ifdim\unitlength>##1% + \settowidth{\global##1}{##3}% + \fi% + } + \renewcommand\l@section[2]{% + \PARSER\secwidest##1\END% + } + \renewcommand\l@subsection[2]{% + \PARSER\subsecwidest##1\END% + } + \let\precistoctext\@gobble + +% \input\feline@tocfile + \feline@includetocfile + \typeout{widest section: \the\secwidest} + \typeout{widest subsection: \the\subsecwidest} + \endgroup +} + + +% the internal macros tha lives inside the ToC file +\def\cftSubsectionIndentsBackToNormal{% + \cftsetindents{subsubsection}{\secwidest+\subsecwidest+1em}{0em}% +} +\def\cftSubsectionIndentsPullBack{% + \cftsetindents{subsubsection}{\secwidest+0.5em}{0em}% +} + +\newcommand\ToCSubsectionIndentsPullBack{% + \addtocontents{toc}{\protect\cftSubsectionIndentsPullBack}} +\newcommand\ToCSubsectionIndentsBackToNormal{% + \addtocontents{toc}{\protect\cftSubsectionIndentsBackToNormal}} + +% preserving some old syntax +\let\RedofelineEmulSubSubSec\ToCSubsectionIndentsBackToNormal +\let\felineEmulSubSubSec\ToCSubsectionIndentsPullBack + |