summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/notes2bib/notes2bib.sty
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2007-09-03 16:40:01 +0000
committerKarl Berry <karl@freefriends.org>2007-09-03 16:40:01 +0000
commit3299cb982528e3a87d5b444ecd92a98b412970a3 (patch)
tree061a04d39afb8fd2b363de46bf6fa0746cb82fdf /Master/texmf-dist/tex/latex/notes2bib/notes2bib.sty
parent207e5dcc5a4444530c13477ace667f18656d592d (diff)
new latex package notes2bib (30aug07)
git-svn-id: svn://tug.org/texlive/trunk@4859 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/notes2bib/notes2bib.sty')
-rw-r--r--Master/texmf-dist/tex/latex/notes2bib/notes2bib.sty307
1 files changed, 307 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/notes2bib/notes2bib.sty b/Master/texmf-dist/tex/latex/notes2bib/notes2bib.sty
new file mode 100644
index 00000000000..6046f97398f
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/notes2bib/notes2bib.sty
@@ -0,0 +1,307 @@
+%%
+%% This is file `notes2bib.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% notes2bib.dtx (with options: `package')
+%% ----------------------------------------------------------------
+%% note2bib --- Integrating notes into the bibliography
+%% Maintained by Joseph Wright
+%% E-mail: joseph.wright@morningstar2.co.uk
+%% Released under the GNU General Public License
+%% See http://www.gnu.org/licenses/gpl.txt
+%% ----------------------------------------------------------------
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{notes2bib}
+ [2007/08/30 v1.0 Integrating notes into the bibliography]
+\RequirePackage{xspace}
+\newif\ifniib@fn\niib@fnfalse
+\DeclareOption{footnotes}{%
+ \niib@fntrue
+ \AtBeginDocument{%
+ \let\footnote\bibnote%
+}}
+\DeclareOption{endnotes}{%
+ \AtBeginDocument{%
+ \let\endnote\bibnote%
+ \let\endnotemark\bibnotemark%
+ \let\endnotetext\bibnotetext%
+ \@ifpackageloaded{endnotes}%
+ {\let\theendnotes\printbibnotes}{}%
+}}
+\newif\ifniib@tail\niib@tailfalse
+\newif\ifniib@head\niib@headfalse
+\DeclareOption{tail}{\niib@tailtrue}
+\DeclareOption{head}{\niib@headtrue}
+\def\niib@percent{\catcode`\%=14\relax}
+\DeclareOption{killpercent}{%
+ \def\niib@percent{\catcode`\%=9\relax}
+}
+\@ifclassloaded{ltxdoc}{\ExecuteOptions{killpercent}}{}
+\ProcessOptions
+\ifniib@fn
+ \@ifundefined{eTeXversion}{%
+ \PackageWarning{notes2bib}{%
+ e-TeX extensions unavailable\MessageBreak
+ \protect\footnotemark and \protect\footnotetext%
+ \MessageBreak unmodified}%
+ }{%
+ \let\niib@fnmark\footnotemark
+ \let\niib@fntext\footnotetext
+ \let\niib@thanks\thanks
+ \RequirePackage{elatex}
+ \patchcmd{\thanks}{\footnotemark}{\niib@fnmark}{%
+ \patchcmd{\thanks}{\footnotetext}{\niib@fntext}{%
+ \AtBeginDocument{%
+ \let\footnotemark\bibnotemark
+ \let\footnotetext\bibnotetext
+ }%
+ }%
+ {\let\thanks\niib@thanks%
+ \PackageWarning{notes2bib}%
+ {Could not patch \protect\thanks}}%
+ }{%
+ \let\thanks\niib@thanks%
+ \PackageWarning{notes2bib}%
+ {Could not patch \protect\thanks}}%
+ }%
+\fi
+\ifniib@head
+ \ifniib@tail
+ \PackageWarning{notes2bib}
+ {You've given both ``head'' and ``tail'' as
+ options\MessageBreak
+ I'm ignoring both!}
+ \niib@headfalse\niib@tailfalse
+ \fi
+\fi
+\AtBeginDocument{%
+ \ifniib@head
+ \delaycite{cite}%
+ \@ifpackageloaded{natbib}{%
+ \delaycite{citet}%
+ \delaycite{citep}%
+ \delaycite{citenum}%
+ \delaycite{citealt}%
+ \delaycite{citealp}%
+ \delaycite{citetext}%
+ \delaycite{citeauthor}%
+ \delaycite{citeyear}%
+ \delaycite{citeyearpar}%
+ \delaycite{Citet}%
+ \delaycite{Citep}%
+ \delaycite{Citealt}%
+ \delaycite{Citealp}%
+ \delaycite{Citeauthor}%
+ }{%
+ \@ifpackageloaded{biblatex}{%
+ \delaycite{Cite}%
+ \delaycite{parencite}%
+ \delaycite{Parencite}%
+ \delaycite{footcite}%
+ \delaycite{Footcite}%
+ \delaycite{textcite}%
+ \delaycite{Textcite}%
+ \ifdefined\autocite%
+ \delaycite{autocite}%
+ \fi%
+ \ifdefined\supercite%
+ \delaycite{supercite}%
+ \fi%
+ }{}%
+ }%
+ \fi%
+}
+\newcommand*\bibnotename{Bibnote}
+\newcounter{bibnote}
+\renewcommand*{\thebibnote}{\bibnotename\the\value{bibnote}}
+\newcommand*\niibprefix{niib-}
+\newcommand*\niibrecord{Misc}
+\newcommand*\niibfield{note}
+\newcommand*\niibpresorthead{ml}
+\newcommand*\niibpresortnone{mm}
+\newcommand*\niibpresorttail{mn}
+\newcommand*\niibkeyhead{aaa}
+\newcommand*\niibkeynone{}
+\newcommand*\niibkeytail{zzz}
+\newcommand*\niibcite{\cite}
+\DeclareRobustCommand\bibnote{%
+ \stepcounter{bibnote}%
+ \@ifnextchar[%
+ {\niib@bibnote}%
+ {\niib@bibnote[\thebibnote]}%
+}
+\DeclareRobustCommand\bibnotemark{%
+ \stepcounter{bibnote}%
+ \@ifnextchar[%
+ {\niib@mark}%
+ {\niib@mark[\thebibnote]}%
+}
+\DeclareRobustCommand\bibnotetext{%
+ \@ifnextchar[%
+ {\niib@text}%
+ {\niib@text[\thebibnote]}%
+}
+\@ifpackageloaded{biblatex}{%
+ \let\printbibnotes\printbibliography%
+}{%
+ \newcommand*{\printbibnotes}{\niib@bib%
+ {\niibprefix\jobname}}%
+}%
+\newcommand*\flushcitestack{%
+ \ifx\niib@stack\relax\else%
+ \expandafter\nocite\expandafter{\niib@stack}%
+ \global\let\niib@stack\relax%
+ \fi%
+}
+\newcommand*\delaycite[1]{%
+ \expandafter\ifx\csname niib@orig@#1\endcsname\@undefined%
+ \expandafter\expandafter\expandafter\let\expandafter%
+ \csname niib@orig@#1\expandafter\endcsname\csname #1\endcsname%
+ \expandafter\renewcommand\csname #1\endcsname[2][\relax]{%
+ \ifniib@cn%
+ \csname niib@orig@#1\endcsname{##2}%
+ \else%
+ \begingroup%
+ \@fileswfalse%
+ \ifx##1\relax%
+ \csname niib@orig@#1\endcsname{##2}%
+ \else%
+ \csname niib@orig@#1\endcsname[##1]{##2}%
+ \fi%
+ \endgroup%
+ \edef\niib@temp{##2}%
+ \ifx\niib@stack\relax%
+ \xdef\niib@stack{\niib@temp}%
+ \else%
+ \xdef\niib@stack{\niib@stack,\niib@temp}%
+ \fi%
+ \fi%
+ }%
+ \else%
+ \PackageInfo{notes2bib}%
+ {Citation type ``#1'' already delayed}%
+ \fi%
+}
+\newcommand*{\Percent}{\%\xspace}
+\@ifpackageloaded{biblatex}
+ {\def\niib@keyname{keysort}}
+ {\def\niib@keyname{key}}
+\ifniib@head
+ \def\niib@presort{\niibpresorthead}
+ \def\niib@key{\niibkeyhead}
+\else
+ \ifniib@tail
+ \def\niib@presort{\niibpresorttail}
+ \def\niib@key{\niibkeytail}
+ \else
+ \def\niib@presort{\niibpresortnone}
+ \def\niib@key{\niibkeynone}
+ \fi
+\fi
+\edef\niib@msg{%
+ This is an auxiliary file used by the `notes2bib' package.^^J%
+ This file may safely be deleted. It will be recreated as
+ required.^^J}
+\let\niib@stack\relax
+\newif\ifniib@cn\niib@cnfalse
+\long\def\niib@text[#1]{%
+ \niib@@text{#1}%
+}
+\long\def\niib@bibnote[#1]{%
+ \niib@citenote{#1}%
+ \niib@@text{#1}%
+}
+\def\niib@mark[#1]{\niib@citenote{#1}}
+\def\niib@citenote#1{%
+ \niib@cntrue%
+ \edef\niib@temp{#1}%
+ \ifniib@tail%
+ \begingroup%
+ \@fileswfalse%
+ \niibcite{#1}%
+ \endgroup%
+ \ifx\niib@stack\relax%
+ \xdef\niib@stack{\niib@temp}%
+ \else%
+ \xdef\niib@stack{\niib@stack,\niib@temp}%
+ \fi%
+ \else%
+ \expandafter\niibcite\expandafter%
+ {\expandafter\niib@temp\expandafter}%
+ \fi%
+ \niib@cnfalse%
+}%
+\newcommand\niib@verbtext[2][\ignorespaces]{%
+ \begingroup%
+ \let\do\@makeother\dospecials%
+ \catcode`\{=1\relax%
+ \catcode`\}=2\relax%
+ \niib@@verbtext{#1}{#2}%
+}%
+\newcommand\niib@@verbtext[2]{%
+ \begingroup%
+ \long\def\niib@tempa##1{%
+ \def\niib@tempa{##1}%
+ \@onelevel@sanitize\niib@tempa%
+ \expandafter\endgroup%
+ \expandafter\def%
+ \expandafter#2%
+ \expandafter{%
+ \niib@tempa}%
+ #1%
+ }%
+ \catcode`\^^M=10\relax%
+ \niib@percent%
+ \expandafter\endgroup%
+ \niib@tempa%
+}%
+\newcommand*\niib@write{%
+ \@bsphack%
+ \begingroup%
+ \niib@verbtext[\niib@@write\ignorespaces]\niib@tempa%
+}%
+\newcommand*\niib@@write[1]{%
+ \immediate\write\niib@out{%
+ @\niibrecord\string{\niib@tempb,^^J%
+ presort = \string{\niib@presort\string},^^J%
+ \niib@keyname\space= \string{\niib@key\niib@tempb\string},^^J%
+ \niibfield\space= \string{\niib@tempa\string}^^J%
+ \string}^^J}%
+ \endgroup%
+ \@esphack%
+}%
+\long\def\niib@@text#1{%
+ \ifx\niib@out\@undefined%
+ \newwrite\niib@out%
+ \gdef\niib@stream{\niibprefix\jobname.bib}%
+ \immediate\openout\niib@out\niib@stream\relax%
+ \immediate\write\niib@out{\niib@msg}%
+ \fi%
+ \if@filesw%
+ \edef\niib@tempb{#1}%
+ \expandafter\niib@write%
+ \fi%
+}
+\@ifpackageloaded{biblatex}{%
+ \expandafter\bib@gadd\expandafter\blx@bibfiles\expandafter%
+ {\niibprefix\jobname}%
+ }{%
+ \let\niib@bib\bibliography%
+ \renewcommand{\bibliography}[1]{%
+ \ifnum\the\value{bibnote} > \z@%
+ \niib@bib{\niibprefix\jobname,#1}%
+ \else%
+ \niib@bib{#1}%
+ \fi}}%
+%%
+\AtEndDocument{%
+ \flushcitestack%
+ \ifx\niib@out\@undefined\else%
+ \immediate\closeout\niib@out%
+ \fi%
+}
+\endinput
+%%
+%% End of file `notes2bib.sty'.