diff options
Diffstat (limited to 'Master/texmf-dist/source/latex/refstyle/refstyle.dtx')
-rw-r--r-- | Master/texmf-dist/source/latex/refstyle/refstyle.dtx | 144 |
1 files changed, 88 insertions, 56 deletions
diff --git a/Master/texmf-dist/source/latex/refstyle/refstyle.dtx b/Master/texmf-dist/source/latex/refstyle/refstyle.dtx index 21b9ff6d3d5..46fa9e3c66c 100644 --- a/Master/texmf-dist/source/latex/refstyle/refstyle.dtx +++ b/Master/texmf-dist/source/latex/refstyle/refstyle.dtx @@ -26,8 +26,8 @@ % ------------------------------------------------------------------- % %<*pkg> -\newcommand*{\RefstyleFileDate}{2010/10/21} -\newcommand*{\RefstyleFileVersion}{v0.4} +\newcommand*{\RefstyleFileDate}{2010/11/02} +\newcommand*{\RefstyleFileVersion}{v0.5} %</pkg> % % @@ -185,7 +185,7 @@ %</driver> % \fi % -% \CheckSum{545} +% \CheckSum{552} % % \CharacterTable % {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z @@ -209,6 +209,7 @@ % \changes{v0.3}{2006/09/09}{Documentation update} % \changes{v0.4}{2010/10/21}{Documentation update} % \changes{v0.4}{2010/10/21}{Add \texttt{nokeyprefix} option} +% \changes{v0.5}{2010/11/02}{Documentation update} % % \DoNotIndex{ % \@backslashchar, \@carcube, \@ehc, \@empty, \@firstoftwo, @@ -330,6 +331,7 @@ % \end{Ipara} % is provided to declare the package option \meta{language} and add % \meta{definitions} to the |\extras|\meta{language} token for \pkg{babel}. +% It can only be used inside \RScfg\ or \file{refstyle.def}. % % \item[(b)] % Or with an existing configuration with language support and addition @@ -443,15 +445,15 @@ % \newcommand*{\crsi}{\smash{\rule[0pt]{.4pt}{1.25em}\rule[.5ex]{1.5em}{.4pt}}}^^A % \newcommand*{\crsl}{\smash{\rule[.5ex]{.4pt}{1.5em}\rule[.5ex]{1.5em}{.4pt}}}^^A % \begin{Itabb} -% \hspace*{2em}\=\hspace{2em}\=\kill +% \hspace*{2em}\=\hspace{2em}\=\hspace{10em}\=\kill % \cmd{\newref}\marg{\rtp}\mkeylst\tab\mbox{}\\[.75ex] -% \>\crsi \>\argcmd{{\rtp}}{key}\\[.75ex] -% \>\crsl \>\argcmd{{\rtp}}{label}\\[.75ex] -% \>\crsl \>\argcmd{{\rtp}}{ref}\\[.75ex] -% \>\crsl \>\argcmd{{\Rtp}}{ref}\\[.75ex] -% \>\crsl \>\argcmd{{\rtp}}{rangeref}\\[.75ex] -% \>\crsl \>\argcmd{{\Rtp}}{rangeref}\\[.75ex] -% \>\crsl \>\argcmd{{\rtp}}{pageref} +% \>\crsi \>\argcmd{{\rtp}}{key} \> Reference argument prefix \\[.75ex] +% \>\crsl \>\argcmd{{\rtp}}{label} \> Custom label \\[.75ex] +% \>\crsl \>\argcmd{{\rtp}}{ref} \> In text reference \\[.75ex] +% \>\crsl \>\argcmd{{\Rtp}}{ref} \> Start of sentence reference \\[.75ex] +% \>\crsl \>\argcmd{{\rtp}}{rangeref} \> In text range reference \\[.75ex] +% \>\crsl \>\argcmd{{\Rtp}}{rangeref} \> Start of sentence range reference\quad\mbox{}\\[.75ex] +% \>\crsl \>\argcmd{{\rtp}}{pageref} \> Page reference % \end{Itabb} % \end{cminipage} % \blankline @@ -816,8 +818,14 @@ % \>~ $\rightarrow$ |table~\ref{xxx-abc}| % \end{Itabb} % For existing documents containing labels such as |\label{tab:xx}|, -% you can define \opt{key}|={}| and use the existing labels with -% \RS, e.g.: |\tabref{tab:xx}|. +% you can use the \opt{nokeyprefix} option which defines \opt{key}|={}|. The +% normal \cmd{\label} command can then be used and the reference +% commands defaults to +% \begin{Itabb} +% \tab\=\hspace{3.5cm}\=\hspace{2em}\=\kill +% \>\cmd{\label}|{tab:xx}| \\ +% \>|\tabref{tab:xx}| \>~ $\rightarrow$ |table~\ref{tab:xx}| +% \end{Itabb} % % % \subsection{Plural form: \opt{s}} @@ -1034,10 +1042,14 @@ % \Secref[vref, refcmd={\S\ref{#1}, `\nameref{#1}'}]{PRefCmds} % \end{Ipara} % -% \section{Default configuration file} +% \section{Default configuration files} +% +% The \pkg{refstyle} package first searches for the \file{refstyle.def} +% configuration file, and if it not found, then it uses the default +% configuration file \RScfg\ that is supplied with the package. % % The default configuration file, \RScfg, makes a -% number of default reference declarations and provides langauge +% number of default reference declarations and provides language % definitions for the language parameters. See the file % \file{refconfig.pdf} for the documentation. % \medskip @@ -1045,7 +1057,9 @@ % \begin{center} % \begin{fminipage}[.55\textwidth] % \slshape Any user is welcome to customize the -% local copy of the \RScfg\ file. +% local copy of the \RScfg\ file or copy +% the relevant contents to your own \file{refstyle.def} +% configuration file. % \end{fminipage} % \end{center} % @@ -1099,6 +1113,19 @@ \@ifundefined{vref@space}{\let\vref@space\space}{} % \end{macrocode} % +% \begin{macro}{\@safe@activestrue} +% \changes{v0.5}{2010/11/02}{Add \cmd{\@safe@activesfalse}} +% \begin{macro}{\@safe@activesfalse} +% \changes{v0.5}{2010/11/02}{Add \cmd{\@safe@activestrue}} +% If \pkg{babel} is not loaded, make the following +% commands inactive. +% \begin{macrocode} +\providecommand*{\@safe@activestrue}{} +\providecommand*{\@safe@activesfalse}{} +% \end{macrocode} +% \end{macro} +% \end{macro} +% % \subsection{Utility commands} % % \begin{macro}{\RS@namelet} @@ -1319,15 +1346,15 @@ % \begin{macrocode} \newcommand*{\RS@newref}[2]{% % \end{macrocode} -% \bNP[1.5]\noindent Clears an existing template before defining a new one.\eNP +% \bNP[2.0]\noindent Clears an existing template before defining a new one.\eNP % \begin{macrocode} \RS@clearref{#1}% % \end{macrocode} -% \bNP[1.5]\noindent Create |\ifRS@|\meta{key}|vref| conditional \eNP +% \bNP[2.0]\noindent Create |\ifRS@|\meta{key}|vref| conditional \eNP % \begin{macrocode} % \expandafter\newif\csname ifRS@#1vref\endcsname% % \end{macrocode} -% \bNP[1.5]\noindent Creates a series of key-values for every template +% \bNP[2.0]\noindent Creates a series of key-values for every template % that stores the setup for the specific template.\eNP % \begin{macrocode} \ifRS@keyactive @@ -1335,36 +1362,36 @@ \else \define@key{RS@#1}{key}[]{\RS@namedef{RS@#1@key}{##1}}% \fi - \define@key{RS@#1}{s}[true]{\RS@setbool{RSplural}{##1}}% - \define@key{RS@#1}{name}[]{\RS@namedef{RS@#1@name}{##1}}% - \define@key{RS@#1}{names}[]{\RS@namedef{RS@#1@names}{##1}}% - \define@key{RS@#1}{Name}[]{\RS@namedef{RS@#1@Name}{##1}}% - \define@key{RS@#1}{Names}[]{\RS@namedef{RS@#1@Names}{##1}}% - \define@key{RS@#1}{rngtxt}[\space to~]{\RS@namedef{RS@#1@rngtxt}{##1}}% - \define@key{RS@#1}{lsttwotxt}[\space and~]{\RS@namedef{RS@#1@lsttwotxt}{##1}}% - \define@key{RS@#1}{lsttxt}[\space and~]{\RS@namedef{RS@#1@lsttxt}{##1}}% - \define@key{RS@#1}{refcmd}[\ref{####1}]{\RS@namedef{RS@#1@rcmd}####1{##1}}% - \define@key{RS@#1}{xr}[]{\RS@namedef{RS@#1@xr}{##1}}% - \define@key{RS@#1}{vref}[true]{\RS@namedef{RS@#1vref}{##1}}% + \define@key{RS@#1}{s}[true]{\RS@setbool{RSplural}{##1}}% + \define@key{RS@#1}{name}[]{\RS@namedef{RS@#1@name}{##1}}% + \define@key{RS@#1}{names}[]{\RS@namedef{RS@#1@names}{##1}}% + \define@key{RS@#1}{Name}[]{\RS@namedef{RS@#1@Name}{##1}}% + \define@key{RS@#1}{Names}[]{\RS@namedef{RS@#1@Names}{##1}}% + \define@key{RS@#1}{rngtxt}[\space to~]{\RS@namedef{RS@#1@rngtxt}{##1}}% + \define@key{RS@#1}{lsttwotxt}[\space and~]{\RS@namedef{RS@#1@lsttwotxt}{##1}}% + \define@key{RS@#1}{lsttxt}[\space and~]{\RS@namedef{RS@#1@lsttxt}{##1}}% + \define@key{RS@#1}{refcmd}[\ref{####1}]{\RS@namedef{RS@#1@rcmd}####1{##1}}% + \define@key{RS@#1}{xr}[]{\RS@namedef{RS@#1@xr}{##1}}% + \define@key{RS@#1}{vref}[true]{\RS@namedef{RS@#1vref}{##1}}% % \end{macrocode} -% \bNP[1.5]\noindent Set default key-value parameters.\eNP +% \bNP[2.0]\noindent Set default key-value parameters.\eNP % \begin{macrocode} - \RS@setkeys{RS@#1}{key, - s=false, - name,names,Name,Names, - rngtxt,lsttwotxt,lsttxt, - refcmd, - xr, - vref=false}% + \RS@setkeys{RS@#1}{key, + s=false, + name,names,Name,Names, + rngtxt,lsttwotxt,lsttxt, + refcmd, + xr, + vref=false}% % \end{macrocode} -% \bNP[1.5]Set key-values according to user definitions.\eNP +% \bNP[2.0]\noindent Set key-values according to user definitions.\eNP % \begin{macrocode} - \RS@setkeys{RS@#1}{#2}% + \RS@setkeys{RS@#1}{#2}% % \end{macrocode} -% \bNP[1.5]Build the reference commands.\eNP +% \bNP[2.0]\noindent Build the reference commands.\eNP % \begin{macrocode} - \RS@buildref{#1}% - } + \RS@buildref{#1}% + } % \end{macrocode} % \end{macro} % @@ -1450,9 +1477,10 @@ % \subsection{Reference formatting commands} % % \begin{macro}{\RS@ref} +% \changes{v0.5}{2010/11/02}{Add \cmd{\@safe@activestrue} to avoid active chars is ref list} % \begin{macro}{\RS@@ref} % \begin{macro}{\RS@@@ref} -% \changes{v0.4}{2010/10/21}{Add \cmd{\ifRSlsttwo} test for list containing only two parameter} +% \changes{v0.4}{2010/10/21}{Add \cmd{\ifRSlsttwo} test for list containing only two parameter} % The command \cmd{\RS@ref}\marg{key}\okeylst\marg{label\_lst} % typeset the references to the comma-separated reference % label list according to the configuration for \meta{key}. @@ -1460,12 +1488,14 @@ % First of all, remove all spaces for the reference label list. % \begin{macrocode} \def\RS@ref#1[#2]#3{% - \begingroup - \RS@setkeys{RS@#1}{#2}% - \edef\RS@tmpa{\zap@space#3 \@empty}% - \edef\RS@tmpa{\noexpand\RS@@ref{#1} \RS@tmpa,\relax\noexpand\@eolst}% - \RS@tmpa% - \endgroup} + \begingroup + \RS@setkeys{RS@#1}{#2}% + \@safe@activestrue% + \edef\RS@tmpa{\zap@space#3 \@empty}% + \@safe@activesfalse% + \edef\RS@tmpa{\noexpand\RS@@ref{#1} \RS@tmpa,\relax\noexpand\@eolst}% + \RS@tmpa% + \endgroup} % \end{macrocode} % \end{macro} % Check if there is a single or multiple references in the @@ -1699,17 +1729,19 @@ % \end{macro} % % \begin{macro}{\DeclareLangOpt} +% \changes{v0.5}{2010/11/02}{Add \cmd{\extras}\meta{language} to beginning of document.} % Command to declare a language option and add % language definitions to the |\extras|\meta{language} token % for \pkg{babel}. % \begin{macrocode} \def\DeclareLangOpt#1#2{% - \edef\RS@tempa{\expandafter\@gobble\string#2}% - \RS@ifundefined{\RS@tempa}% - {\PackageError{\RS@pkgname}% - {Unknown definitions \@backslashchar\RS@tempa\MessageBreak - for language option `#1'}{}}% - {\DeclareOption{#1}{\expandafter\RSaddto\csname extras#1\endcsname #2}}% + \edef\RS@tempa{\expandafter\@gobble\string#2}% + \RS@ifundefined{\RS@tempa}% + {\PackageError{\RS@pkgname}{% + Unknown definitions \@backslashchar\RS@tempa\MessageBreak + for language option `#1'}{}}% + {\DeclareOption{#1}{% + \AtBeginDocument{\expandafter\RSaddto\csname extras#1\endcsname #2}}}% } % \end{macrocode} % \end{macro} |