summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2011-03-21 22:01:15 +0000
committerKarl Berry <karl@freefriends.org>2011-03-21 22:01:15 +0000
commit047ef2814492dcf2265786934ed3692b6d6cd3a0 (patch)
tree4b976ac81b4a8a1612127088b88935ec6e362f26 /Master/texmf-dist/source/latex
parentd81f87a9ae6a19d3b4dab661a2f13bfa490a143f (diff)
svn-multi (21mar11)
git-svn-id: svn://tug.org/texlive/trunk@21790 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex')
-rw-r--r--Master/texmf-dist/source/latex/svn-multi/svn-multi-pl.dtx2
-rw-r--r--Master/texmf-dist/source/latex/svn-multi/svn-multi.dtx594
2 files changed, 194 insertions, 402 deletions
diff --git a/Master/texmf-dist/source/latex/svn-multi/svn-multi-pl.dtx b/Master/texmf-dist/source/latex/svn-multi/svn-multi-pl.dtx
index 22c434e5b72..83d26da4a30 100644
--- a/Master/texmf-dist/source/latex/svn-multi/svn-multi-pl.dtx
+++ b/Master/texmf-dist/source/latex/svn-multi/svn-multi-pl.dtx
@@ -67,7 +67,7 @@
\def\svnmultipl@date{#2/#3/#4}%
}
\svnmultipl@rev $Rev: 1873 $
-\svnmultipl@date $Date: 2010-07-26 17:31:45 +0200 (Mon, 26 Jul 2010) $
+\svnmultipl@date $Date: 2010-07-26 16:31:45 +0100 (Mon, 26 Jul 2010) $
\ProvidesFile{svn-multi-pl.dtx}
[\svnmultipl@date\space\svnmultipl@version\space SVN Keywords extractor for svn-multi]
diff --git a/Master/texmf-dist/source/latex/svn-multi/svn-multi.dtx b/Master/texmf-dist/source/latex/svn-multi/svn-multi.dtx
index a6b89a01cc0..e55439c70f9 100644
--- a/Master/texmf-dist/source/latex/svn-multi/svn-multi.dtx
+++ b/Master/texmf-dist/source/latex/svn-multi/svn-multi.dtx
@@ -24,242 +24,30 @@
% \fi
% \iffalse
%<*package|driver>
-% $Id: svn-multi.dtx 2010 2011-01-03 23:11:47Z martin $
+% $Id: svn-multi.dtx 2376 2011-03-20 17:41:52Z martin $
%
-\def\svnmulti@version{v2.4a}
+\def\svnmulti@version{v2.4b}
\RequirePackage{svn-prov}[2010/04/14]
%</package|driver>
%<*driver>
-\ProvidesFileSVN{$Id: svn-multi.dtx 2010 2011-01-03 23:11:47Z martin $}
+\ProvidesFileSVN{$Id: svn-multi.dtx 2376 2011-03-20 17:41:52Z martin $}
[\svnmulti@version\space SVN Keywords for multi-file LaTeX documents]
\DefineFileInfoSVN[svnmulti]
\GetFileInfoSVN*
-\documentclass{ltxdoc}
+\documentclass{ydoc}[2011/03/19]
\usepackage[english]{babel}
\dateenglish
\usepackage{svn-multi}[\svnmulti@date]
-\usepackage{booktabs}
-\usepackage{ifpdf}
-\ifpdf
- % use hypdoc if you have it, hyperref else
- \IfFileExists{hypdoc.sty}
- {\usepackage{hypdoc}}
- {\usepackage{hyperref}}
-\else
- \let\url\texttt
-\fi
-\usepackage{xspace}
\newcommand{\ie}{i.e.\@\xspace}
\newcommand{\eg}{e.g.\@\xspace}
-\iffalse
-\let\css=\cs
-\let\op=\cs
-\let\DescribeOption\DescribeMacro
-\let\DescribeScript\DescribeOption
-\else % crossreference of macros in documentation
-\makeatletter
-
-\usepackage{xspace}
-\@namedef{seen@package@latex}{1} %^^A avoid footnotes for 'latex'
-\newcommand*{\pkg}[1]{%
- \href{http://tug.ctan.org/pkg/#1}{\texttt{#1}}%
- % URL footnote (for print-out) on first appearance:
- \@ifundefined{seen@package@#1}{%
- \footnote{CTAN: \url{http://tug.ctan.org/pkg/#1}}%
- \global\@namedef{seen@package@#1}{1}%
- }{}%
- \xspace
-}
-\newcommand*{\svnmulti}{%
- \texttt{svn-multi}\xspace%
-}
-
-% link \cs to macro definitions
-\let\origmacro\macro
-\let\origendmacro\endmacro
-\let\origStopEventually\StopEventually
-\let\origPrintDescribeMacro\PrintDescribeMacro
-\usepackage{xcolor}
-\definecolor{darkred}{rgb}{0.333,0.0,0.0}
-\hypersetup{colorlinks=true,linkcolor=darkred,urlcolor=darkred}
-\definecolor{macrodesccolor}{rgb}{0.0,0.0,0.8}
-\definecolor{macroimplcolor}{rgb}{0.0,0.0,0.4}
-\definecolor{metacolor}{rgb}{0.0,0.4,0.4}
-\definecolor{scriptcolor}{rgb}{0.2,0.6,0.2}
-\definecolor{optioncolor}{rgb}{0.3,0.2,0}
-
-\let\macroline\\
-\newlength{\macrosep}
-\setlength{\macrosep}{-3em}
-\renewcommand{\meta@font@select}{\color{metacolor}\itshape}
-\newcommand{\macroformat}[1]{\textbf{\ttfamily #1}}
-\newcommand{\optionformat}[1]{\textbf{\sffamily #1}}
-\newcommand{\scriptformat}[1]{\textbf{\ttfamily #1}}
-\newcommand{\macroargformat}[1]{\texttt{#1}}
-\newcommand{\scriptargformat}[1]{\textbf{#1}}
-\newcommand{\macrohlinkprefix}{desc}
-\newcommand{\macrolink}{}
-
-\usepackage[utf8]{inputenc}
-\usepackage[T1]{fontenc}
-\IfFileExists{lmodern.sty}{\usepackage{lmodern}}{}%
-
-\def\DescribeMacro{\@ifnextchar*{\DescribeMacroS}{\DescribeMacroN}}
-\def\DescribeMacroN{%
- \bigskip\pagebreak[3]\par\noindent\DescribeMacroS*%
-}
-\def\DescribeMacroS*#1#2{%
- \begingroup
- \g@namedef{href@desc@#1}{}%
- \immediate\write\@mainaux{%
- \noexpand\g@namedef{href@desc@#1}{}%
- }%
- \@ifundefined{href@impl@#1}%
- {\let\macrolink\relax}%
- {\def\macrolink{\hyperlink{impl@#1}}}%
- \hypersetup{linkcolor=macrodesccolor}%
- \hspace*{\macrosep}%
- \raisebox{\baselineskip}[\baselineskip]{\hypertarget{desc@#1}{}}%
- \macrolink{\macroformat{\textcolor{macrodesccolor}{\textbackslash #1}}}%
- \noindent\mbox{}\macroargformat{#2}\nopagebreak
- \macroline*[0.2\baselineskip]%
- \endgroup
- \nopagebreak
- \ignorespaces
-}
-\def\DescribeScript{\@ifnextchar*{\DescribeScriptS}{\DescribeScriptN}}
-\def\DescribeScriptN{%
- \bigskip\par\pagebreak[2]\noindent\DescribeScriptS*%
-}
-\def\DescribeScriptS*#1#2{%
- \hspace*{\macrosep}%
- \raisebox{\baselineskip}[\baselineskip]{\hypertarget{script@#1}{}}%
- \scriptformat{\textcolor{scriptcolor}{#1}}%
- \noindent\mbox{}\scriptargformat{\ {#2}}\macroline*[0.2\baselineskip]%
- \nopagebreak
-}
-\def\DescribeOption{\@ifnextchar*{\DescribeOptionS}{\DescribeOptionN}}
-\def\DescribeOptionN{%
- \bigskip\par\noindent\DescribeOptionS*%
-}
-\def\DescribeOptionS*#1{%
- \hspace*{\macrosep}%
- \raisebox{\baselineskip}[\baselineskip]{\hypertarget{option@#1}{}}%
- \optionformat{\textcolor{optioncolor}{#1}}%
- \noindent\mbox{}\macroline*[0.2\baselineskip]%
- \nopagebreak
-}
-\newcounter{macrolevel}
-\renewenvironment{macro}[1]{%
- \addtocounter{macrolevel}{1}%
- \expandafter\macroX\expandafter{\expandafter\@gobble\string#1}%
-}{%
- \addtocounter{macrolevel}{-1}%
-}
-\providecommand*{\g@namedef}[1]{%
- \expandafter\gdef\csname #1\endcsname
-}
-\newcommand*{\macroX}[1]{%
- \ifnum\c@macrolevel<2
- \smallskip
- \fi
- \par\noindent
- \g@namedef{href@impl@#1}{}%
- \immediate\write\@mainaux{%
- \noexpand\g@namedef{href@impl@#1}{}%
- }%
- \@ifundefined{href@desc@#1}%
- {\let\macrolink\relax}%
- {\def\macrolink{\hyperlink{desc@#1}}}%
- \hspace*{\macrosep}%
- \raisebox{\baselineskip}[\baselineskip]{\hypertarget{impl@#1}{}}%
- \macrolink{\macroformat{%
- \textcolor{macroimplcolor}{\textbackslash #1}}}%
- \\*[\smallskipamount]%
- \@ifnextchar\begin{\vspace*{-\baselineskip}}{\imacroarg}%
-}
-
-\newcounter{macroargs}
-\newcounter{nmacroarg}
-
-\newcommand*{\imacroarg}[1][0]{%
- \setcounter{macroargs}{#1}%
- \setcounter{nmacroarg}{1}%
- \ifnum\c@macroargs>0
- \expandafter\imacroargX
- \fi
-}
-\newcommand*{\aftermacroargs}{%
- \@ifnextchar\begin
- {\\*[-2ex]\ignorespaces}%
- {\\*[\smallskipamount]\ignorespaces}%
-}
-\newcommand*{\imacroargX}[1]{%
- \hspace*{-1em}\texttt{\#\thenmacroarg:} #1\relax
- \ifnum\c@macroargs>1
- \newline
- \fi
- \addtocounter{nmacroarg}{1}%
- \addtocounter{macroargs}{-1}%
- \ifnum\c@macroargs>0
- \expandafter\imacroargX
- \else
- \expandafter\aftermacroargs
- \fi
-}
-
-
-\def\karg#1{\{\$\textcolor{metacolor}{#1}\$\}}
-\def\kmarg#1{\{\$\meta{#1}\$\}}
-
-\DeclareRobustCommand{\csi}[1]{%
- \begingroup
- \hypersetup{linkcolor=macroimplcolor}%
- \renewcommand{\macrohlinkprefix}{impl}%
- \@ifundefined{href@impl@#1}%
- {\let\macrolink\relax}%
- {\def\macrolink{\hyperlink{impl@#1}}}%
- \csX{#1}%
- \endgroup
-}
-\DeclareRobustCommand{\csd}[1]{%
- \begingroup
- \hypersetup{linkcolor=macrodesccolor}%
- \renewcommand{\macrohlinkprefix}{macro}%
- \@ifundefined{href@desc@#1}%
- {\let\macrolink\relax}%
- {\def\macrolink{\hyperlink{desc@#1}}}%
- \csX{#1}%
- \endgroup
-}
-\DeclareRobustCommand{\csX}[1]{%
- \begingroup
- \macrolink{\texttt{\textbackslash#1}}%
- \endgroup
-}
-\let\cs\csd
-\DeclareRobustCommand{\css}[1]{\texttt{\textbackslash#1}}
-\DeclareRobustCommand{\op}[1]{%
- \begingroup
- \hypersetup{linkcolor=optioncolor}%
- \hyperlink{option@#1}{\textbf{\sffamily #1}}%
- \endgroup
-}
-\DeclareRobustCommand{\scr}[1]{%
- \begingroup
- \hypersetup{linkcolor=scriptcolor}%
- \hyperlink{script@#1}{\scriptformat{#1}}%
- \endgroup
-}
-
-\def\StopEventually#1{\origStopEventually{#1}%
-\let\cs\csi
-}
-
-\fi
+\def\DescribeOption{\par\smallskip\noindent\optpar}
+\let\scr\pkg
+\def\svnmulti{\pkg{svn-multi}\xspace}
+\let\csi\cs
+\let\csd\cs
\usepackage{graphicx}
@@ -268,7 +56,7 @@
\CodelineIndex
%\PageIndex
\RecordChanges
-%\OnlyDescription
+\OnlyDescription
\widowpenalty=500
\clubpenalty=500
\listfiles
@@ -282,7 +70,7 @@
%<*package>
% \fi
%
-% \CheckSum{2840}
+% \CheckSum{2883}
%
% {\makeatother
% \CharacterTable
@@ -351,6 +139,7 @@
% \changes{v2.4a}{2011/01/03}{
% Update for new version of the 'currfile' package.
% }
+% \changes{v2.4b}{2011/03/20}{Fix for non-ASCII characters in keywords. Added group check for \cs{svnexternal}.}
%
% ^^A \GetFileInfo{svn-multi.dtx}
%
@@ -381,29 +170,12 @@
% \DoNotIndex{\ProcessKeyvalOptions,\SetupKeyvalOptions}
% \DoNotIndex{\@firstoftwo,\@secondoftwo,\@gobble}
%
-% \title{The \textsf{svn-multi} Package \\\large formerly known as
-% \textsf{svnkw}}
-% \author{Martin Scharrer \\ \url{martin@scharrer-online.de} \\
-% \url{http://latex.scharrer-online.de/svn-multi/}\\
-% CTAN: \url{http://tug.ctan.org/pkg/svn-multi}}
+% \author{Martin Scharrer}
+% \email{martin@scharrer-online.de}
% \date{Version \expandafter\@gobble\svnmulti@version\\[0.5ex]\svnmulti@today}
%
-% \ifpdf
-% \hypersetup{%
-% pdfauthor = {Martin Scharrer <martin@scharrer-online.de>},
-% pdftitle = {The svn-multi package, \svnmulti@version, r\svnmulti@rev\
-% from \svnmulti@date},
-% pdfsubject = {Documentation of LaTeX package svn-multi which allows the
-% typesetting of Subversion keywords in multi-file LaTeX
-% documents},
-% pdfkeywords = {svn-multi, svnkw, LaTeX, Subversion, keywords, Version
-% Control, Id, Table Of Revisions}
-% }%
-% \fi
% \maketitle
%
-% \vfill
-%
% \section{Introduction}
% This package allows to typeset version control (VC) information provided by
% Subversion\footnote{Subversion homepage: \url{http://subversion.tigris.org/}}
@@ -428,7 +200,6 @@
% \item Including of the VC information of external files.
% \item Table of Revisions.
% \end{itemize}
-% \newpage
%
% \subsection{Scope of Keywords}
% This package provides the Subversion keyword data in several different scopes:
@@ -447,7 +218,7 @@
% \cs{svnid} or \cs{svnidlong} macro or both. See section~\ref{sec:usage:id}
% for more details about the id macros. Please note that the file-local macros
% technically actually return the \emph{last registered} information from the
-% last \cs{svnid} or \cs{svnidlong}. As long the \op{filehooks} option (new in
+% last \cs{svnid} or \cs{svnidlong}. As long the \opt{filehooks} option (new in
% v2.0) is not enabled (explicit or implicit) this keyword macros will leak from
% one file over to the next. This will cause wrong results if they are used in
% a file before or without any id macros. With this option the macros will be
@@ -495,13 +266,13 @@
%
% All options except the first two are boolean key=value options (so far) and
% await either `|true|' or `|false|' as value. A missing value means `|true|'.
-% So \eg |[groups=true,verbatim=false,external]|, enables the \op{external} and
-% \op{groups} options but disables the \op{verbatim} option.
+% So \eg |[groups=true,verbatim=false,external]|, enables the \opt{external} and
+% \opt{groups} options but disables the \opt{verbatim} option.
%
% The available options are:\par
%
% \DescribeOption{old}
-% Only pre-v2.0 features are active. This enables \op{verbatim} and disables all
+% Only pre-v2.0 features are active. This enables \opt{verbatim} and disables all
% other options below. This is the default for reasons mentioned above.
%
% \DescribeOption{all}
@@ -517,9 +288,9 @@
% \DescribeOption{external}
% Controls the support for keywords from external files described in
% section~\ref{sec:external}. This needs either the external script
-% \scr{svn-multi.pl} or the \op{autokw} option.
+% \scr{svn-multi.pl} or the \opt{autokw} option.
%
-% If the \op{groups} option is enabled the macro
+% If the \opt{groups} option is enabled the macro
% \csi{svnexternalgroup}\marg{group name} can be used to declare a own group
% which is used for all the external files. Otherwise they are placed in the
% currently active group. This macro can be used several times during the
@@ -540,8 +311,8 @@
% \DescribeOption{graphics}
% This option allows to automatically declare all images included using the
% macro |\includegraphics| from the \pkg{graphics}/\pkg{graphicx} package as
-% external files (see section~\ref{sec:external}). The options \op{external} and
-% \op{autoload} are activated by this option so that the produced |.svx| files
+% external files (see section~\ref{sec:external}). The options \opt{external} and
+% \opt{autoload} are activated by this option so that the produced |.svx| files
% are loaded automatically. An |autoload=false| option after \pkg{graphics}
% will deactivate this, but then an \cs{svnexternal} macro must be included in
% all \LaTeX\ files which should take the image revisions into account.\par The
@@ -551,7 +322,7 @@
% the \pkg{graphics} package and might fail if the internal structure of this
% package changes in future versions.
%
-% If the \op{groups} option is enabled the macro
+% If the \opt{groups} option is enabled the macro
% \csi{svngraphicsgroup}\marg{group name} can be used to declare a own group
% which is used for all the graphic files (also for pgf images, see below).
% Otherwise they are placed in the group specified by \cs{svnexternalgroup}
@@ -564,7 +335,7 @@
% can be then included manually using an explicit \cs{svnexternal} macro.
%
% \DescribeOption{pgfimages}
-% Identical to like the \op{graphics} option but for the \pkg{pgf} package
+% Identical to like the \opt{graphics} option but for the \pkg{pgf} package
% (implemented against the version from 2008/01/15) with the |\pgfuseimage| and
% |\pgfimage| macros. Please also see the notes about package loading and ties
% mentioned above.
@@ -573,14 +344,14 @@
% Controls automatic loading of corresponding |.svx| files at the begin of files
% included using |\input| or |\import|. This avoids the need of putting an
% \cs{svnexternal} macro in every file just to load the |.svx| files created
-% automatically by the \op{graphics} option. The option \op{external} is
-% activated by \op{autoload}.
+% automatically by the \opt{graphics} option. The option \opt{external} is
+% activated by \opt{autoload}.
%
% \DescribeOption{table}
% Controls the generation of a table of revisions which can be included using
% the \cs{tableofrevisions} macro. This table shows the revisions of all files
-% and groups. This needs \op{groups} to work which is activated with \op{table}.
-% Enable \op{subgroups} to include a list of all files per group. See the
+% and groups. This needs \opt{groups} to work which is activated with \opt{table}.
+% Enable \opt{subgroups} to include a list of all files per group. See the
% section~\ref{sec:table} for more information.
%
% \DescribeOption{filehooks}
@@ -625,7 +396,7 @@
% necessary as long the files are inside a Subversion working directory and
% not exported.
% \item[\texttt{ext}] Only the keywords of external files are extracted. This
-% avoids the need of the \scr{svn-multi.pl} script. The option \op{external}
+% avoids the need of the \scr{svn-multi.pl} script. The option \opt{external}
% must be still enabled manually.
% \end{description}
%
@@ -637,18 +408,20 @@
% not create any output. See section~\ref{sec:kwaccess} to learn how to typeset
% the keyword values.
%
-% \DescribeMacro{svnid}{\karg{Id}}
+% \DescribeMacro{svnid}{'$Id: svn-multi.dtx 2376 2011-03-20 17:41:52Z martin $'}
% The macro is for the |Id| keyword and must be written like shown. A trailing
% colon with or without spaces after the `|Id|' is also valid but
% \textbf{everything else} except a valid Subversion string will cause a \TeX{}
% parse error. The subversion property |svn:keywords| must be set on all source
% files and include `|Id|' so that Subversion will expand it at the next commit.
%
-% \DescribeMacro{svnidlong}{\ignorespaces
-% \\\hspace*{\macrosep}\karg{HeadURL}\ignorespaces
-% \\\hspace*{\macrosep}\karg{LastChangedDate}\ignorespaces
-% \\\hspace*{\macrosep}\karg{LastChangedRevision}\ignorespaces
-% \\\hspace*{\macrosep}\karg{LastChangedBy}}
+% \begin{DescribeMacrosTab}{l}
+% \Macro\svnidlong\\
+% \MacroArgs{'$HeadURL: svn+ssh://scharrer-online.de/home/martin/svn/src/trunk/latex/svn-multi/dev/svn-multi.dtx $'} \\
+% \MacroArgs{'$LastChangedDate: 2011-03-20 17:41:52 +0000 (Sun, 20 Mar 2011) $'} \\
+% \MacroArgs{'$LastChangedRevision: 2376 $'} \\
+% \MacroArgs{'$LastChangedBy: martin $'} \\
+% \end{DescribeMacrosTab}
% Macro for a ``long Id''. Saves similar values like in `|Id|' but from the
% above four keywords. The usage of \cs{svnid} or \cs{svnidlong} is a matter of
% taste. The second is more readable inside the code and results in a nicer date
@@ -670,19 +443,19 @@
% |LastChangedRevision| |LastChangedBy|' or one of their alternative spellings
% (\eg `|URL|', `|Rev|', `|Date|', etc.).
%
-% Please note that the arguments are read verbatim as long the \op{verbatim}
+% Please note that the arguments are read verbatim as long the \opt{verbatim}
% option is not disabled explicitly. Special precaution are taken to allow
% spaces, newlines and comments direct after the |\svnidlong| and after each of
% the four arguments. In fact everything not inside braces |{ }| is ignored.
%
-% \DescribeMacro{svn}{\kmarg{keyword}}
-% \DescribeMacro*{svn*}{\kmarg{keyword}}
+% \DescribeMacro{svn}{'$'<keyword>'$'}
+% \DescribeMacro{svn*}{'$'<keyword>'$'}
% This macro let you typeset svn keywords directly. The dollars will be stripped
% and the rest is typeset as normal text. The star version strips also the space
% before the last dollar. This macro alone was the very first version of
% |svnkw| and is still included for fast and simple keyword typesetting.
%
-% \DescribeMacro{svnkwsave}{\kmarg{keyword}}
+% \DescribeMacro{svnkwsave}{'$'<keyword>'$'}
% This macro lets you include and save any keyword you like. The keyword can be
% already expanded or not (no value and only ``|:|'' or nothing after the key
% name). This macro is also used internally and does not create any output.
@@ -691,10 +464,10 @@
%
% \subsection{Groups}\label{sec:group}
% Starting with v2.0 files can be grouped together and the keyword values of the
-% latest revision of a group can be accessed. Use the \op{groups} option to
+% latest revision of a group can be accessed. Use the \opt{groups} option to
% activate these macros.
%
-% \DescribeMacro{svngroup}{\marg{group name}}
+% \DescribeMacro{svngroup}{<\/group name>}
% This macro declares all following files until the next \cs{svngroup} as part
% of the given keyword group. It can be placed inside the main file before some
% |\include|/|\input| macros or inside subfiles before the id macros, \ie direct
@@ -708,10 +481,10 @@
% The latest VC information of a group can be typeset with the |\svnvgXXX|
% macros or the \cs{svng} macro shown in section~\ref{sec:kwaccess}.
%
-% \DescribeMacro{thesvngroup}{}
+% \DescribeMacro{thesvngroup}
% Returns the name of the current keyword group.
%
-% \DescribeMacro{svnsetcg}{\marg{group name}}
+% \DescribeMacro{svnsetcg}{<\/group name>}
% Normally the |\svncgXXX| macros mentioned below use the last keyword
% group defined by \cs{svngroup} but this can be changed using the \cs{svnsetcg}
% macro. The idea behind it is that the currently selected group can be
@@ -732,7 +505,7 @@
% this group in the format of |\today| use: |{\svnsetcg{abc}\svncgtoday}|
% \smallskip
%
-% \DescribeMacro{thesvncg}{}
+% \DescribeMacro{thesvncg}
% Returns the name of the current group selected by \cs{svnsetcg}.
%
% \subsubsection{Files as Subgroups}\label{sec:subgroups}
@@ -743,14 +516,15 @@
% feature was introduced to automatically or manually define a file as subgroup
% for itself which does not influence its membership in a normal group.
% \paragraph{Declaration:}
-% This feature is enabled by the \op{subgroups} option. All files of the
+% This feature is enabled by the \opt{subgroups} option. All files of the
% document are then automatically declared as extra groups. This can be disabled
% for parts of the document using \csi{svnsubgroupsfalse} and re-enabled
% using \cs{svnsubgroupstrue} macros. The current file can be manually
% declared as extra group with the \cs{svnsubgroup} macro.\par
-% \DescribeMacro{svnsubgroup}{}
+%
+% \DescribeMacro{svnsubgroup}
% This macro declares the current file as subgroup. It is used automatically for
-% every subfile if \op{subgroups} and \csi{svnsubgroupstrue} are enabled.
+% every subfile if \opt{subgroups} and \csi{svnsubgroupstrue} are enabled.
%
% \paragraph{Exclude/Consider files extensions:}
% The above mentioned automatically group declaration uses an hook which is
@@ -759,12 +533,14 @@
% read in by this packages. An internal filter is in place to ignore this files
% by their file extension. This filter can by modified by the two following
% macros.
-% \DescribeMacro{svnignoreextensions}{\marg{comma separated list of extension
-% without leading dot}}
+%
+% \DescribeMacro{svnignoreextensions}{<comma separated list of extension
+% without leading dot>}
% Tells \svnmulti to ignore the following file extension and never declare files
% with them as extra groups.
-% \DescribeMacro{svnconsiderextensions}{\marg{comma separated list of extension
-% without leading dot}}
+%
+% \DescribeMacro{svnconsiderextensions}{<comma separated list of extension
+% without leading dot>}
% Tells \svnmulti to (re-)consider the following file extension and declare
% files with them as extra groups if read in.
%
@@ -795,17 +571,17 @@
% two are described here while the third scope is described in
% section~\ref{sec:group}.
%
-% \DescribeMacro{svnrev}{}
-% \DescribeMacro*{svndate}{}
-% \DescribeMacro*{svnauthor}{}
+% \DescribeMacro{svnrev}
+% \DescribeMacro{svndate}
+% \DescribeMacro{svnauthor}
% These macros hold the keyword values of the whole document, \ie of the most
% recent revision. They can be used everywhere in every file of the \LaTeX{}
% document, after |\usepackage{svn}| of course. Please see
% section~\ref{sec:date} how to typeset parts of the date.
%
-% \DescribeMacro{svnfilerev}{}
-% \DescribeMacro*{svnfiledate}{}
-% \DescribeMacro*{svnfileauthor}{}
+% \DescribeMacro{svnfilerev}
+% \DescribeMacro{svnfiledate}
+% \DescribeMacro{svnfileauthor}
% These macros hold the keyword values of the current \LaTeX{} file, but only if
% it contains a \cs{svnid} or \cs{svnidlong} macro. Otherwise the macros hold
% either zero values or the values of the last file dependent on whether an
@@ -813,9 +589,9 @@
% section~\ref{sec:date} how to typeset parts of the date. See \cs{svnkw} below
% for all other keywords.
%
-% \DescribeMacro{svncgrev}{}
-% \DescribeMacro*{svncgauthor}{}
-% \DescribeMacro*{svncgdate}{}
+% \DescribeMacro{svncgrev}
+% \DescribeMacro{svncgauthor}
+% \DescribeMacro{svncgdate}
% These macros return keyword values of the currently selected keyword group.
% In order to hold them robust, which is important to use them in macros like
% \cs{svnFullAuthor}, they do not provide any arguments to select other groups
@@ -823,15 +599,15 @@
% macro \cs{svng} or change the locally selected keyword group using the macro
% \cs{svnsetcg}.
%
-% \DescribeMacro{svng}{\marg{group name}\marg{key}}
+% \DescribeMacro{svng}{<\/group name>}{<key>}
% This macro is a general form of the |\svncgXXX| macro mentioned above.
% The first argument is the requested keyword group, the second one the
% requested keyword in the form of |rev|, |date|, |author|, |year|, etc.. Please
% note that this macro can not be used inside macros like \cs{svnFullAuthor}.
%
%
-% \DescribeMacro{svnmainurl}{}
-% \DescribeMacro*{svnmainfilename}{}
+% \DescribeMacro{svnmainurl}
+% \DescribeMacro{svnmainfilename}
% The macro \cs{svnmainurl} and \cs{svnmainfilename} hold the URL and the
% filename of the main \LaTeX{file} as long the keywords |HeadURL| or |Id| were
% used in it, respectively. These can be used to typeset this information
@@ -839,7 +615,7 @@
% current file (which can be typeset with \cs{svnkw}|{HeadURL}| or
% \cs{svnkw}|{Filename}| after \cs{svnid} or \cs{svnidlong}, respectively).
%
-% \DescribeMacro{svnsetmainfile}{}
+% \DescribeMacro{svnsetmainfile}
% This will declare the current file as the main LaTeX file by defining the
% above macros. It will automatically be called at the end of the preamble so
% the user normally doesn't have to use it by him- or herself as long it isn't
@@ -848,7 +624,7 @@
% over the auxiliary file. Calling it in several files will make this two macros
% inconsistent.
%
-% \DescribeMacro{svnkw}{\marg{keyword name}}
+% \DescribeMacro{svnkw}{<keyword name>}
% All keywords saved with \cs{svnid}, \cs{svnidlong} or \cs{svnkwsave} can be
% typeset by this macro which is a holdover from a very early version of this
% package when multiple files where not supported. It takes one argument which
@@ -867,7 +643,7 @@
% used inside |\url|. In this case the warning code will be typeset(!) verbatim
% into the document by |\url|.
%
-% \DescribeMacro{svnkwdef}{\marg{keyword name}\marg{value}}
+% \DescribeMacro{svnkwdef}{<keyword name>}{<value>}
% This macro is used to define the keyword values. This is normally only called
% internally but could be used by the user to override single keywords. The
% values can then be typeset by \cs{svnkw}. Note that this macro has no
@@ -880,9 +656,9 @@
% |\svnkw{Revision}| or |\svnkw{LastChangedRev}| if you like.
%
% \subsubsection*{New in version 2.2. Will change in future versions:}
-% \DescribeMacro{ifsvnfilemodified}{\marg{case:~modified}\marg{case:~not
-% modified}}
-% \DescribeMacro*{ifsvnmodified}{\marg{case:~modified}\marg{case:~not modified}}
+% \DescribeMacro{ifsvnfilemodified}{<case:~modified>}{<case:~not
+% modified>}
+% \DescribeMacro{ifsvnmodified}{<case:~modified>}{<case:~not modified>}
% This two macro can be used to check if either the current or any file was
% modified after it was last checked into the repository. At the moment (v2.2) a
% file is marked `modified' if there is either a `|*|' or `|M|' after the
@@ -891,40 +667,39 @@
% also be added manually.
%
% Future versions of this package might mark files as modified by use of the
-% \op{autokw} option which can read this information out of the working
+% \opt{autokw} option which can read this information out of the working
% directory Subversion entries.
%
-% \newpage
% \subsection{Accessing Date Values}\label{sec:date}
-% \begin{tabular}{@{}l@{\hspace{-2\macrosep}}l@{\hspace{-2\macrosep}}l@{}}\\
-% \DescribeMacro*{svnyear}{}&
-% \DescribeMacro*{svnfileyear}{}&
-% \DescribeMacro*{svncgyear}{}\\
-% \DescribeMacro*{svnmonth}{}&
-% \DescribeMacro*{svnfilemonth}{}&
-% \DescribeMacro*{svncgmonth}{}\\
-% \DescribeMacro*{svnday}{}&
-% \DescribeMacro*{svnfileday}{}&
-% \DescribeMacro*{svncgday}{}\\
-% \DescribeMacro*{svnhour}{}&
-% \DescribeMacro*{svnfilehour}{}&
-% \DescribeMacro*{svncghour}{}\\
-% \DescribeMacro*{svnminute}{}&
-% \DescribeMacro*{svnfileminute}{}&
-% \DescribeMacro*{svncgminute}{}\\
-% \DescribeMacro*{svnsecond}{}&
-% \DescribeMacro*{svnfilesecond}{}&
-% \DescribeMacro*{svncgsecond}{}\\
-% \DescribeMacro*{svntimezone}{}&
-% \DescribeMacro*{svnfiletimezone}{}&
-% \DescribeMacro*{svncgtimezone}{}\\
-% \DescribeMacro*{svntimezonehour}{}&
-% \DescribeMacro*{svnfiletimezonehour}{}&
-% \DescribeMacro*{svncgtimezonehour}{}\\
-% \DescribeMacro*{svntimezoneminute}{}&
-% \DescribeMacro*{svnfiletimezoneminute}{}&
-% \DescribeMacro*{svncgtimezoneminute}{}\\
-% \end{tabular}
+% \begin{DescribeMacrosTab}{lll}
+% \Macro{svnyear}&
+% \Macro{svnfileyear}&
+% \Macro{svncgyear}\\
+% \Macro{svnmonth}&
+% \Macro{svnfilemonth}&
+% \Macro{svncgmonth}\\
+% \Macro{svnday}&
+% \Macro{svnfileday}&
+% \Macro{svncgday}\\
+% \Macro{svnhour}&
+% \Macro{svnfilehour}&
+% \Macro{svncghour}\\
+% \Macro{svnminute}&
+% \Macro{svnfileminute}&
+% \Macro{svncgminute}\\
+% \Macro{svnsecond}&
+% \Macro{svnfilesecond}&
+% \Macro{svncgsecond}\\
+% \Macro{svntimezone}&
+% \Macro{svnfiletimezone}&
+% \Macro{svncgtimezone}\\
+% \Macro{svntimezonehour}&
+% \Macro{svnfiletimezonehour}&
+% \Macro{svncgtimezonehour}\\
+% \Macro{svntimezoneminute}&
+% \Macro{svnfiletimezoneminute}&
+% \Macro{svncgtimezoneminute}\\
+% \end{DescribeMacrosTab}
% \\*[\medskipamount]
% Whenever the date information is read, \ie by
% \cs{svnkwsave}|{LastChangedDate}| \cs{svnkwsave}|{Date}|, \cs{svnidlong} or
@@ -962,22 +737,22 @@
% \endgroup
% \vspace{1ex}
%
-% \DescribeMacro{svntime}{}
-% \DescribeMacro*{svnfiletime}{}
-% \DescribeMacro*{svncgtime}{}
+% \DescribeMacro{svntime}
+% \DescribeMacro{svnfiletime}
+% \DescribeMacro{svncgtime}
% This macros return the time part of the date only and simply return the
% corresponding hour, minute and second macros with a colon as separator.
%
-% \DescribeMacro{svnpdfdate}{}
+% \DescribeMacro{svnpdfdate}
% Returns the last changed date of the whole document in a format needed for
% |\pdfinfo|. Can be used like this:\\
% \hbox{}\hfill|\pdfinfo{ /CreationDate (D:\svnpdfdate) }|\hfill\hbox{}\\
% to set the PDF creation date to the last changed date if you use |pdflatex| to
% compile your \LaTeX{} document.
%
-% \DescribeMacro{svntoday}{}
-% \DescribeMacro*{svnfiletoday}{}
-% \DescribeMacro*{svncgtoday}{}
+% \DescribeMacro{svntoday}
+% \DescribeMacro{svnfiletoday}
+% \DescribeMacro{svncgtoday}
% These macros typeset the document-global, current-file or current-group date,
% respectively, using the format of |\today| which depends on the used language.
% To adjust the language of your document use the \pkg{babel} package.
@@ -990,12 +765,12 @@
% then you can write \eg |\svnFullAuthor{\svnauthor}| or
% |\svnFullAuthor{\svnfileauthor}|.
%
-% \DescribeMacro{svnRegisterAuthor}{\marg{author}\marg{full name}}
+% \DescribeMacro{svnRegisterAuthor}{<author>}{<\/full name>}
% This macro registers \meta{full name} as full name for \meta{author} (a
% subversion username) for later use with \cs{svnFullAuthor}.
%
-% \DescribeMacro{svnFullAuthor}{\marg{author name or macro}}
-% \DescribeMacro*{svnFullAuthor*}{\marg{author name or macro}}
+% \DescribeMacro{svnFullAuthor}{<author name or macro>}
+% \DescribeMacro{svnFullAuthor*}{<author name or macro>}
% Takes the username as argument and returns the full name if it was registered
% first with \cs{svnRegisterAuthor}, otherwise it returns the given username.
% The star version returns the username in parentheses after the full name.
@@ -1011,12 +786,12 @@
% correct results when you like to tag the to-be-checked-in revision. Please
% note that this has nothing to do with the normal subversion tagging.
%
-% \DescribeMacro{svnRegisterRevision}{\marg{revision number}\marg{tag name}}
+% \DescribeMacro{svnRegisterRevision}{<revision number>}{<tag name>}
% This registers \meta{tag name} as tag name for \meta{revision number} for
% later use with \cs{svnFullRevision}.
%
-% \DescribeMacro{svnFullRevision}{\marg{revision number or macro}}
-% \DescribeMacro*{svnFullRevision*}{\marg{revision number or macro}}
+% \DescribeMacro{svnFullRevision}{<revision number or macro>}
+% \DescribeMacro{svnFullRevision*}{<revision number or macro>}
% Takes a revision number coming from a macro like \cs{svnrev}, \cs{svnfilerev}
% or a number as argument and returns the full name if it was registered first
% with \cs{svnRegisterRevision}, otherwise it returns ``Revision \meta{revision
@@ -1025,7 +800,7 @@
%
% \subsection{Verbatim URLs with and without Hyperlinks}
% \vspace{-\baselineskip}
-% \DescribeMacro{svnnolinkurl}{\marg{macro with returns special text}}
+% \DescribeMacro{svnnolinkurl}{<macro with returns special text>}
% This macro allows you to write |\svnnolinkurl{\svnkw{HeadURL}}| and get the
% Head URL typeset verbatim. However |\url{|\cs{svnkw}|{HeadURL}}|
% (\pkg{hyperref} package) gives you the same result with a hyperlink. Both
@@ -1045,12 +820,12 @@
% typeset which holds the version control information of all files of the
% document.
%
-% \DescribeMacro{tableofrevisions}{}
-% If the \op{table} is enabled a table of revision is written into a file called
+% \DescribeMacro{tableofrevisions}
+% If the \opt{table} is enabled a table of revision is written into a file called
% \meta{main \LaTeX\ file}|.svt| (|t| for table) which can be included using the
% \cs{tableofrevisions} macro. The table contains the revision information of
% the complete document and of all defined groups.
-% If the \op{subgroups} option is set the table will also include the single
+% If the \opt{subgroups} option is set the table will also include the single
% files sorted by group.\par
%
% \subsubsection*{Table Format Macros}
@@ -1098,20 +873,20 @@
% \caption{Table formatting macros and their position.}\label{fig:tablemacros}
% \end{figure}
%
-% \DescribeMacro{svnrevisionsname}{}
+% \DescribeMacro{svnrevisionsname}
% Holds the name of the table of revisions which is printed above it. The
% default is ``Table of Revisions'' which can be changed \eg to another
% language.
%
-% \DescribeMacro{svnbeforetable}{}
+% \DescribeMacro{svnbeforetable}
% Can hold some content to be placed between the headline and the table.
%
-% \DescribeMacro{svnaftertable}{}
+% \DescribeMacro{svnaftertable}
% Can hold some content to be placed after the table. By default it holds a
% macro to force a new page.
%
-% \DescribeMacro{svntable}{}
-% \DescribeMacro*{endsvntable}{}
+% \DescribeMacro{svntable}
+% \DescribeMacro{endsvntable}
% This macros build the table environment and hold a |\begin{tabular}{llll}|
% |\end{tabular}| group by default. They can be redefined using\\
% \hspace*{3em}|\renewcommand{svntable}{...}{...}|.\\ In order to support
@@ -1120,33 +895,32 @@
% other table macros are written as string and will be expanded when the |.svt|
% is read back.
%
-% \DescribeMacro{svntablehead}{}
+% \DescribeMacro{svntablehead}
% Holds the table head row ``Name |&| Rev |&| Author |&| Date |\\\hline|''.
%
-% \DescribeMacro{svntablefoot}{}
+% \DescribeMacro{svntablefoot}
% Can hold the table foot row but is empty by default.
%
% \noindent
-% \begin{tabular}{@{}l@{\hspace{-2\macrosep}}l@{}}\\
-% \DescribeMacro*{svnglobalrow}{} & \DescribeMacro*{endsvnglobalrow}{} \\
-% \DescribeMacro*{svngrouprow}{} & \DescribeMacro*{endsvngrouprow}{} \\
-% \DescribeMacro*{svnsubgrouprow}{} & \DescribeMacro*{endsvnsubgrouprow}{} \\
-% \DescribeMacro*{svnfilerow}{} & \DescribeMacro*{endsvnfilerow}{} \\
-% \end{tabular}
-% \\*[\medskipamount]
+% \begin{DescribeMacrosTab}{ll}
+% \Macro{svnglobalrow} & \Macro{endsvnglobalrow} \\
+% \Macro{svngrouprow} & \Macro{endsvngrouprow} \\
+% \Macro{svnsubgrouprow} & \Macro{endsvnsubgrouprow} \\
+% \Macro{svnfilerow} & \Macro{endsvnfilerow} \\
+% \end{DescribeMacrosTab}
+%
% This macros are placed at the begin and end of every corresponding row and are
% empty be default. They can be used to insert horizontal lines before or after
% certain row types.
%
-% \DescribeMacro{svntabglobal}{}
+% \DescribeMacro{svntabglobal}
% Simply typesets the name for the row holding the information of the whole
% document, \eg ``Document''.
%
-% \DescribeMacro{svntabgroup}{\marg{group name}}
+% \DescribeMacro{svntabgroup}{<\/group name>}
% Formats the group name.
%
-% \DescribeMacro{svntabsubgroup}{\marg{nesting level
-% (1,2,3,\ldots)}\marg{subgroup name}}
+% \DescribeMacro{svntabsubgroup}{<nesting level (1,2,3,\ldots)>}{<subgroup name>}
% Formats a subgroup name. The name is derived from a file name and therefore
% could contain characters like `|_|' which should be taken into account. The
% macro \cs{svnnolinkurl} can be used for this. Because subgroups can be nested
@@ -1154,19 +928,18 @@
% different indents for different levels: \eg:
% |\addtolength{\leftskip}{#1\someindentamount}|.
%
-% \DescribeMacro{svntabfile}{\marg{nesting level
-% (1,2,3,\ldots)}\marg{file path/name}}
+% \DescribeMacro{svntabfile}{<nesting level (1,2,3,\ldots)>}{<\/file path/name>}
% Same as for the subgroup above but for file names.
%
-% \DescribeMacro{svntabrev}{\marg{revision number}}
+% \DescribeMacro{svntabrev}{<revision number>}
% Allows the formatting of the revision number. If empty the number will be
% typeset as normal. Conditional formatting is possible using the \pkg{ifthen}
% package: \eg the highest revision should be bold:
% \begin{verbatim}
% \renewcommand*{\svntabrev}[1]{\ifthenelse{#1=\svnrev}{\textbf{#1}}{#1}}
% \end{verbatim}
-% \vspace{-1\baselineskip}
-% \DescribeMacro{svntabauthor}{\marg{author username}}
+%
+% \DescribeMacro{svntabauthor}{<author username>}
% Formats the user names in the table. The macro \cs{svnFullAuthor} is a good
% candidate to be used here.
%
@@ -1182,8 +955,7 @@
% Version 2.0 now supports the inclusion of keywords of external files using the
% following macros and the Perl script \scr{svn-multi.pl}.
%
-% \DescribeMacro{svnexternal}{\oarg{group name}\{\{\meta{filea}\}\ignorespaces
-% \{\meta{fileb}\}\ldots\{\meta{filex}\}\}}
+% \DescribeMacro{svnexternal}[<\/group name>]{<\/file~1>}{<\/file~2>}!\ldots!{<\/file~$n$>}
% Subversion keywords of external files (\eg non-\LaTeX\ files like images or
% even directories) can be included using this macro which awaits a list of
% files, each with the full path relative to the main \LaTeX\ file and each
@@ -1202,8 +974,7 @@
% makes sense if \eg the included graphics are taken as logical part of a source
% file.
%
-% \DescribeMacro{svnexternalpath}{\{\{\meta{patha}\}\ignorespaces
-% \{\meta{pathb}\}\ldots\{\meta{pathx}\}\}}
+% \DescribeMacro{svnexternalpath}{{<path~1>}{<path~2>}!\ldots!{<path~$n$>}}
% This macro can be used in the document preamble to declare a set of paths to
% be scanned for files specified with \cs{svnexternal}. This avoids the need to
% provide the path again and again for every file.
@@ -1229,22 +1000,21 @@
% any combination of them. Please note that the word |jobname| stands for
% the main \LaTeX\ file name without the |.tex| extension.
%
-% \DescribeScript{svn-multi.pl}{\meta{jobname}}
+% \DescribeScript{svn-multi.pl}<\/jobname>
% As already mentioned in the \cs{svnexternal} description above this script
-% reads the requested external filename from the \meta{jobname}|.aux| file. The
+% reads the requested external filename from the \meta{\/jobname}|.aux| file. The
% Subversion command line client |svn| is then used to fetch the needed keywords
% which are placed in a \cs{svnidlong} macro inside a \meta{source file}|.svx|
% file. Every single source file which uses \cs{svnexternal} will become its own
% |.svx| file which allows to attach specific external files to one (or more)
% specific source files.
%
-% \DescribeScript{svn-multi.pl}{\meta{jobname} [-{}-group \meta{group name}]
-% \meta{file(s)} \ldots}
+% \DescribeScript{svn-multi.pl}<\/jobname>~['--group'~<\/group name>]~<\/file(s)>~!\ldots!
% The second way to use \scr{svn-multi.pl} is to call it with a list of external
-% files. A keyword group can be specified using the |--group| \meta{group name}
+% files. A keyword group can be specified using the |--group| \meta{\/group name}
% option which can placed any number of times between the file names. The group
% is used for all external files listed after the option until the next group is
-% specified. All keywords of these files are written in the \meta{jobname}|.svx|
+% specified. All keywords of these files are written in the \meta{\/jobname}|.svx|
% file and read in by the main \LaTeX\ file if a, possible empty,
% \cs{svnexternal} macro is included. This allows for easy including of many
% external files without specifying them all inside the source file. For example
@@ -1256,10 +1026,9 @@
% the files given by \cs{svnexternal} in this sub-file will not be honoured in
% this case.
%
-% \DescribeScript{svn-multi.pl}{\meta{jobname} [-{}-group \meta{group name}]
-% -{}-fls}
+% \DescribeScript{svn-multi.pl}<\/jobname>~['--group'~<\/group name>]~'--fls'
% Instead of providing a list of all non-\LaTeX/external files the |--fls|
-% option can be used to read this list from the \meta{jobname}|.fls| file. This
+% option can be used to read this list from the \meta{\/jobname}|.fls| file. This
% file is produced by the \LaTeX\ compiler when run with the |--recorder| option
% and contains a list of all input and output files. Only input files with a
% relative path are used. A corresponding keyword group can also be specified.
@@ -1361,7 +1130,7 @@
% \end{DepPackage}
%
% \begin{DepPackage}{graphics}
-% If the \op{graphics} option is enabled the following macro is patched to
+% If the \opt{graphics} option is enabled the following macro is patched to
% record the file name and path of the included graphic.
% \infoline{Patched internal macros:} |\Gin@setfile|
% \infoline{Version used:} 2006/02/20 v1.0o
@@ -1372,7 +1141,7 @@
% \begin{DepPackage}{pgf}
% Like the \pkg{graphics} package above a macro of this package is pathed to
% record the file names and paths of included images when the option
-% \op{pgfimages} is enabled. Because this images pre-declares images for later
+% \opt{pgfimages} is enabled. Because this images pre-declares images for later
% use the internal declared `image macros' are patched as well.
% \infoline{Patched internal macros:} |\pgf@declareimage|,
% \hbox{|\pgf@image@|\meta{image name}|!|}
@@ -1427,7 +1196,7 @@
% \begin{macrocode}
\NeedsTeXFormat{LaTeX2e}[1999/12/01]
\ProvidesPackageSVN
- {$Id: svn-multi.dtx 2010 2011-01-03 23:11:47Z martin $}
+ {$Id: svn-multi.dtx 2376 2011-03-20 17:41:52Z martin $}
[\svnmulti@version\space SVN Keywords for multi-file LaTeX documents]
% \end{macrocode}
@@ -1521,7 +1290,7 @@
\fi
% \end{macrocode}
%
-% Check if \op{autoload} was set explicitly and obey the value.
+% Check if \opt{autoload} was set explicitly and obey the value.
% \begin{macrocode}
\ifx\@svnmulti@autoload\@undefined
\else
@@ -1546,7 +1315,7 @@
\fi\fi\fi\fi
% \end{macrocode}
-% Set \op{autokw} modes:
+% Set \opt{autokw} modes:
% \begin{macrocode}
\def\svn@temp{true}
\ifx\@svnmulti@autokw\svn@temp
@@ -1748,10 +1517,10 @@
% change during the document and are used to produce the values of the
% |\svn|\meta{kw} macros when the |.aux| file is written.\par
% Group wide macros are initialised when the group is first defined and have
-% three different macros: |\svng@|\meta{group}|@|\meta{kw} (defined in |.aux|),
-% |\@svng@|\meta{group}|@|\meta{kw} (accumulator) and also an access
-% macro |\svncg|\meta{group} which uses
-% |\svn@g|\meta{current group}|@|\meta{kw}.
+% three different macros: \Macro\svng@<\/group>'@'<kw>\relax (defined in |.aux|),
+% \Macro\@svng@<\/group>'@'<kw>\relax (accumulator) and also an access
+% macro \Macro\svncg<\/group> which uses
+% \Macro\svn@g<current group>'@'<kw>.
% \begin{macrocode}
% Init values
\def\svn@revinit{-2}
@@ -1773,7 +1542,7 @@
\def\svn@temp{}
\def\svn@pg{} \def\svn@g{} \def\svn@cg{\svn@g} \def\svn@rg{\svn@pg}
-\let\@svng@@files\relax
+\let\@svng@@files\empty
\def\svn@initfile{%
\global\let\svnfilerev\svn@revinit
@@ -1800,7 +1569,7 @@
% \subsection{Auto-Keywords}
% Special care must be taken for the line feed character, otherwise it causes an
-% error if \op{autokw} is disabled.
+% error if \opt{autokw} is disabled.
% \begin{macrocode}
\begingroup
\@makeother\^^L
@@ -2239,6 +2008,8 @@
% |\svn@value| which can change very soon after this macro.
% \begin{macrocode}
\def\@svn@updateid#1#2#3#4{%
+ \begingroup
+ \let\protect\@unexpandable@protect
\xdef\svnfilerev{#1}%
\ifsvn@modified
\global\let\ifsvnfilemodified\@firstoftwo
@@ -2283,6 +2054,7 @@
\fi
\fi
\fi
+ \endgroup
}
\def\@svncg@save#1#2{%
@@ -2507,7 +2279,10 @@
% make the definition globally.
% \begin{macrocode}
\newcommand{\svnkwdef@}[2]{%
+ \begingroup
+ \let\protect\@unexpandable@protect
\expandafter\xdef\csname svnkw#1\endcsname{#2}%
+ \endgroup
}
% \end{macrocode}
% Example: |\svnkwdef{Revision}{23}| will define |\svnkwRevision| as 23.
@@ -3018,10 +2793,10 @@
% \end{macrocode}
% \begin{macro}{\svngroup}[1]{group name}
-% Saves the group to |\svn@g| and initiates |\svn@g@|\meta{group name}|@rev|
-% and |\@svn@g@|\meta{group name}|@rev| if this is the first time the group
+% Saves the group to |\svn@g| and initiates \Macro\svn@g@<group name>'@rev'
+% and \Macro\@svn@g@<group name>'@rev' if this is the first time the group
% got used.\par
-% The current group symbol `|*|' is invalid here because there is no way to
+% The current group symbol "*" is invalid here because there is no way to
% change to a current group.
% \begin{macrocode}
\def\svngroup#1{%
@@ -3031,10 +2806,15 @@
}{}%
\xdef\svn@g{#1}%
\let\svn@pg\svn@g
- \ifx\svn@g\empty\else%
+ \svn@checkgroup{#1}%
+}
+\def\svn@checkgroup#1{%
+ \begingroup
+ \edef\svn@g{#1}%
% \end{macrocode}
% Only initialise the group at first usage:
% \begin{macrocode}
+ \ifx\svn@g\empty\else%
\expandafter
\ifx\csname @svng@\svn@g @rev\endcsname\relax%
\svn@initgroup{\svn@g}%
@@ -3049,6 +2829,7 @@
\fi
\fi
\fi
+ \endgroup
}
% \end{macrocode}
% \end{macro}
@@ -3152,12 +2933,16 @@
\ifx\csname @svng@#2@files@#1\endcsname\relax%
\expandafter\gdef\csname @svng@#2@files@#1\endcsname{1}%
%
+ \expandafter\ifx\csname @svng@#2@files\endcsname\empty%
+ \expandafter\xdef\csname @svng@#2@files\endcsname{#1}%
+ \else
\@ifundefined{@svng@#2@files}%
{\expandafter\xdef\csname @svng@#2@files\endcsname{#1}}%
{\expandafter\xdef\csname @svng@#2@files\endcsname{%
\csname @svng@#2@files\endcsname,#1%
}%
}%
+ \fi
\fi
}%
}
@@ -3316,7 +3101,7 @@
% \begin{macro}{\svn@gkwset}[3]{group name}{keyword name}{value}
-% Sets \meta{value} for \meta{keyword} in \meta{group}.
+% Sets \meta{value} for \meta{keyword} in \meta{\/group}.
% \begin{macrocode}
\def\svn@gkwset#1#2#3{%
\expandafter
@@ -3536,6 +3321,7 @@ lof,log,lot,out,svn,svt,svx,toc}
{\edef\svn@eg{\svn@externalgroup}}%
{\edef\svn@eg{#1}}%
}%
+ \svn@checkgroup{\svn@eg}%
\svne@@external#2\relax
\svn@popfilestack
}
@@ -3564,6 +3350,7 @@ lof,log,lot,out,svn,svt,svx,toc}
{\def\svn@temp{\svn@externalgroup}}%
{\def\svn@temp{#1}}%
}%
+ \let\protect\@unexpandable@protect
\immediate\write\svn@write{%
\noexpand\@svnexternal[\svn@temp]{\currfilepath}{#2}%
}%
@@ -3582,9 +3369,12 @@ lof,log,lot,out,svn,svt,svx,toc}
% \begin{macrocode}
\def\svnexternalpath#1{%
\if@filesw
+ \begingroup
+ \let\protect\@unexpandable@protect
\immediate\write\svn@write{%
\noexpand\@svnexternalpath{#1}%
}%
+ \endgroup
\fi
}
% \end{macrocode}
@@ -3638,7 +3428,7 @@ lof,log,lot,out,svn,svt,svx,toc}
% \end{macrocode}
% \end{macro}
-% If \op{external} option is not enabled a placeholder macro is defined which
+% If \opt{external} option is not enabled a placeholder macro is defined which
% simply ignores its argument.
% \begin{macrocode}
\else
@@ -4340,7 +4130,7 @@ patch generated macros '\string\pgf@image@<name>!' from the 'pgf' package!}%
% \end{macrocode}
% \end{macro}
-% Load the keywords of every subfile if the \op{autokw} option is enabled and
+% Load the keywords of every subfile if the \opt{autokw} option is enabled and
% the extension is not on the ignore list.
%
% This code is placed here because it has to come after the at-begin-input-file
@@ -4364,8 +4154,11 @@ patch generated macros '\string\pgf@image@<name>!' from the 'pgf' package!}%
\if@filesw
\ifx\@svn@rev\empty\else
\ifnum\@svn@rev<1\else
+ \begingroup
+ \let\protect\@unexpandable@protect
\svn@writesvn
\svn@writesvt
+ \endgroup
\fi
\fi
\fi
@@ -4375,7 +4168,6 @@ patch generated macros '\string\pgf@image@<name>!' from the 'pgf' package!}%
% \subsection{Backward compatibility wrapper \texttt{svnkw.sty}}
% For backward compatibility a wrapper file with the old package name |svnkw| is
% provided. Newer documents should use the name \svnmulti.
-% \setcounter{CodelineNo}{0}
% \iffalse
%</package>
%<*wrapper>