summaryrefslogtreecommitdiff
path: root/obsolete/macros/latex/contrib/backrefx/source/latex/backrefx/backrefx.dtx
diff options
context:
space:
mode:
Diffstat (limited to 'obsolete/macros/latex/contrib/backrefx/source/latex/backrefx/backrefx.dtx')
-rw-r--r--obsolete/macros/latex/contrib/backrefx/source/latex/backrefx/backrefx.dtx419
1 files changed, 419 insertions, 0 deletions
diff --git a/obsolete/macros/latex/contrib/backrefx/source/latex/backrefx/backrefx.dtx b/obsolete/macros/latex/contrib/backrefx/source/latex/backrefx/backrefx.dtx
new file mode 100644
index 0000000000..5fc73bce80
--- /dev/null
+++ b/obsolete/macros/latex/contrib/backrefx/source/latex/backrefx/backrefx.dtx
@@ -0,0 +1,419 @@
+% \iffalse (meta-comment)
+% -----------------------------------------------------------------
+% File: backrefx.dtx
+% Author: Danie Els (dnjels@sun.ac.za)
+%
+% This file is part of the SIstyle package.
+%
+% Copyright 2004 by Danie Els. All rights reserved.
+%
+% This work may 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 the 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 "author-maintained".
+%
+% -----------------------------------------------------------------
+% This file contains the documentations and source code for the
+% Backrefx package for use with LaTeX2e. See the file 'readme.txt'
+% for a list of all the files as well as directions for the
+% installation of this package.
+% -----------------------------------------------------------------
+% \fi
+%
+% \CheckSum{81}
+%
+% \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
+% Lower-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
+% Digits \0\1\2\3\4\5\6\7\8\9
+% Exclamation \! Double quote \" Hash (number) \#
+% Dollar \$ Percent \% Ampersand \&
+% Acute accent \' Left paren \( Right paren \)
+% Asterisk \* Plus \+ Comma \,
+% Minus \- Point \. Solidus \/
+% Colon \: Semicolon \; Less than \<
+% Equals \= Greater than \> Question mark \?
+% Commercial at \@ Left bracket \[ Backslash \\
+% Right bracket \] Circumflex \^ Underscore \_
+% Grave accent \` Left brace \{ Vertical bar \|
+% Right brace \} Tilde \~}
+%
+% \iffalse
+%<*dtx>
+\ProvidesFile{backrefx.dtx}
+%</dtx>
+%<package>\NeedsTeXFormat{LaTeX2e}[1999/12/01]
+%<package>\ProvidesPackage{backrefx}
+%<testfile>\ProvidesFile{brefxtest.tex}
+%<driver>\ProvidesFile{backrefx.drv}
+%\ProvidesFile{backrefx.dtx}
+ [2004/07/10 v2.0 Backref enhancements (DNJ Els)]
+%<*driver>
+\documentclass{ltxdoc}
+\usepackage{calc}
+\EnableCrossrefs
+%\DisableCrossrefs % say \DisableCrossrefs if index is ready
+\CodelineIndex
+\RecordChanges % gather update information
+%\OnlyDescription % comment out for implementation details
+%\OldMakeindex % use if your MakeIndex is pre-v2.9
+\setlength\hfuzz{15pt} % dont make so many
+\hbadness=7000 % over and under full box warnings
+\begin{document}
+ \DocInput{backrefx.dtx}
+\end{document}
+%</driver>
+% \fi
+%
+%
+%
+% \changes{v1.0}{2002/05/30}{Initial version}
+% \changes{v2.0}{2004/07/10}{Update for backref v1.23}
+%
+%
+% \GetFileInfo{backrefx.dtx}
+%
+% \title{Package \textsf{backrefx}\thanks{%
+% This file has version number
+% \fileversion, last revised \filedate.}\\[.75ex]
+% \normalsize(Enhancements for \textsf{backref})}
+%
+% \author{Danie Els\\
+% \small Department of Mechanical Engineering\\
+% \small University of Stellenbosch, South Africa\\
+% e-mail: \texttt{dnjels@sun.ac.za}}
+%
+% \date{\filedate}
+%
+% \maketitle
+% \noindent\fbox{\parbox{\textwidth-2\fboxsep}{\small%
+% The \textsf{backrefx} package is now obsolete after the
+% release of \textsf{backref} v1.23, because all the functionality
+% are now provided by \textsf{backref}. This release of \textsf{backrefx}
+% is only provided for backward compatibility of existing documents.}}
+% \bigskip
+%
+% \begin{abstract}
+%
+% \noindent
+% The \textsf{backrefx} package enhances the \textsf{backref}
+% package of David Carlisle and Sebastian Rahtz. It enables
+% \textsf{backref} to print the bibliographic back
+% references in a more typographical sound manner (similar to
+% the back references in \TeX\ Unbound of Hoenig), for example:
+% \begin{tabbing}
+% \hspace*{2em}\=\kill
+% \>(Cited on page 10.)\\
+% \>(Cited on pages 10 and 12.)\\
+% \>(Cited on pages 10, 12 and 15.)
+% \end{tabbing}
+% \end{abstract}
+%
+% \tableofcontents
+% \clearpage
+%
+% \section{Using \textsf{backref} package}
+%
+% \subsection*{With \textsf{hyperref}:}
+%
+% For back references with hyper-links, the \textsf{backref}
+% package is loaded internally by the \textsf{hyperref} package
+% and all the options are set within \textsf{hyperref}:
+% \begin{quote}\small
+% \begin{tabbing}
+% \textsf{hyperref} options:~
+% \=|pagebackref|\= | = [true]| or |false|\\
+% \>|backref| \> | = [section]|, |slide|, |page|, |none| or |false|.
+% \end{tabbing}
+% \begin{tabbing}
+% |\usepackage[backref=section]{hyperref}|~\=\kill
+% |\usepackage[backref]{hyperref} | \>$\rightarrow$~~Refer to sections of citations.\\
+% |\usepackage[backref=section]{hyperref}| \>$\rightarrow$~~Refer to sections of citations.\\
+% |\usepackage[backref=slide]{hyperref} | \>$\rightarrow$~~Refer to sections of citations.\\
+% |\usepackage[backref=page]{hyperref} | \>$\rightarrow$~~Refer to page numbers of citations.\\
+% |\usepackage[pagebackref]{backref} | \>$\rightarrow$~~Refer to page numbers of citations.
+% \end{tabbing}
+% \end{quote}
+% Note that the back reference options must be loaded as part of the
+% \textsf{hyperref} package and not as part of the \cmd{\hypersetup}
+% options.
+%
+% \subsection*{Without \textsf{hyperref}:}
+%
+% To activate back references without any hyper-links, the package
+% \textsf{backref} can be loaded with options:
+% \begin{quote}\small
+% \begin{tabbing}
+% |\usepackage[pageref]{backref}|~\=$\rightarrow$~ In terms of sections of reference\kill
+% |\usepackage[ref]{hyperref}| \>$\rightarrow$~Refer to sections of citations.\\
+% |\usepackage[pageref]{backref}| \>$\rightarrow$~Refer to page numbers of citations.
+% \end{tabbing}
+% \end{quote}
+%
+% \subsection*{Redefinition of \cmd{\backrefalt}:}
+%
+% The redefinition of the output to a more typographical sound
+% manner can be accomplished with the \cmd{\backrefalt} command
+% (see \textsf{backref} documentation). A typical preamble
+% with a switch for hyper-links is:
+%
+% \begin{quote}\small
+% |\iftrue |\\
+% | \usepackage[backref=page,|\meta{hyperref options} |]{hyperref}|\\
+% | % hyperref dependent packages, e.g. memhfixc|\\
+% |\else |\\
+% | \usepackage{nohyperref} |\\
+% | \usepackage[pageref]{backref}|\\
+% |\fi |\\
+% |\renewcommand*{\backref}[1]{} |\\
+% |\renewcommand*{\backrefalt}[4]{%|\\
+% | \ifcase #1 % |\\
+% | (Not cited.)% |\\
+% | \or |\\
+% | (Cited on page~#2.)% |\\
+% | \else |\\
+% | (Cited on pages~#2.)% |\\
+% | \fi} |\\
+% \verb*|\renewcommand*{\backrefsep}{, }|\\
+% \verb*|\renewcommand*{\backreftwosep}{ and~}|\\
+% \verb*|\renewcommand*{\backreflastsep}{ and~}|
+% \end{quote}
+% This will give output in the bibliography
+% \begin{quote}
+% (Cited on page 10.)\\
+% (Cited on pages 10 and 12.)\\
+% (Cited on pages 10, 12 and 15.)
+% \end{quote}
+%
+% \section{Usage of \textsf{backrefx} package}
+%
+% The \textsf{backrefx} package is only provided for backward
+% compatibility of existing document. Please do not use it
+% for any new documents.
+% The \textsf{backrefx} package requires the \textsf{backref}
+% packages and only redefines the output formatting.
+%
+% \subsection*{With \textsf{hyperref}}
+% The \textsf{backref} package is loaded internally by
+% \textsf{hyperref} and all options are set by \textsf{hyperref}.
+% \textsf{Backrefx} must be loaded after \textsf{hyperref} and
+% the output format is redefined. This results in hyper-links for
+% all the good looking back references.
+%
+% \begin{quote}
+% |\usepackage[|\meta{options}|]{hyperref}|\\
+% |\usepackage{backrefx}|\\
+% | \renewcommand*{\backrefpagesname}{...|\\
+% | :|
+% \end{quote}
+% \begin{quote}
+% \begin{tabbing}
+% \textsf{hyperref} options:~
+% \=|pagebackref|\= | = [true]| or |false|\\
+% \>|backref| \> | = [section]|, |page|, |slide|, |none| or |false|.\\
+% \end{tabbing}
+% \end{quote}
+%
+%
+% \subsection*{Without \textsf{hyperref}}
+% The \textsf{backrefx} can be used without \textsf{hyperref}
+% if hyper-links is not required.
+% \begin{quote}
+% |\usepackage[|\meta{options}|]{backrefx}|\\
+% | \renewcommand*{\backrefpagesname}{...|\\
+% | :|
+% \end{quote}
+% \begin{quote}
+% \begin{tabbing}
+% \textsf{backrefx} options:~
+% \=|pageref|\quad\= --- refer to page numbers of citations.\\
+% \>|ref| \> --- refer to sections of citations.\\
+% \end{tabbing}
+% \end{quote}
+%
+% \subsection*{Language specific commands}
+% The user can redefine the language specific commands to
+% suit his or her needs. For example:
+% \begin{quote}
+% |\renewcommand{\backrefpagesname}{Cited on page~}|\\
+% |\renewcommand{\backrefpagesnames}{Cited on pages~}|\\
+% |\renewcommand{\backrefsectionsname}{Cited in section~}|\\
+% |\renewcommand{\backrefsectionsnames}{Cited in sections~}|\\
+% |\renewcommand{\backreflist}{\space and~}|\\
+% |\renewcommand{\backrefformat}[1]{(#1.)}|\\
+% |\renewcommand{\backrefnocite}{}|
+% \end{quote}
+%
+%
+% \section{A test file for \textsf{backrefx}}
+%
+% \begin{macrocode}
+%<*testfile>
+\documentclass{book}
+\usepackage{natbib}
+\iftrue
+ \usepackage[backref=page]{hyperref}
+ \usepackage{backrefx}
+\else
+ \usepackage[pageref]{backrefx}
+\fi
+\renewcommand*{\backrefpagesname}{Cited on page~}
+\renewcommand*{\backrefpagesnames}{Cited on pages~}
+\renewcommand*{\backrefsectionsname}{Cited in chapter~}
+\renewcommand*{\backrefsectionsnames}{Cited in chapters~}
+\renewcommand*{\backreflist}{\space and~}
+\renewcommand*{\backrefformat}[1]{\textit{(#1.)}}
+\renewcommand*{\backrefnocite}{not cited}
+
+\listfiles
+\begin{document}
+\mainmatter
+\chapter{First Chapter}
+ It was shown by \citet{els,smith,murphy} that ...\clearpage
+\chapter{Second Chapter}
+ It was shown \citep{smith,murphy} that ... \clearpage
+\appendix
+\chapter{First Appendix}
+ It was shown by \citet*{murphy} that ...
+
+ \nocite{Jones}
+
+%Remember open lines in bibliography!!!!
+\begin{thebibliography}{999}
+ \bibitem[Jones(2003)]{Jones}
+ Jones, J., (2003),
+ \textsl{Test I.}
+
+ \bibitem[Els(1990)]{els}
+ Els, D.N.J., (1990),
+ \textsl{Test II.}
+
+ \bibitem[Smith(1990)]{smith}
+ Smith, J., (1993),
+ \textsl{Test III.}
+
+ \bibitem[Murphy et.al.(2000)Murphy and Els]{murphy}
+ Murphy, K. and Els, D.N.J., (2000),
+ \textsl{Test IV.}
+
+\end{thebibliography}
+\end{document}
+%</testfile>
+% \end{macrocode}
+%
+% \StopEventually{}
+% \clearpage
+% \section{The implementation}
+% \begin{macrocode}
+%<*package>
+% \end{macrocode}
+%
+%
+% \subsection{Options}
+%
+% If \textsf{backref} is already loaded (e.g.\ by \textsf{hyperref}), then
+% suppress all local options to prevent conflicts. Otherwise load it
+% with all the local options.
+% \begin{macrocode}
+\@ifpackageloaded{backref}%
+ {\DeclareOption*{}%
+ \ProcessOptions}%
+ {\RequirePackageWithOptions{backref}}
+% \end{macrocode}
+%
+% \noindent Try to figure out the options \textsf{backref} was loaded with
+% (especially when loaded with \textsf{hyperref}).
+%
+% Options that can be used without package \textsf{hyperref}.
+% \begin{macrocode}
+\ifx\backrefxxx\page@backref% (pageref)
+ \def\x@backref{\backrefpagesname}%
+ \def\x@backrefs{\backrefpagesnames}%
+\fi
+% \end{macrocode}
+% \begin{macrocode}
+\ifx\backrefxxx\section@backref% (ref)
+ \def\x@backref{\backrefsectionsname}%
+ \def\x@backrefs{\backrefsectionsnames}%
+\fi
+% \end{macrocode}
+% Back-referencing to be hyper links,
+% by page or section.
+% \begin{macrocode}
+\ifx\backrefxxx\hyper@section@backref% (hyperref)
+ \def\x@backref{\backrefsectionsname}%
+ \def\x@backrefs{\backrefsectionsnames}%
+\fi
+% \end{macrocode}
+% \begin{macrocode}
+\ifx\backrefxxx\hyper@page@backref% (hyperpageref)
+ \def\x@backref{\backrefpagesname}%
+ \def\x@backrefs{\backrefpagesnames}%
+\fi
+% \end{macrocode}
+%
+% \subsection{Local definitions}
+%
+% \begin{macro}{\backrefpagesname}
+% \begin{macro}{\backrefpagesnames}
+% \begin{macro}{\backrefsectionsname}
+% \begin{macro}{\backrefsectionsnames}
+% \begin{macro}{\backreflist}
+% \begin{macro}{\backrefformat}
+% \begin{macro}{\backrefnocite}
+% The following text strings commands can be redefined by the
+% user for language or format requirements.
+% \begin{macrocode}
+\def\backrefpagesname{Cited on page~}
+\def\backrefpagesnames{Cited on pages~}
+\def\backrefsectionsname{Cited in section~}
+\def\backrefsectionsnames{Cited in sections~}
+\def\backreflist{\space and~}
+\def\backrefformat#1{(#1.)}
+\def\backrefnocite{Not cited}
+% \end{macrocode}
+% (Maybe we need to load a config file?)
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+%
+% \subsection{Redefining \textsf{backref} commands}
+%
+% \begin{macrocode}
+\renewcommand*{\backref}[1]{}
+% \end{macrocode}
+%
+% \begin{macrocode}
+\renewcommand*{\backrefalt}[4]{%
+ \ifcase #1 %
+ \backrefformat{\backrefnocite}%
+ \or
+ \backrefformat{\x@backref~#2}%
+ \else
+ \backrefformat{\x@backrefs~#2}%
+ \fi}
+% \end{macrocode}
+%
+% \begin{macrocode}
+\renewcommand*{\backrefsep}{, }
+\renewcommand*{\backreftwosep}{\backreflist}
+\renewcommand*{\backreflastsep}{\backreflist}
+% \end{macrocode}
+%
+% \begin{macrocode}
+%</package>
+% \end{macrocode}
+%
+% \Finale
+%
+\endinput