summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/easy/easybib.sty
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /macros/latex/contrib/easy/easybib.sty
Initial commit
Diffstat (limited to 'macros/latex/contrib/easy/easybib.sty')
-rw-r--r--macros/latex/contrib/easy/easybib.sty168
1 files changed, 168 insertions, 0 deletions
diff --git a/macros/latex/contrib/easy/easybib.sty b/macros/latex/contrib/easy/easybib.sty
new file mode 100644
index 0000000000..b7288027b6
--- /dev/null
+++ b/macros/latex/contrib/easy/easybib.sty
@@ -0,0 +1,168 @@
+%%% ====================================================================
+%%% @LaTeX-style-file{
+%%% author = "Enrico Bertolazzi",
+%%% version = "0.7",
+%%% date = "16-MAR-99",
+%%% filename = "easybib.sty",
+%%% address = "Laboratorio di Matematica Applicata
+%%% e Meccanica Strutturale,
+%%% Trento University,
+%%% Via Mesiano, Trento, Italy",
+%%% FAX = "+39 (461) 882599",
+%%% email = "enrico.bertolazzi@ing.unitn.it (Internet)",
+%%% supported = "yes. Please send comments via E-mail",
+%%% docstring = "package for easy customization of bibliography."
+%%%
+%%% INSTALLATION:
+%%% Put this file where your TeX looks for inputs.
+%%%
+%%% DOCUMENTATION:
+%%% Compile docbib.tex.
+%%%
+%%% Copyright 1999 Enrico Bertolazzi
+%%%
+%%% This program can be redistributed and/or modified under the terms
+%%% of the LaTeX Project Public License Distributed from CTAN
+%%% archives in directory macros/latex/base/lppl.txt; either
+%%% version 1 of the License, or any later version.
+%%%
+%%% }
+%%% ====================================================================%%%
+%%% ___ ____ ___ _ _ __ __ ____ ______ %%%
+%%% / \ / / \ \ / / \ / \ / / %%%
+%%% /____/ /__ /____/ \/ \ / / /__ / %%%
+%%% / \ / / \ / \ / / / / %%%
+%%% /____/ /____ / \ / \__/ \__/ / / %%%
+%%% ====================================================================%%%
+\def\filedate{1999/03/16}
+\def\fileversion{v0.7}
+\typeout{Document Style `easybib' \fileversion\space<\filedate>.}
+%% BEGIN easybib.sty
+%%
+\NeedsTeXFormat{LaTeX2e}
+\RequirePackage{easy}
+\ProvidesPackage{easybib}[\filedate\space\fileversion]
+
+\@ifundefined{refname}{\gdef\refname{References}}{}
+\@ifundefined{bibname}{\gdef\refname{Bibliography}}{}
+
+\newif\if@bib@first@item
+
+\def\@bib@init@cmds{\global\@bib@first@itemtrue\global\let\@bib@old@fmtclo\@empty%
+\expandafter\@for\expandafter\@name\expandafter:\expandafter=\csname \@bib@act@fmt list\endcsname
+\do{\expandafter\let\csname\@name\expandafter\endcsname%
+\csname @bib@\@bib@act@fmt @\@name @cmd\endcsname%
+\expandafter\global\expandafter\setbox\csname @bib@\@name @box\endcsname=\box\voidb@x}}
+
+\def\@bib@begin{\begingroup\gdef\@bib@first@punct{}\@bib@init@cmds\bgroup\ignorespaces}
+
+\def\@bib@out{\@bib@old@fmtclo\egroup\@killglue%
+\expandafter\@for\expandafter\@name\expandafter:\expandafter=\csname \@bib@act@fmt list\endcsname
+\do{\@bib@out@if@exist[\@bib@act@fmt,\@name]}}
+
+\def\@bib@end#1{\@bib@out#1\endgroup}
+
+\def\moreref{\@ifnextchar[\@bib@moreref{\@bib@moreref[;]}}%
+\def\@bib@moreref[#1]#2{\@bib@out\gdef\@bib@act@fmt{#2}%
+\gdef\@bib@first@punct{\@killglue#1\space}%
+\@bib@init@cmds\bgroup\ignorespaces}
+
+\def\endref{\@ifnextchar[\@endref{\@endref[;]}}
+\def\@endref[#1]{\@bib@end{#1}}
+
+\def\@bib@out@if@exist[#1,#2]{%
+\ifdim\wd\@nameuse{@bib@#2@box}>0pt%
+\@killglue\unhbox\@nameuse{@bib@#2@box}\@killglue\fi}
+
+\def\bibsetfmt[#1,#2]#3#4#5{%
+\@easy@gdef(@bib@#1@#2@punct){\@killglue#3\space}
+\@easy@gdef(@bib@#1@#2@fmt){#4}
+\@easy@gdef(@bib@#1@#2@fmtclo){\@killglue#5}}
+
+\def\bibdefinestyle#1#2{\bibsetfmt[#1,#2]{,}{\rmfamily}{}%
+\@ifundefined{@bib@#2@box}{\expandafter\global\expandafter\newbox\csname @bib@#2@box\endcsname}{}
+\expandafter\xdef\csname @bib@#1@#2@cmd\endcsname{\noexpand\@bib@old@fmtclo\egroup
+\noexpand\global\noexpand\setbox\csname @bib@#2@box\endcsname\hbox\bgroup
+\noexpand\global\noexpand\let\noexpand\@bib@old@fmtclo%
+\expandafter\noexpand\csname @bib@#1@#2@fmtclo\expandafter\noexpand\endcsname%
+\noexpand\if@bib@first@item\noexpand\@bib@first@punct\noexpand\else%
+\expandafter\noexpand\csname @bib@#1@#2@punct\expandafter\noexpand\endcsname\noexpand\fi
+\noexpand\global\noexpand\@bib@first@itemfalse%
+\expandafter\noexpand\csname @bib@#1@#2@fmt\expandafter\noexpand\endcsname}}
+
+\def\@BIB@lbibitem[#1]#2{\@lbibitem[#1]{#2}\@bib@begin}
+\def\@BIB@bibitem#1{\@bibitem{#1}\@bib@begin}
+
+\def\bibdefinestyles#1{%
+\@easy@xdef(#1ref){\noexpand\gdef\noexpand\@bib@act@fmt{#1}
+\noexpand\@ifnextchar[\noexpand\@BIB@lbibitem\noexpand\@BIB@bibitem}
+\expandafter\@for\expandafter\@name\expandafter:\expandafter=\csname#1list\endcsname
+\do{\bibdefinestyle{#1}{\@name}}}
+
+\def\paperlist{by,bysame,title,transl,jour,toappear,inbook,publ,eds,publaddr,vol,yr,pages,finalinfo,lang}
+\def\booklist{by,bysame,title,bookinfo,publ,publaddr,pages,yr,lang,transl}
+
+\bibdefinestyles{paper}
+\bibdefinestyles{book}
+%
+\bibsetfmt[paper,by]{}{\bfseries}{}
+\bibsetfmt[paper,bysame]{,}{\hbox to3em{\hrulefill\hskip.1em}}{}
+\bibsetfmt[paper,title]{,}{\itshape}{}
+\bibsetfmt[paper,toappear]{}{(to appear}{)}
+\bibsetfmt[paper,yr]{}{(}{)}
+\bibsetfmt[paper,lang]{}{(}{)}
+\bibsetfmt[paper,vol]{}{\bfseries}{}
+\bibsetfmt[paper,eds]{}{(}{\@killglue, eds.)}
+\bibsetfmt[paper,transl]{}{}{}
+%
+\bibsetfmt[book,by]{}{\bfseries}{}
+\bibsetfmt[book,bysame]{}{\hbox to3em{\hrulefill\hskip.1em}}{}
+\bibsetfmt[book,title]{,}{\scshape}{}
+\bibsetfmt[book,lang]{}{(}{)}
+
+\def\@bib@styleA#1{#1.}
+\def\@bib@styleB#1{[#1]}
+\def\@bib@styleC#1{}
+
+\def\refstyle#1{\@easy@glet(@biblabel){@bib@style#1}}
+\refstyle{A}
+
+\def\@bib@citeA#1#2{[{#1\if@tempswa , #2\fi}]}
+\def\@bib@citeB#1#2{\@killglue$^{\hbox{\tiny[{#1\if@tempswa , #2\fi}]}}$}
+\def\@bib@citeC#1#2{\@killglue$^{\hbox{\tiny#1\if@tempswa , #2\fi}}$}
+
+\def\citestyle#1{\@easy@glet(@cite){@bib@cite#1}}
+\citestyle{A}
+
+
+\DeclareOption{definethebibliography}{%
+ \def\bibindent{1.5em}
+ \def\thebibliography{\@ifnextchar[{\@bib@init}{\@bib@init[\refname]}}
+ \def\@bib@init[#1]{\@ifnextchar({\@bib@inita[#1]}{\@bib@inita[#1](\section*,\z@)}}
+ \def\@bib@inita[#1](#2,#3)#4{%
+ #2{#1\@mkboth{\MakeUppercase#1}{\MakeUppercase#1}}%
+ \kern#3
+ \list{\@biblabel{\@arabic\c@enumiv}}%
+ {\settowidth\labelwidth{\@biblabel{#4}}%
+ \leftmargin\labelwidth
+ \advance\leftmargin\labelsep
+ \@openbib@code
+ \usecounter{enumiv}%
+ \let\p@enumiv\@empty
+ \renewcommand\theenumiv{\@arabic\c@enumiv}}%
+ \sloppy
+ \clubpenalty4000
+ \@clubpenalty \clubpenalty
+ \widowpenalty4000%
+ \sfcode`\.\@m}
+ \def\endthebibliography{%
+ \def\@noitemerr{\@latex@warning{Empty `thebibliography' environment}}%
+ \endlist}
+}
+
+
+\ProcessOptions
+
+\endinput
+%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ No newline at end of file