% \iffalse \NeedsTeXFormat{LaTeX2e}[1996/10/24] %\ProvidesPackage{bibtopicprefix} % [2006/10/22 v1.10 BibTopicPrefix Package (MS)] % %<*driver> \ProvidesFile{bibtopicprefix.drv} [2006/10/18 v1.00 Driver for BibTopicPrefix Package (MS)] \documentclass{ltxdoc} \usepackage{url} \usepackage{bibtopicprefix} \usepackage[T1]{fontenc} \usepackage{lmodern} \usepackage{microtype} \GetFileInfo{bibtopicprefix.sty} \EnableCrossrefs \RecordChanges % Gather update information %%\DisableCrossrefs% Say \DisableCrossrefs if index is ready \CodelineIndex % Index code by line number \OnlyDescription % comment out for implementation details %%\OldMakeIndex % use if your MakeIndex is pre-v2.9 \setcounter{IndexColumns}{2} \setlength{\IndexMin}{40ex} \setlength{\columnseprule}{.4pt} \addtolength{\oddsidemargin}{1cm} \addtolength{\textwidth}{-1cm} \begin{document} \DocInput{bibtopicprefix.dtx} \end{document} % % % Copyright 2006 by Martin Schr"oder % % 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 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 2005/12/01 or later. % % This work has the LPPL maintenance status `maintained'. % % The Current Maintainer of this work is Martin Schr"oeder. % % This work consists of the files bibtopicprefix.dtx and % bibtopicprefix.ins and the derived file bibtopicprefix.sty % % For error reports in case of UNCHANGED versions see bibtopicprefix.ins % % \fi % % \CheckSum{119} % ^^A$Id: bibtopicprefix.dtx,v 1.3 2006/10/21 22:52:26 ms Exp $ % %% \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 \~} %% % % \pagestyle{headings} % % \newcommand{\bs} {\texttt{\symbol{'134}}} % \newcommand*{\env}[1] {\textsf{#1}} % \newcommand*{\option}[1] {\textsf{#1}} % \newcommand*{\package}[1] {\textsf{#1}} % \newcommand*{\bst}[1] {\textsf{#1}} % \newcommand*{\NEWfeature}[1]{% % \hskip 1sp \marginpar{\small\sffamily\raggedright % New feature\\#1}} % \newcommand*{\NEWdescription}[1]{% % \hskip 1sp \marginpar{\small\sffamily\raggedright % New description\\#1}} % % \renewcommand{\thefootnote}{\ensuremath{\fnsymbol{footnote}}} % % ^^A ----------------------------- % % \title{\unskip % The \textsf{BibTopicPrefix}-package^^A % \thanks{^^A % The version number of this file is \fileversion, % last revised \filedate.}^^A % } % \author{Martin Schr\"oder\\[0.5ex] % \normalsize Cr\"usemannallee 3\\ % \normalsize 28213 Bremen\\ % \normalsize Germany\\ % \normalsize martin@oneiros.de} % \date{\filedate} % \maketitle % % ^^A ----------------------------- % % \begin{abstract} % This package provides a way to prefix references from % bibliographies produced by the \package{bibtopic} % package\cite{bibtopic}. % \end{abstract} % % % ^^A ----------------------------- % % \tableofcontents % % ^^A ----------------------------- % % \section{Introduction} % ^^A % Suppose you want to split your literature in your document into % parts (this can be done with the \package{bibtopic} package) and you % want to make this split visible in the references in the document. % % This package loads \package{bibtopic} with the right option and then % defines a command \cs{bibprefix} which should be used inside the % \env{btSect} environment, whose argument is inserted before every % reference (e.\,g. [1] becomes [\meta{prefix}1]). % % % ^^A ----------------------------- % % \section{Usage} % ^^A % \DescribeMacro{\bibtopic} % Add an \mbox{\cs{usepackage\{}\package{bibtopicprefix}\texttt{\}}} % to your document and insert the command \cs{bibprefix}\marg{prefix} % at the start of every \env{btSect} environment. % \begin{quote} %\begin{verbatim} %\begin{btSect}{adlit} % \renewcommand{\bibprefix}{AD} % \section{Applicable Documents} % \btPrintCited %\end{btSect} %\begin{btSect}{rdlit} % \renewcommand{\bibprefix}{RD} % \section{Reference Documents} % \btPrintCited %\end{btSect} %\end{verbatim} % \end{quote} % The package works of course best with bibliography styles that % produce numerical references (like \bst{plain}). % % % ^^A ----------------------------- % % \section{Required packages} % ^^A % This package requires the following package: % \begin{description} % \item[\normalfont\package{bibtopic}\cite{bibtopic}] % It is loaded with the right option so that all bibliographies % are numbered indepedently. % \item[\normalfont\package{scrlfile}\cite{scrlfile}] % \changes{v1.10}{2006/10/22}{Use \package{scrlfile}} % This is used internally to handle the % \package{hyperref}\cite{hyperref} package. % \end{description} % % % ^^A ----------------------------- % % \StopEventually{^^A % % % ^^A ----------------------------- % % \section{Acknowledgements} % ^^A % Developement of this package was financed by the von Hoerner \& % Sulger GmbH. % % ^^A ----------------------------- % % \begin{thebibliography}{1} % \bibitem{babel} % Johannes Braams % \newblock Babel, a multilingual package for use with \LaTeX's % standard document classes % \newblock \url{CTAN: tex-archive/macros/latex/required/babel/}. % \bibitem{bibtopic} % Pierre Basso and Stefan Ulrich % \newblock \textsf{bibtopic.sty} % \newblock \url{CTAN: tex-archive/macros/latex/contrib/bibtopic/}. % \bibitem{hyperref} % Sebastian Rahtz and Heiko Oberdiek % \newblock Hypertext marks in \LaTeX{} % \newblock \url{CTAN: tex-archive/macros/latex/contrib/hyperref/}. % \bibitem{scrlfile} % Markus Kohm % \newblock \textsf{scrlfile.sty} % \newblock Part of KOMA-Script. % \newblock \url{CTAN: tex-archive/macros/latex/contrib/koma-script/}. % \end{thebibliography} % } % % ^^A ----------------------------- % % \section{The implementation} % \begin{macrocode} %<*package> % \end{macrocode} % % % ^^A ----------------------------- % % \subsection{Loading packages} % ^^A % We need the \package{scrlfile} package\cite{scrlfile}. % \changes{v1.10}{2006/10/22}{Load \package{scrlfile}} % \begin{macrocode} \RequirePackage{scrlfile} % \end{macrocode} % We need the \package{bibtopic} package\cite{bibtopic} and we have % to use the \option{sectcntreset} option to number every % bibliography seperately. % \begin{macrocode} \RequirePackage[sectcntreset]{bibtopic} % \end{macrocode} % % ^^A ----------------------------- % % \subsection{The macros} % ^^A % \begin{macro}{\bibprefix} % \cs{bibprefix} defines the prefix for all references henceforce. % \begin{macrocode} \newcommand{\bibprefix}{} % \end{macrocode} % \end{macro} % % \begin{macro}{\@bibitem} % We want to redefine \cs{\@bibitem} to add our prefix. % To do this we need to distinguish three cases: the use of the % \package{hyperref} package, the use of the \package{babel} package % and the default. % % We handle the \package{hyperref} package by activating our code % after \package{hyperref} with the help of \cs{AfterPackage*} from % \package{scrlfile}. % \changes{v1.10}{2006/10/22}{Handle \package{hyperref}} % \begin{macrocode} \AfterPackage*{hyperref}{% \CheckCommand*{\@bibitem}[1]{% \@skiphyperreftrue\H@item\@skiphyperreffalse \Hy@raisedlink{% \hyper@anchorstart{cite.#1}\relax\hyper@anchorend}% \if@filesw \begingroup \let\protect\noexpand \immediate\write\@auxout{% \string\bibcite{#1}{% \the\value{\@listctr}}% }% \endgroup \fi \ignorespaces }% \renewcommand*{\@bibitem}[1]{% \@skiphyperreftrue\H@item\@skiphyperreffalse \Hy@raisedlink{% \hyper@anchorstart{cite.#1}\relax\hyper@anchorend}% \if@filesw \begingroup \let\protect\noexpand \immediate\write\@auxout{% \string\bibcite{#1}{% \bibprefix\the\value{\@listctr}}% }% \endgroup \fi \ignorespaces }% }% % \end{macrocode} % % If \package{hyperref} is not used, we must distinguish between % \package{babel} and the default. \package{babel} saves \cs{@bibitem} % as \cs{org@@bibitem}, so we have to redefine that. % \changes{v1.10}{2006/10/22}{Handle \package{babel}} % \begin{macrocode} \@ifpackageloaded{hyperref}{}{% \@ifpackageloaded{babel} {% \CheckCommand*{\org@@bibitem}[1]{% \item\if@filesw \immediate\write\@auxout {\string\bibcite{#1}{% \the\value{\@listctr}}}% \fi\ignorespaces }% \renewcommand*{\org@@bibitem}[1]{% \item\if@filesw \immediate\write\@auxout {\string\bibcite{#1}{% \bibprefix\the\value{\@listctr}}}% \fi\ignorespaces }% }{% \CheckCommand*{\@bibitem}[1]{% \item\if@filesw \immediate\write\@auxout {\string\bibcite{#1}{% \the\value{\@listctr}}}% \fi\ignorespaces }% \renewcommand*{\@bibitem}[1]{% \item\if@filesw \immediate\write\@auxout {\string\bibcite{#1}{% \bibprefix\the\value{\@listctr}}}% \fi\ignorespaces }% }% } % \end{macrocode} % \end{macro} % % \begin{macro}{\@biblabel} % We redefine \cs{\@biblabel} to add our prefix. % \begin{macrocode} \renewcommand*{\@biblabel}[1]{[\bibprefix#1]} % \end{macrocode} % \end{macro} % % % ^^A ----------------------------- % % \begin{macrocode} % % \end{macrocode} % \Finale % ^^A vim:tw=70:ts=2:et