From e0c6872cf40896c7be36b11dcc744620f10adf1d Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Mon, 2 Sep 2019 13:46:59 +0900 Subject: Initial commit --- macros/latex/contrib/easy/easybib.sty | 168 ++++++++++++++++++++++++++++++++++ 1 file changed, 168 insertions(+) create mode 100644 macros/latex/contrib/easy/easybib.sty (limited to 'macros/latex/contrib/easy/easybib.sty') 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 -- cgit v1.2.3