diff options
author | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
commit | e0c6872cf40896c7be36b11dcc744620f10adf1d (patch) | |
tree | 60335e10d2f4354b0674ec22d7b53f0f8abee672 /macros/latex/contrib/mlbib |
Initial commit
Diffstat (limited to 'macros/latex/contrib/mlbib')
l--------- | macros/latex/contrib/mlbib/README | 1 | ||||
-rw-r--r-- | macros/latex/contrib/mlbib/install.03 | 52 | ||||
-rw-r--r-- | macros/latex/contrib/mlbib/journal.bib | 313 | ||||
-rw-r--r-- | macros/latex/contrib/mlbib/journal.bst | 1174 | ||||
-rw-r--r-- | macros/latex/contrib/mlbib/local03.tex | 79 | ||||
-rw-r--r-- | macros/latex/contrib/mlbib/mlbib.drv | 54 | ||||
-rw-r--r-- | macros/latex/contrib/mlbib/mlbib.dtx | 820 | ||||
-rw-r--r-- | macros/latex/contrib/mlbib/mlbib.pdf | bin | 0 -> 105392 bytes | |||
-rw-r--r-- | macros/latex/contrib/mlbib/mlbib.sty | 376 | ||||
-rw-r--r-- | macros/latex/contrib/mlbib/paper.bst | 1182 | ||||
-rw-r--r-- | macros/latex/contrib/mlbib/readme.03 | 34 | ||||
-rw-r--r-- | macros/latex/contrib/mlbib/test03.bbl | 41 | ||||
-rw-r--r-- | macros/latex/contrib/mlbib/test03.bib | 356 | ||||
-rw-r--r-- | macros/latex/contrib/mlbib/test03.tex | 20 | ||||
-rw-r--r-- | macros/latex/contrib/mlbib/thesis.bib | 313 | ||||
-rw-r--r-- | macros/latex/contrib/mlbib/thesis.bst | 1241 |
16 files changed, 6056 insertions, 0 deletions
diff --git a/macros/latex/contrib/mlbib/README b/macros/latex/contrib/mlbib/README new file mode 120000 index 0000000000..3575702aa2 --- /dev/null +++ b/macros/latex/contrib/mlbib/README @@ -0,0 +1 @@ +readme.03
\ No newline at end of file diff --git a/macros/latex/contrib/mlbib/install.03 b/macros/latex/contrib/mlbib/install.03 new file mode 100644 index 0000000000..0e23dd84e7 --- /dev/null +++ b/macros/latex/contrib/mlbib/install.03 @@ -0,0 +1,52 @@ +\def\batchfile{install.03} +\def\filename{mlbib} + +{\immediate\openin15 docstrip.tex +\ifeof 15 +\typeout{***********************************************} +\typeout{* Sorry can not find the file `docstrip.tex'. *} +\typeout{***********************************************} +\expandafter\aftergroup\csname @@end\expandafter\endcsname +\expandafter\aftergroup\csname end\expandafter\endcsname \fi} + +\input docstrip.tex + +\preamble + +Copyright (C) 1992, 1996 by Wenzel Matiaske, mati1831@perform.ww.tu-berlin.de + +You are not allowed to distribute this file without the +original source \filename.dtx. For distribution of the +sources see the copyright notice in the file \filename.dtx. + +\endpreamble + +\keepsilent + +\Msg{*** Generating the document packages files ***} + +\generateFile{mlbib.sty}{t}{\from{mlbib.dtx}{package}} + +\Msg{*** Generating the documentation driver ***} + +\generateFile{mlbib.drv}{t}{\from{mlbib.dtx}{driver}} + +\ifToplevel{ +\Msg{***********************************************************} +\Msg{*} +\Msg{* To finish the installation you have to move the following} +\Msg{* files into a directory searched by TeX:} +\Msg{*} +\Msg{* \space\space mlbib.sty} +\Msg{*} +\Msg{* To produce the documentation run the files ending with} +\Msg{* `.drv' through LaTeX.} +\Msg{*} +\Msg{* Happy TeXing} +\Msg{***********************************************************} +} + +\endinput + + + diff --git a/macros/latex/contrib/mlbib/journal.bib b/macros/latex/contrib/mlbib/journal.bib new file mode 100644 index 0000000000..f38d9a352f --- /dev/null +++ b/macros/latex/contrib/mlbib/journal.bib @@ -0,0 +1,313 @@ +% journal.bib 15-Dec-90 +% last modification 30-Oct-96 +% +% Copyright (C) 1990--1996 Wenzel Matiaske +% +% A short description of entry types for BibTeX database is included +% at the beginning of the database +% +% For general use of BibTeX see O. Patashnik ``btxbst.doc'' or +% L. Lamport ``LaTeX'' pp. 140-147 +% +% Please send bug fixes and enhancements to the address below: +% ___ +% wenzel matiaske | / /_/-Berlin +% | +% | mail: Technical University Berlin +% | Dept. of Economics & Management, WW6 +% | Uhlandstr. 4-5, D-10623 Berlin +% | phone: +49 30 314-22574 +% | fax: +49 30 314-21787 +% | email: W.Matiaske!ww!TU-Berlin!de +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% +%% Types of entries currently allowed in a BibTeX file: +%% +%% ARTICLE -- An article from a journal or magazine. +%% - required fields: author, title, journal, year. +%% - optional fields: volume, number, pages, month, note. +%% +%% BOOK -- A book with an explicit publisher. +%% - required: author or edititor, title, publisher, year. +%% - optional: volume, series, address, edition, month, note. +%% +%% BOOKLET -- A work that is printed and bound, +%% but without a named publisher or sponsoring institution. +%% - required: title. +%% - optional: author, howpublished, address, month, year, note. +%% +%% CONFERENCE -- The same as INPROCEEDINGS, +%% included for Scribe compatibility. +%% +%% INBOOK -- A part of a book, +%% which may be a chapter (or section or whatever) and/or a range of pages. +%% - required: author or editor, title, chapter and/or pages, +%% publisher, year. +%% - optional: volume, series, address, edition, month, note. +%% +%% INCOLLECTION -- A part of a book having its own title. +%% - required: author, title, booktitle, publisher, year. +%% - optional: editor, chapter, pages, address, month, note. +%% +%% INPROCEEDINGS -- An article in a conference proceedings. +%% - required: author, title, booktitle, year. +%% - optional: editor, pages, organization, publisher, address, +%% month, note. +%% +%% MANUAL -- Technical documentation. +%% - required: title. +%% - optional: author, organization, address, edition, month, +%% year, note. +%% +%% MASTERSTHESIS -- A Master's thesis. +%% - required: author, title, school, year. +%% - optional: address, month, note. +%% +%% MISC -- Use this type when nothing else fits. +%% - required: --- +%% - optional: author, title, howpublished, month, year, note. +%% +%% PHDTHESIS -- A PhD thesis. +%% - required: author, title, school, year. +%% - optional: address, month, note. +%% +%% PROCEEDINGS -- The proceedings of a conference. +%% - required: title, year. +%% - optional: editor, publisher, organization, address, month, note. +%% +%% TECHREPORT -- A report published by a school or other institution, +%% usually numbered within a series. +%% - required: author, title, institution, year. +%% - optional: type, number, address, month, note. +%% +%% UNPUBLISHED -- A document having an author and title, but not formally +%% published. +%% - required: author, title, note. +%% - optional: month, year. +%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +@string{aAW = "angew. Arbeitswissenschaft"} +@string{ADMS = "Admin. and Society"} +@string{AER = "Am. Econ. Rev."} +@string{AfK = "Archiv f{{\"u}}r Kommunalforschung???"} +@string{AJPS = "Am. J. Pol. Sci."} +@string{AJS = "Am. J. Sociol."} +@string{AME = "Acad. Management Executive"} +@string{AMJ = "Acad. Management J."} +@string{AMR = "Acad. Management Rev."} +@string{AP = "Am. Psychologist"} +@string{APSR = "Am. Pol. Sci. Rev."} +@string{ARP = "Ann. Rev. Psychol."} +@string{ARS = "Ann. Rev. Sociol."} +@string{AS = "The Am. Sociologist"} +@string{ASQ = "Admin. Sci. Q."} +@string{ASR = "Am. Sociol. Rev."} +@string{AdMJ = "Advanced Management J."} +@string{AfSW = "Archiv f{{\"u}}r Sozialwissenschaft und Sozialpolitik"} +@string{AuL = "Arbeit und Leistung"} +@string{BAnz = "Bundesanzeiger"} +@string{BB = "Betriebs Berater"} +@string{BFuP = "Betriebswirtschaftliche Forschung und Praxis"} +@string{BH = "Business Horizons"} +@string{BIOM = "Biometrika"} +@string{BJM = "British J. Management"} +@string{BJS = "British J. Sociol."} +@string{BS = "Behav. Sci."} +@string{BT-Dr = "Bundestagsdrucksache"} +@string{BW = "Der Betriebswirt"} +@string{CMR = "California Management Rev."} +@string{DB = "Der Betrieb"} +@string{DBW = "Die Betriebswirtschaft"} +@string{DIAG = "Diagnostika"} +@string{DU = "Die Unternehmung"} +@string{DV = "Die Verwaltung"} +@string{DoV = "Die {{\"o}}ffentliche Verwaltung"} +@string{ECO = "Economica"} +@string{EER = "European Econ. Rev."} +@string{EaPM = "Educational and Psychological Measurement"} +@string{FB = "Fortschrittliche Betriebsf{{\"u}}hrung"} +@string{FB/IE = "Fortschrittliche Betriebsf{{\"u}}hrung/Industrial Engineering"} +@string{FUB = "Freie Universit{{\"a}}t Berlin"} +@string{GD = "Gruppendynamik"} +@string{GS = "General Systems"} +@string{HB = "Handelsblatt"} +@string{HBR = "Harvard Business Rev."} +@string{HBS = "Harvard Business School"} +@string{HCR = "Human Communication Res."} +@string{HER = "Harvard Education Rev."} +@string{HF = "Human Factors"} +@string{HIOP = "Handbook Industrial and Organizational Psychol."} +@string{HIOP = "Handbook Industrial and Organizational Psychol."} +@string{HM = "Harvard Manager"} +@string{HO = "Human Organization"} +@string{HOB = "The Handbook Organizational Behav."} +@string{HR = "Human Relations"} +@string{HRM = "Human Resource Management"} +@string{HSP = "The Handbook Soc. Psychol."} +@string{HSR = "Hist. Soc. Res."} +@string{HUB = "Humboldt Universit{{\"a}}t Berlin"} +@string{HWA = "Handw{{\"o}}rterbuch der Absatzwirtschaft"} +@string{HWB = "Handw{{\"o}}rterbuch der Betriebswirtschaft"} +@string{HWF = "Handw{{\"o}}rterbuch der F{{\"u}}hrung"} +@string{HWO = "Handw{{\"o}}rterbuch der Organisation"} +@string{HWP = "Handw{{\"o}}rterbuch des Personalwesens"} +@string{HWPlan = "Handw{{\"o}}rterbuch der Planung"} +@string{HWProd = "Handw{{\"o}}rterbuch der Produktionswirtschaft"} +@string{HWR = "Handw{{\"o}}rterbuch des Rechnungswesens"} +@string{HWS = "Handw{{\"o}}rterbuch der Sozialwissenschaften"} +@string{HWStR = "Handw{{\"o}}rterbuch des Steuerrechts"} +@string{HdA = "Humanisierung der Arbeit"} +@string{HdSW = "Handw{{\"o}}rterbuch der Sozialwissenschaften"} +@string{HdW = "Handbuch der Wirtschaftswissenschaften"} +@string{HdWW = "Handw{{\"o}}rterbuch der Wirtschaftswissenschaften"} +@string{IMR = "Industrial Management Rev."} +@string{IO = "Industrielle Organisation/Management-Zeitschrift"} +@string{IR = "Industrial Relations"} +@string{IJSA = "Internat. J. Selection and Assessment"} +@string{ISMO = "Internat. Studies Management and Organization"} +@string{ISR = "Institute for Soc. Res."} +@string{ISSJ = "Internat. Soc. Sci. J."} +@string{JASA = "J. Am. Stat. Assoc."} +@string{JABS = "J. Appl. Behav. Sci."} +@string{JAP = "J. Appl. Psychol."} +@string{JAPM = "J. Appl. Psychol. Monograph"} +@string{JAS = "J. Appl. Sociol."} +@string{JASP = "J. Abnormal and Soc. Psychol."} +@string{JBR = "J. Business Res."} +@string{JBV = "J. Business Venturing"} +@string{JBus = "J. Business"} +@string{JCB = "J. Contemporary Business"} +@string{JCR = "J. Consumer Res."} +@string{JEBO = "J. Econ. Behav. and Organization"} +@string{JEL = "J. Econ. Literature"} +@string{JESP = "J. Experimental Soc. Psychol."} +@string{JET = "J. European Training"} +@string{JGM = "J. General Management"} +@string{JHR = "Hist. Soc. Res."} +@string{JIE = "J. Industrial Econ."} +@string{JITE = "J. Institutional and Theoretical Econ."} +@string{JLE = "J. Law and Econ."} +@string{JLEO = "J. Law, Econ. and Organization"} +@string{JM = "J. Management"} +@string{JMS = "J. Management Studies"} +@string{JoMP = "J. Math. Psychol."} +@string{JoMS = "J. Math. Sociol."} +@string{JMark = "J. Marketing"} +@string{JOB = "J. Occupational Behav."} +@string{JOOP = "J. Occupational and Organizational Psychol."} +@string{JP = "J. Psychol."} +@string{JPE = "J. Public Economy"} +@string{JPSP = "J. Personality and Soc. Psychol."} +@string{JPers = "J. Personality"} +@string{JSI = "J. Soc. Issues"} +@string{JSP = "J. Soc. Psychol."} +@string{JVB = "J. Vocational Behav."} +@string{JbSowi = "Jahrbuch f{{\"u}}r Sozialwissenschaften"} +@string{JfB = "J. f{{\"u}}r Betriebswirtschaft"} +@string{KZfSS = "K{{\"o}}lner Zeitschrift f{{\"u}}r Soziologie und Sozialpsychologie"} +@string{Komm = "Kommunikation"} +@string{LRP = "Long Range Planning"} +@string{MBR = "Multivariate Behavi. Res."} +@string{MDE = "Managerial and Decision Econ."} +@string{MIR = "Management Internat. Rev."} +@string{MIT = "Massachusetts Institute Technology"} +@string{MR = "Managerial Rev."} +@string{MS = "Management Sci."} +@string{MW = "Management-Wissen"} +@string{MZ = "Management Z."} +@string{MZFP = "Marketing ZFP"} +@string{Merk = "Merkur"} +@string{MittAB = "Mitteilungen zur Arbeitsmarkt- und Berufsforschung"} +@string{NB = "Neue Betriebswirtschaft"} +@string{NFA = "Neue Formen der Arbeitsorganisation"} +@string{OAS = "Organization and Admin. Sci."} +@string{OBHP = "Organizational Behav. and Human Performance"} +@string{ODY = "Organizational Dynamics"} +@string{OE = "Organisationsentwicklung"} +@string{OP = "Occupational Psychol."} +@string{OS = "Organization Studies"} +@string{OeB = "Der {{\"O}}sterreichische Betriebswirt"} +@string{PA = "Personnel Admin."} +@string{PAR = "Public Admin. Rev."} +@string{PBULL = "Psychological Bulletin"} +@string{PBei = "Psychologische Beitr{{\"a}}ge"} +@string{PJ = "Personnel J."} +@string{PM = "Psychological Monographs"} +@string{POQ = "Public Opinion Q."} +@string{PP = "Personnel Psychol."} +@string{PPM = "Public Personel Management"} +@string{PR = "Psychological Rev."} +@string{PRJ = "Public Relations J."} +@string{PRP = "Psychological Reports"} +@string{PRQ = "Public Relations Q."} +@string{PSR = "Psychologische Rundschau"} +@string{PSYCH = "Psychometrika"} +@string{Pers = "Personal --- Mensch und Arbeit"} +@string{PuA = "Planung und Analyse"} +@string{PuP = "Psychologie und Praxis"} +@string{QJE = "Q. J. Econ."} +@string{ROB = "Res. Organizational Behav."} +@string{Stat = "The Statistician"} +@string{SF = "Soc. Forces"} +@string{SMJ = "Strategic Management J."} +@string{SMR = "Sloan Management Rev."} +@string{SOFI = "Soziologisches Forschungsinstitut G{{\"o}}ttingen"} +@string{SP = "Soc. Problems"} +@string{SR = "Soziologische Revue"} +@string{STATH2 = "Statist. Hefte (N.F.)"} +@string{STATI1 = "Statistics"} +%@string{STOCH1 = "Stochastica"} +%@string{STOCH2 = "Stochastics"} +@string{SUPQA = "Sage University Paper Series on Quantitative Applications in the Soc. Sci."} +@string{SW = "Soziale Welt"} +@string{Soc = "Sociol."} +@string{SocMR = "Sociol. Meth. Res."}, +@string{SocQ = "Sociological Q."} +@string{SuB = "Sozialwissenschaften und Berufspraxis"} +@string{TDJ = "Training and Development J."} +@string{TUB = "Technische Universit{{\"a}}t Berlin"} +@string{UCLA = "University California, Los Angeles"} +@string{ULA = "ULA-Nachrichten"} +@string{WISU = "Wirtschaftsstudium"} +@string{WZB = "Wissenschaftszentrum Berlin"} +@string{WiSt = "Wirtschaftswissenschaftliches Studium"} +@string{Wpfg = "Die Wirtschaftspr{{\"u}}fung"} +@string{ZAI = "ZA-Information"} +@string{ZBR = "Z. f{{\"u}}r Beamtenrecht"} +@string{ZFO = "Z. F{{\"u}}hrung + Organisation"} +@string{ZfA = "Z. f{{\"u}}r Arbeitswissenschaft"} +@string{ZfAO = "Z. f{{\"u}}r Arbeits- und Organisationspsychologie"} +@string{ZfB = "Z. f{{\"u}}r Betriebswirtschaft"} +@string{ZfDDP = "Z. f{{\"u}}r Differenzielle und Diagnostische Psychologie"} +@string{ZfN = "Z. f{{\"u}}r National{{\"o}}konomie"} +@string{ZfO = "Z. f{{\"u}}r Organisation"} +@string{ZfP = "Z. f{{\"u}}r Psychologie"} +@string{ZfPf = "Z. f{{\"u}}r Personalforschung"} +@string{ZfS = "Z. f{{\"u}}r Soziologie"} +@string{ZfSP = "Z. f{{\"u}}r Sozialpsychologie"} +@string{ZfbF = "Z. f{{\"u}}r betriebswirtschaftliche Forschung"} +@string{ZfgK = "Z. f{{\"u}}r das gesamte Kreditwesen"} +@string{ZfgSt = "Z. f{{\"u}}r die gesamte Staatswissenschaft"} +@string{ZfhF = "Z. f{{\"u}}r handelswissenschaftliche Forschung"} +@string{ZUMA = "ZUMA Nachrichten"} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +@string{jan = "Januar"} +@string{feb = "Februar"} +@string{mar = "M{{\"a}}rz"} +@string{apr = "April"} +@string{mai = "Mai"} +@string{jun = "Juni"} +@string{jul = "Juli"} +@string{aug = "August"} +@string{sep = "September"} +@string{okt = "Oktober"} +@string{nov = "November"} +@string{dez = "Dezember"} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +@preamble{ "\providecommand{\noopsort}[1]{} " + # "\providecommand{\printfirst}[2]{#1} " + # "\providecommand{\singleletter}[1]{#1} " + # "\providecommand{\switchargs}[2]{#2#1} " } + diff --git a/macros/latex/contrib/mlbib/journal.bst b/macros/latex/contrib/mlbib/journal.bst new file mode 100644 index 0000000000..ce6f29f98b --- /dev/null +++ b/macros/latex/contrib/mlbib/journal.bst @@ -0,0 +1,1174 @@ +FUNCTION {bye} +{ "BibTeX-style: `journal 0.1d' <30-10-96> (wm)" top$ + "German Documentation: `mlbib.dtx' <30-10-96> (wm)" top$ +} + +% BibTeX bibliography style `journal' + % version 0.99a for BibTeX versions 0.99a or later, LaTeX version 2.09. + % Copyright (C) 1991, 1993 all rights reserved. + % Copying of this file is authorized only if either + % (1) you make absolutely no changes to your copy, including name, or + % (2) if you do make changes, you name it something other than + % btxbst.doc, plain.bst, unsrt.bst, alpha.bst, abbrv.bst, + % journal.bst, thesis.bst or paper.bst. + % This restriction helps ensure that all standard styles are identical. + +% ACKNOWLEDGEMENT +% This document is a modified version of `apalike.bst' to which it +% owes much of its functionality. + +% USAGE +% The file `mlbib.dtx' has the german documentation for this style. + +% AUTHOR +% ___ +% wenzel matiaske | / /_/-Berlin +% | mail: Technical University Berlin +% | Dept. of Economics, WW6 +% | Uhlandstr. 4-5, D-10623 Berlin +% | phone: +49 30 314-22574 +% | email: mati1831@perform.ww.tu-berlin.de + +% HISTORY +% <0.1a> <10.10.91> german version, german labels, uppercase titles +% <0.1b> <05.05.92> multilingual Version, `bib-labels', `if-titles' +% <0.1c> <31.01.93> `bbl-labels', compatible to `thesis.bst' +% <0.1d> <30.10.96> updates for mlbib package + +% NOTE +% There are undoubtably bugs in this program. Should you make +% improvements, bug fixes, etc., however, I ask you to send improvements +% back to me for incorporation into the macro for the rest of us. + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +ENTRY + { address + author + booktitle + chapter + edition + editor + howpublished + institution + journal + key + language +% month + note + number + organization + pages + publisher + school + series + title + type + volume + year + } + {} + { label extra.label sort.label } + +INTEGERS { output.state before.all mid.sentence after.sentence after.block } + +FUNCTION {init.state.consts} +{ #0 'before.all := + #1 'mid.sentence := + #2 'after.sentence := + #3 'after.block := +} + +STRINGS { s t } + +FUNCTION {output.nonnull} +{ 's := + output.state mid.sentence = + { ", " * write$ } + { output.state after.block = + { add.period$ write$ + newline$ + "\newblock " write$ + } + { output.state before.all = + 'write$ + { add.period$ " " * write$ } + if$ + } + if$ + mid.sentence 'output.state := + } + if$ + s +} + +FUNCTION {output.nonnull.colon} +{ 's := + output.state mid.sentence = + { ": " * write$ } + { output.state after.block = + { ": " * write$ + newline$ + "\newblock " write$ + } + { output.state before.all = + 'write$ + { add.period$ " " * write$ } + if$ + } + if$ + mid.sentence 'output.state := + } + if$ + s +} + +FUNCTION {output} +{ duplicate$ empty$ + 'pop$ + 'output.nonnull + if$ +} + +FUNCTION {output.colon} +{ duplicate$ empty$ + 'pop$ + 'output.nonnull.colon + if$ +} + +FUNCTION {output.check} +{ 't := + duplicate$ empty$ + { pop$ "empty " t * " in " * cite$ * warning$ } + 'output.nonnull + if$ +} + +FUNCTION {output.check.colon} +{ 't := + duplicate$ empty$ + { pop$ "empty " t * " in " * cite$ * warning$ } + 'output.nonnull.colon + if$ +} + +FUNCTION {item.check} +{ 't := + empty$ + { "empty " t * " in " * cite$ * warning$ } + { skip$ } + if$ +} + +FUNCTION {output.year.check} +{ year empty$ + { "empty year in " cite$ * warning$ } + { write$ + " \bbllb" year * extra.label * "\bblrb: \newblock " * + before.all 'output.state := + } + if$ +} + +FUNCTION {output.bibitem} +{ newline$ + "\bibitem[" write$ + label write$ + "}]{" write$ + cite$ write$ + "}" write$ + newline$ + language empty$ + 'skip$ + { "{\bbl" language * write$ newline$ } + if$ + "" + before.all 'output.state := +} + +FUNCTION {fin.entry} +{ add.period$ + write$ + newline$ + language empty$ + 'skip$ + { "}" write$ newline$ } + if$ +} + +FUNCTION {new.block} +{ output.state before.all = + 'skip$ + { after.block 'output.state := } + if$ +} + +FUNCTION {new.sentence} +{ output.state after.block = + 'skip$ + { output.state before.all = + 'skip$ + { after.sentence 'output.state := } + if$ + } + if$ +} + +FUNCTION {shows} +{ duplicate$ ":::: `" swap$ * "'" * top$ +} + +FUNCTION {showstack} +{"STACK=====================================================================" +top$ +stack$ +"ENDSTACK==================================================================" +top$ +} + +FUNCTION {not} +{ { #0 } + { #1 } + if$ +} + +FUNCTION {and} +{ 'skip$ + { pop$ #0 } + if$ +} + +FUNCTION {or} +{ { pop$ #1 } + 'skip$ + if$ +} + +FUNCTION {new.block.checkb} +{ empty$ + swap$ empty$ + and + 'skip$ + 'new.block + if$ +} + +FUNCTION {field.or.null} +{ duplicate$ empty$ + { pop$ "" } + 'skip$ + if$ +} + +FUNCTION {bbltf} +{ duplicate$ empty$ + { pop$ "" } + { "{\bbltf " swap$ * "}" * } + if$ +} + +FUNCTION {bblvf} +{ duplicate$ empty$ + { pop$ "" } + { "{\bblvf " swap$ * "}" * } + if$ +} + +FUNCTION {bblquote} +{ duplicate$ empty$ + { pop$ "" } + { "\bbllqq" swap$ * "\bblrqq" * } + if$ +} + +INTEGERS { nameptr namesleft numnames } + +FUNCTION {format.names} +{ 's := + #1 'nameptr := + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr "{vv~}{ll}{, jj}{, f.}" format.name$ 't := + nameptr #1 > + { namesleft #1 > + { ", " * t * } + { numnames #2 > + { "" * } + 'skip$ + if$ + t "others" = + { " et~al." * } + { "{\rm \bbland}" * t * } + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +} + +FUNCTION {format.authors} +{ author empty$ + { "" } + { "{\bblnf " * author format.names * "}" } + if$ +} + +FUNCTION {format.key} +{ empty$ + { key field.or.null } + { "" } + if$ +} + +FUNCTION {format.editors} +{ editor empty$ + { "" } + { "{\bblnf " * editor format.names * "}" + editor num.names$ #1 > + { ", \bbleds\ " * } + { ", \bbled\ " * } + if$ + } + if$ +} + +FUNCTION {format.title} +{ title empty$ + { "" } + { language empty$ % default english + { "\bbllq " title "t" change.case$ * "\bblrq" * } % language empty, then lower case + { language "english" = % non empty, equal english + { "\bbllq " title "t" change.case$ * "\bblrq" * } % then lower case, + { "\bbllq " title * "\bblrq" * } % else title + if$ + } + if$ + } + if$ +} + +FUNCTION {n.dashify} +{ 't := + "" + { t empty$ not } + { t #1 #1 substring$ "-" = + { t #1 #2 substring$ "--" = not + { "--" * + t #2 global.max$ substring$ 't := + } + { { t #1 #1 substring$ "-" = } + { "-" * + t #2 global.max$ substring$ 't := + } + while$ + } + if$ + } + { t #1 #1 substring$ * + t #2 global.max$ substring$ 't := + } + if$ + } + while$ +} + +FUNCTION {format.btitle} +{ title bbltf +} + +FUNCTION {tie.or.space.connect} +{ duplicate$ text.length$ #3 < + { "~" } + { " " } + if$ + swap$ * * +} + +FUNCTION {either.or.check} +{ empty$ + 'pop$ + { "can't use both " swap$ * " fields in " * cite$ * warning$ } + if$ +} + +FUNCTION {format.bvolume} +{ volume empty$ + { "" } + { "\bblvol" volume tie.or.space.connect + series empty$ + 'skip$ + { ", " * series bbltf * } + if$ + "volume and number" number either.or.check + } + if$ +} + +FUNCTION {format.number.series} +{ volume empty$ + { number empty$ + { series field.or.null } + { output.state mid.sentence = + { "\bblno" } + { "\bblNo" } + if$ + number tie.or.space.connect + series empty$ + { "there's a number but no series in " cite$ * warning$ } + { ", " * series * } + if$ + } + if$ + } + { "" } + if$ +} + +FUNCTION {format.edition} +{ edition empty$ + { "" } + { output.state mid.sentence = + { edition "l" change.case$ " \bbledit" * } + { edition "t" change.case$ " \bbledit" * } + if$ + } + if$ +} + +INTEGERS { multiresult } + +FUNCTION {multi.page.check} +{ 't := + #0 'multiresult := + { multiresult not + t empty$ not + and + } + { t #1 #1 substring$ + duplicate$ "-" = + swap$ duplicate$ "," = + swap$ "+" = + or or + { #1 'multiresult := } + { t #2 global.max$ substring$ 't := } + if$ + } + while$ + multiresult +} + +FUNCTION {format.pages} +{ pages empty$ + { "" } + { pages multi.page.check + { "\bblpp~" pages n.dashify * } + { "\bblp~" pages * } + if$ + } + if$ +} + +FUNCTION {format.vol.num.pages} +{ volume bblvf field.or.null + number empty$ + 'skip$ + { "\/(" number * ")" * * + volume empty$ + { "there's a number but no volume in " cite$ * warning$ } + 'skip$ + if$ + } + if$ + pages empty$ + 'skip$ + { duplicate$ empty$ + { pop$ format.pages } + { ", " * pages n.dashify * } + if$ + } + if$ +} + +FUNCTION {format.chapter.pages} +{ chapter empty$ + 'format.pages + { type empty$ + { "chapter" } + { type "l" change.case$ } + if$ + chapter tie.or.space.connect + pages empty$ + 'skip$ + { ", " * format.pages * } + if$ + } + if$ +} + +FUNCTION {format.in.ed.booktitle} +{ booktitle empty$ + { "" } + { editor empty$ + { "In: " booktitle bbltf * } + { "In: " format.editors * ", " * booktitle bbltf * } + if$ + } + if$ +} + +FUNCTION {format.thesis.type} +{ type empty$ + 'skip$ + { pop$ + type "t" change.case$ + } + if$ +} + +FUNCTION {format.tr.number} +{ type empty$ + { "\bbltrep " } + 'type + if$ + number empty$ + { "t" change.case$ } + { ", \bblno" * number tie.or.space.connect } + if$ +} + +FUNCTION {format.article.crossref} +{ "In:" + " \citeasnoun{" * crossref * "}" * +} + +FUNCTION {format.book.crossref} +{ volume empty$ + { "empty volume in " cite$ * "'s crossref of " * crossref * warning$ + "In: " + } + { "\bblVol" volume tie.or.space.connect + ", in: " * + } + if$ + "\citeasnoun{" * crossref * "}" * +} + +FUNCTION {format.incoll.inproc.crossref} +{ "In:" + " \citeasnoun{" * crossref * "}" * +} + +FUNCTION {format.addr.pub} +{ publisher empty$ + { address empty$ + { "" } + { address } + if$ + } + { address empty$ + 'publisher + { address ": " * publisher * } + if$ + } + if$ +} + +FUNCTION {article} +{ output.bibitem + format.authors "author" output.check + author format.key output + output.year.check + new.block + format.title "title" output.check + new.block + crossref missing$ + { journal empty$ + { "empty journal in " cite$ * warning$ } + { " In: " journal bbltf * output } + if$ + format.vol.num.pages output + } + { format.article.crossref output.nonnull + format.pages output + } + if$ + new.block + note output + fin.entry +} + +FUNCTION {book} +{ output.bibitem + author empty$ + { format.editors "author and editor" output.check + editor format.key output + } + { format.authors output.nonnull + crossref missing$ + { "author and editor" editor either.or.check } + 'skip$ + if$ + } + if$ + output.year.check + new.block + format.btitle "title" output.check + crossref missing$ + { format.bvolume output + new.block + format.number.series output + new.sentence + format.edition output + format.addr.pub "address and publisher" output.check + } + { new.block + format.book.crossref output.nonnull + } + if$ + new.block + note output + fin.entry +} + +FUNCTION {booklet} +{ output.bibitem + format.authors output + author format.key output + output.year.check + new.block + format.title "title" output.check + new.block + howpublished output + address output + new.block + note output + fin.entry +} + +FUNCTION {inbook} +{ output.bibitem + author empty$ + { format.editors "author and editor" output.check + editor format.key output + } + { format.authors output.nonnull + crossref missing$ + { "author and editor" editor either.or.check } + 'skip$ + if$ + } + if$ + output.year.check + new.block + format.btitle "title" output.check + crossref missing$ + { format.bvolume output + format.chapter.pages "chapter and pages" output.check + new.block + format.number.series output + new.sentence + format.edition output + format.addr.pub "address and publisher" output.check + } + { format.chapter.pages "chapter and pages" output.check + new.block + format.book.crossref output.nonnull + } + if$ + new.block + note output + fin.entry +} + +FUNCTION {incollection} +{ output.bibitem + format.authors "author" output.check + author format.key output + output.year.check + new.block + format.title "title" output.check + new.block + crossref missing$ + { format.in.ed.booktitle "booktitle" output.check + format.bvolume output + format.number.series output + format.chapter.pages output + new.sentence + format.edition output + format.addr.pub "address and publisher" output.check + } + { format.incoll.inproc.crossref output.nonnull + format.chapter.pages output + } + if$ + new.block + note output + fin.entry +} + +FUNCTION {inproceedings} +{ output.bibitem + format.authors "author" output.check + author format.key output + output.year.check + new.block + format.title "title" output.check + new.block + crossref missing$ + { format.in.ed.booktitle "booktitle" output.check + format.bvolume output + format.number.series output + format.pages output + new.sentence + organization output + address output + publisher output.colon + } + { format.incoll.inproc.crossref output.nonnull + format.pages output + } + if$ + new.block + note output + fin.entry +} + +FUNCTION {conference} { inproceedings } + +FUNCTION {manual} +{ output.bibitem + format.authors output + author format.key output + output.year.check + new.block + format.btitle "title" output.check + organization address new.block.checkb + format.edition output + address output + organization output.colon + new.block + note output + fin.entry +} + +FUNCTION {mastersthesis} +{ output.bibitem + format.authors "author" output.check + author format.key output + output.year.check + new.block + format.title "title" output.check + new.block + "\bblmth" format.thesis.type output.nonnull + address output + school "school" output.check + new.block + note output + fin.entry +} + +FUNCTION {misc} +{ output.bibitem + format.authors output + author format.key output + output.year.check + new.block + format.title output + new.block + howpublished output + new.block + note output + fin.entry +} + +FUNCTION {phdthesis} +{ output.bibitem + format.authors "author" output.check + author format.key output + output.year.check + new.block + format.btitle "title" output.check + new.block + "\bblphd" format.thesis.type output.nonnull + address output + school "school" output.check + new.block + note output + fin.entry +} + +FUNCTION {proceedings} +{ output.bibitem + format.editors output + editor format.key output + output.year.check + new.block + format.btitle "title" output.check + format.bvolume output + format.number.series output + new.sentence + organization output + address output + publisher output.colon + new.block + note output + fin.entry +} + +FUNCTION {techreport} +{ output.bibitem + format.authors "author" output.check + author format.key output + output.year.check + new.block + format.title "title" output.check + new.block + format.tr.number output.nonnull + address output + institution "institution" output.check + new.block + note output + fin.entry +} + +FUNCTION {unpublished} +{ output.bibitem + format.authors "author" output.check + author format.key output + output.year.check + new.block + format.title "title" output.check + new.block + note "note" output.check + fin.entry +} + +FUNCTION {default.type} { misc } + +MACRO {acmcs} {"ACM Computing Surveys"} + +MACRO {acta} {"Acta Informatica"} + +MACRO {cacm} {"Communications of the ACM"} + +MACRO {ibmjrd} {"IBM Journal of Research and Development"} + +MACRO {ibmsj} {"IBM Systems Journal"} + +MACRO {ieeese} {"IEEE Transactions on Software Engineering"} + +MACRO {ieeetc} {"IEEE Transactions on Computers"} + +MACRO {ieeetcad} + {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"} + +MACRO {ipl} {"Information Processing Letters"} + +MACRO {jacm} {"Journal of the ACM"} + +MACRO {jcss} {"Journal of Computer and System Sciences"} + +MACRO {scp} {"Science of Computer Programming"} + +MACRO {sicomp} {"SIAM Journal on Computing"} + +MACRO {tocs} {"ACM Transactions on Computer Systems"} + +MACRO {tods} {"ACM Transactions on Database Systems"} + +MACRO {tog} {"ACM Transactions on Graphics"} + +MACRO {toms} {"ACM Transactions on Mathematical Software"} + +MACRO {toois} {"ACM Transactions on Office Information Systems"} + +MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"} + +MACRO {tcs} {"Theoretical Computer Science"} + +READ + +FUNCTION {sortify} +{ purify$ + "l" change.case$ +} + +INTEGERS { len } + +FUNCTION {chop.word} +{ 's := + 'len := + s #1 len substring$ = + { s len #1 + global.max$ substring$ } + 's + if$ +} + +FUNCTION {format.lab.names} +{ 's := + s #1 "{vv~}{ll}" format.name$ + s num.names$ duplicate$ + #2 > + { pop$ " et~al." * } + { #2 < + 'skip$ + { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" = + { " et~al." * } + { "{\bbland}" * s #2 "{vv~}{ll}" format.name$ * } + if$ + } + if$ + } + if$ +} + +FUNCTION {author.key.label} +{ author empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { author format.lab.names } + if$ +} + +FUNCTION {author.editor.key.label} +{ author empty$ + { editor empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { editor format.lab.names } + if$ + } + { author format.lab.names } + if$ +} + +FUNCTION {editor.key.label} +{ editor empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { editor format.lab.names } + if$ +} + +FUNCTION {calc.label} +{ type$ "book" = + type$ "inbook" = + or + 'author.editor.key.label + { type$ "proceedings" = + 'editor.key.label + 'author.key.label + if$ + } + if$ + "\protect\citeauthoryear{{\citenf " swap$ * "\/}}{" * + year field.or.null purify$ #-1 #4 substring$ + * + 'label := +} + +FUNCTION {sort.format.names} +{ 's := + #1 'nameptr := + "" + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { nameptr #1 > + { " " * } + 'skip$ + if$ + s nameptr "{vv{ } }{ll{ }}{ f{ }}{ jj{ }}" format.name$ 't := + nameptr numnames = t "others" = and + { "et al" * } + { t sortify * } + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +} + +FUNCTION {sort.format.title} +{ 't := + "A " #2 + "An " #3 + "The " #4 t chop.word + chop.word + chop.word + sortify + #1 global.max$ substring$ +} + +FUNCTION {author.sort} +{ author empty$ + { key empty$ + { "to sort, need author or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { author sort.format.names } + if$ +} + +FUNCTION {author.editor.sort} +{ author empty$ + { editor empty$ + { key empty$ + { "to sort, need author, editor, or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { editor sort.format.names } + if$ + } + { author sort.format.names } + if$ +} + +FUNCTION {editor.sort} +{ editor empty$ + { key empty$ + { "to sort, need editor or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { editor sort.format.names } + if$ +} + +FUNCTION {presort} +{ calc.label + label sortify + " " + * + type$ "book" = + type$ "inbook" = + or + 'author.editor.sort + { type$ "proceedings" = + 'editor.sort + 'author.sort + if$ + } + if$ + #1 entry.max$ substring$ + 'sort.label := + sort.label + * + " " + * + title field.or.null + sort.format.title + * + #1 entry.max$ substring$ + 'sort.key$ := +} + +ITERATE {presort} + +SORT + +STRINGS { last.label next.extra } + +INTEGERS { last.extra.num } + +FUNCTION {initialize.extra.label.stuff} +{ #0 int.to.chr$ 'last.label := + "" 'next.extra := + #0 'last.extra.num := +} + +FUNCTION {forward.pass} +{ last.label label = + { last.extra.num #1 + 'last.extra.num := + last.extra.num int.to.chr$ 'extra.label := + } + { "a" chr.to.int$ 'last.extra.num := + "" 'extra.label := + label 'last.label := + } + if$ +} + +FUNCTION {reverse.pass} +{ next.extra "b" = + { "a" 'extra.label := } + 'skip$ + if$ + label extra.label * 'label := + extra.label 'next.extra := +} + +EXECUTE {initialize.extra.label.stuff} + +ITERATE {forward.pass} + +REVERSE {reverse.pass} + +FUNCTION {bib.sort.order} +{ sort.label + " " + * + year field.or.null sortify + * + " " + * + title field.or.null + sort.format.title + * + #1 entry.max$ substring$ + 'sort.key$ := +} + +ITERATE {bib.sort.order} + +SORT + +FUNCTION {begin.bib} +{ preamble$ empty$ + 'skip$ + { preamble$ write$ newline$ } + if$ + "\begin{thebibliography}{} \bblsize" write$ newline$ +} + +EXECUTE {begin.bib} + +EXECUTE {init.state.consts} + +ITERATE {call.type$} + +FUNCTION {end.bib} +{ newline$ + "\end{thebibliography}" write$ newline$ +} + +EXECUTE {end.bib} + +EXECUTE {bye} + + + diff --git a/macros/latex/contrib/mlbib/local03.tex b/macros/latex/contrib/mlbib/local03.tex new file mode 100644 index 0000000000..6879bd563a --- /dev/null +++ b/macros/latex/contrib/mlbib/local03.tex @@ -0,0 +1,79 @@ +%\iffalse +% local03.tex --- 01/09/93 +% 28/10/96 +% +% Copyright (C) 1996 by Wenzel Matiaske, mati1831@perform.ww.tu-berlin.de +% +% As input to the local LaTeX-guide "`local.tex"'. +% +% For distribution of this document see the copyright notice in the +% original sources mentioned below. +% +%\fi + +\makeatletter +\newif\iflocalin +\newif\ifappendixin +\@ifundefined{localin}{\localintrue}{\localinfalse} +\@ifundefined{appendixin}{\appendixinfalse}{\appendixintrue} +\@ifundefined{docdir}{\def\docdir{\dots /emtex/doc/}}{} +\@ifundefined{bibtex}{\def\bibtex{% +{\rm B\kern-.05em{\sc i\kern-.025em b}\kern-.08em T\kern-.1667em\lower.7ex\hbox{E}\kern-.125emX}}}{} +\@ifundefined{file}{\def\file#1{{\sl `#1'\/}}}{} +\makeatother + +\iflocalin + \subsubsection{The \bibtex\ Styles {\tt thesis}, {\tt journal}, and {\tt paper}} +\fi +\ifappendixin + \subsection{The \bibtex\ Styles {\tt thesis}, {\tt journal}, and {\tt paper}} +\fi + +The local style collection contains three `apalike' \bibtex-styles. The +first one is called \verb|thesis.bst| and produces a bibliography equal +to the format of the American Sociological Review. \verb|journal.bst| +equals the standard `apalike' format. The format \verb|paper.bst| is +designed for bibliographies in the style of the +``Handw\"{o}rterb\"{u}cher der Betriebs\-wirtschafts\-lehre'' (Gabler). +The \bibtex-styles are multilingual and support a {\tt language} field +in the bibliography database. + +These style files allow short citations via the commands +\verb|\citeasnoun{|\emph{ref}\verb|}| or +\verb|\cite*{|\emph{ref}\verb|}| (e.~g. Author (year)), +\verb|\citeauthor|, and +\verb|\citeyear|. + +The commands are defined in a corresponding \LaTeX{} package +called \verb|mlbib|. The package works together with {\tt +german.sty}, so the language can be changed with the +\verb|\selectlanguage{\|\emph{language}\verb|}| command. Even if +the {\tt language} field is used in the database, single lingual +bibliographies can be produced with the package option +\verb+singlelingual+. + +The package also supports changes of the citation and bibliography +layout. The layout of the bibliography and the citations may be changed +with the package options \verb+thesis+, \verb+journal+, and +\verb+paper+ which provide some standard layout. These standard forms +may be changed via the commands +\verb+\bblfont{}+, +\verb+\bblauthorfont{}+, +\verb+\bbltitlefont{}+, +\verb+\bblvolumefont{}+, +\verb+\bblleft{}+, and +\verb+\bblright{}+, which change the layout of the bibliography. +The layout of citations may +be modified with the commands + \verb+\citeauthorfont{}+, + \verb+\citebetween{}+, + \verb+\citeleft{}+, + \verb+\citeright{}+, + \verb+\citeasnounleft{}+ and + \verb+\citeasnounright{}+. + + +\iflocalin +For more details see the german documentation +\file{\docdir thebib}. +\fi diff --git a/macros/latex/contrib/mlbib/mlbib.drv b/macros/latex/contrib/mlbib/mlbib.drv new file mode 100644 index 0000000000..a86ae3fc71 --- /dev/null +++ b/macros/latex/contrib/mlbib/mlbib.drv @@ -0,0 +1,54 @@ +%% +%% This is file `mlbib.drv', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% mlbib.dtx (with options: `driver') +%% +%% Copyright (C) 1992, 1996 by Wenzel Matiaske, mati1831@perform.ww.tu-berlin.de +%% +%% You are not allowed to distribute this file without the +%% original source mlbib.dtx. For distribution of the +%% sources see the copyright notice in the file mlbib.dtx. +%% +\def\filename{mlbib} +\def\fileversion{1.0} +\def\filedate{1996/10/30} +\def\docdate{1995/10/30} + +\typeout{******************************************} +\typeout{* Documentation for LaTeX package `mlbib' *} +\typeout{******************************************} + +\documentclass[11pt]{ltxdoc} +\usepackage{german} +\usepackage{mlbib} + +\makeatletter +\newif\ifsolodoc + \@ifundefined{solo}{\solodoctrue}{\solodocfalse} +\IndexPrologue{\section*{Index}% + \markboth{Index}{Index}% + Die kursiv gesetzten Seitenzahlen + verweisen auf Beschreibungen der Makros, + unterstrichene Programmzeilennummern + auf deren Definitionen.} +\GlossaryPrologue{\section*{Neuerungen}% + \markboth{Neuerungen}{Neuerungen}} +\def\saved@macroname{Neuerung} +\renewenvironment{theglossary}{% + \glossary@prologue% + \GlossaryParms \let\item\@idxitem \ignorespaces}% + {} +\makeatother +\setcounter{StandardModuleDepth}{1} +\CodelineNumbered +\RecordChanges +\setlength{\parindent}{0pt} +\begin{document} +\DocInput{mlbib.dtx} \newpage \PrintChanges % \newpage \PrintIndex +\end{document} +\endinput +%% +%% End of file `mlbib.drv'. diff --git a/macros/latex/contrib/mlbib/mlbib.dtx b/macros/latex/contrib/mlbib/mlbib.dtx new file mode 100644 index 0000000000..13d98d1d50 --- /dev/null +++ b/macros/latex/contrib/mlbib/mlbib.dtx @@ -0,0 +1,820 @@ +%\iffalse +%<+package|driver>\def\filename{mlbib} +%<+package|driver>\def\fileversion{1.0} +%<+package|driver>\def\filedate{1996/10/30} +%<+package|driver>\def\docdate{1995/10/30} +%\fi +% +% \CheckSum{941} +% +% \iffalse This is a META-COMMENT +% +% Copyright (C) 1992, 1996 by Wenzel Matiaske, mati1831@perform.ww.tu-berlin.de +% +% This file is to be used with the LaTeX2e system. +% ------------------------------------------------ +% +% This macro is free software; you can redistribute it and/or modify it +% under the terms of the GNU General Public License as published by the +% Free Software Foundation; either version 1, or (at your option) any +% later version. +% +% The macros and the documentation are distributed in the hope that they +% will be useful, but WITHOUT ANY WARRANTY; without even the implied +% warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See +% the GNU General Public License for more details. +% +% You should have received a copy of the GNU General Public License +% along with this program; if not, write to the Free Software +% Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +% +% There are undoubtably bugs in the macros or the documentation. Should +% you make improvements, bug fixes, etc., however, I ask you to send +% improvements back to me for incorporation into the macro for the +% rest of us. +% +% Updates are available via anonymous ftp to host `perform.ww.tu-berlin.de'. +% +% ___ +% wenzel matiaske | / /_/-Berlin +% | mail: Technical University Berlin +% | Dept. of Economics, WW6 +% | Uhlandstr. 4-5, D-10623 Berlin +% | phone: +49 30 314-22574 +% | email: mati1831@perform.ww.tu-berlin.de +% +% \fi +% + +% \ifsolodoc +% \title{Multilinguale Zitierformate} +% \author{Wenzel Matiaske\thanks{% +% TU-Berlin, FB 14, WW 6, Uhlandstr. 4--5, 10623~Berlin, +% Tel.~030-314\,225\,74, email: mati1831@perform.ww.tu-berlin.de.}} +% \date{\docdate} +% \maketitle +% \selectlanguage{\english} +% \def\localin{\par} +% \begin{small} +% \begin{center}{\bf Abstract}\end{center} +% \MakePercentComment \input{local03} \MakePercentIgnore +% \end{small} +% \newpage +% \selectlanguage{\german} +% \section{Einleitung} +% \else +% \section{Multilinguale Zitierformate} +% \fi +% +% +% +% Die Stilformate \verb+thesis+ und \verb+journal+ werden +% durch die \BibTeX-Formate \verb+thesis.bst+, \verb+journal.bst+ +% und \verb+paper.bst+ sowie zugeh\"orige \LaTeX-Pakete +% erg\"anzt\footnote{Version +% \fileversion\ vom \filedate. Dokumentation vom \docdate.}. +% Das Format \verb+thesis.bst+ +% ist dem Stil der "`American Sociological Review"' angelehnt, +% \verb+journal.bst+ erzeugt ein g\"angiges Standardformat und +% \verb+paper.bst+ folgt den Vorgaben f\"ur die "`Handw\"orterb\"ucher der +% Betriebswirtschaftslehre"' des Gabler Verlages. +% Beispiele der beschriebenen Literaturformate sind in Abbildung +% \ref{examplebib} zusammengestellt. +% +% \begin{table}[ht] \small \centering +% \caption{\label{examplebib} Beispiele der Literaturformate} +% \begin{tabular}{@{}lp{28em}@{}} +% \hline +% \tt thesis & Aamport, Leslie A. (1986). "`The gnats and gnus document +% preparation system"'. \emph{G-Animal's Journal}, +% \textbf{41}, S.~73--78. \\ +% & Lincoll, Daniel D. (1977). Semigroups of recurrences. In: +% David J. Lipcoll, Daniel H. Lawrie und A. Herbert Sameh, +% Hrsg., \emph{Fast Computers,} S. 179--183. New York: +% Academic Press. \\ +% & Lipcoll, David J., Daniel H. Lawrie und A. Herbert Sameh, +% Hrsg. (1977). \emph{Fast Computers}. New York: Academic +% Press. \\ \\ +% \tt journal & \textsc{Aamport, L. A.} (1986): The gnats and gnus document +% preparation system. In: G-Animal's Journal, +% \textbf{41}(7), 73--78. \\ +% & \textsc{Lincoll, D D.} (1977): Semigroups of recurrences. In: +% \textsc{Lipcoll, D. J., Lawrie, D. H. \& Sameh, A. H.,} +% Hg., Fast Computers, 179--183. New York: +% Academic Press. \\ +% & \textsc{Lipcoll, D. J., Lawrie D. H. \& Sameh A. H.}, +% Hg. (1977): Fast Computers. New York: Academic +% Press. \\ \\ +% \tt paper & \emph{Aamport, L. A.}: The gnats and gnus document preparation +% system. In: G-Animal's Journal, 41 Jg., 7, S. 73--78. \\ +% & \emph{Lincoll, D. D.}: Semigroups of recurrences. In: Fast +% Computers, hrsg. von \emph{D. J. Lipcoll, D. H. Lawrie} und +% \emph{A. H. Sameh.} New York, 1977, S. 179--183. \\ +% & \emph{Lipcoll, D. J./Lawrie, D. H./Sameh, A. H.} (Hrsg.): Fast +% Computers. New York, 1977. \\ +% \hline +% \end{tabular} +%\end{table} +% +% Die Formate dienen der +% \"ublichen sozialwissenschaftlichen Zitierweise; d.~h. der Angabe +% von Autor und Erscheinungsjahr. Dies verlangt die Definition +% einiger zus\"atzlicher Zitierbefehle. +% Eine Besonderheit ist, +% da\ss{} die Auszeichnungen der Formate --- wie die Bezeichnungen des +% Herausgebers, der Auf"|lage oder der Seitenangabe --- in verschiedenen +% Sprachen zur Verf\"ugung stehen. Derzeit sind englische, franz\"osische +% und deutsche K\"urzel implementiert. Ferner sind die in Zitaten und +% im Literaturverzeichnis verwendeten Schriftarten variabel. +% +% \ifsolodoc \section{Zus\"atzliche Zitierbefehle} \else +% \subsection{Zus\"atzliche Zitierbefehle} \fi +% +% \DescribeMacro{\cite} +% \DescribeMacro{\cite*} +% \DescribeMacro{\citeasnoun} +% \DescribeMacro{\citeauthor} +% \DescribeMacro{\citeyear} +% Den Bed\"urfnissen sozialwissenschaftlicher Zitierweise entsprechend +% werden neben dem \"ublichen \verb+\cite{+\emph{label}\verb+}+-Befehl +% drei bzw. vier weitere Kommandos zur Verf\"ugung gestellt. Die Befehle +% \verb+\citeasnoun{+\emph{label}\verb+}+ bzw. +% \verb+\cite*{+\emph{label}\verb+}+ +% erzeugen den Namen und das +% in runden Klammern eingeschlossene Erscheinungsjahr der Referenz, +% \verb+\citeauthor{+\emph{label}\verb+}+ nur den oder die Autoren +% und \verb+\citeyear{+\emph{label}\verb+}+ nur das Erscheinungsjahr. +% +% \begin{figure} \small +% \begin{verbatim} +%\documentclass[12pt]{article} +% +%\usepackage{german} +%\usepackage[paper,singlelingual]{mlbib} +% +%\begin{document} +% +%In seinem aufsehenerregenden Artikel diskutiert +%\citeasnoun{article-full} die Formatierung durch \emph{Gnats} und +%\emph{Gnus}. +% +%\bibliographystyle{thesis} +%\bibliography{thesis,xampl} +%\end{document} +% \end{verbatim} +% \caption{\label{usebst}Anwendungsbeispiel der Zitierformate} +% \end{figure} +% +% \ifsolodoc \section{Wahl der Sprache} \else +% \subsection{Wahl der Sprache im Literaturverzeichnis} \fi +% +% Die genannten Eigenschaften der \BibTeX-Formate sind im korrespondierenden +% Paket \texttt{mlbib.sty} definiert (vgl. das Anwendungsbeispiel \ref{usebst}). +% Das Paket arbeitet mit dem \verb+german.sty+ zusammen. +% Ist dieser bereits geladen, oder kann dieses Paket durch +% \texttt{mlbib.sty} eingelesen werden, erfolgt die Auszeichnung des +% Literaturverzeichnisses in deutscher Sprache. +% Englische oder franz\"osische +% Abk\"urzungen k\"onnen durch die Befehle +% \verb+\selectlanguage{+\emph{english}\verb+}+ oder +% \verb+\selectlanguage{+\emph{french}\verb+}+ angefordert werden. +% Kann der \texttt{german.sty} nicht gelesen werden, benutzt das +% Paket englische Krzel im Literaturverzeichnis. +% +% \DescribeEnv{multilingual} +% \DescribeEnv{singlelingual} +% Die \BibTeX-Formate unterst\"utzen ein zus\"atzliches optionales +% \verb+language+ Feld zur Angabe der Sprache (\texttt{english}, +% \texttt{french} oder \texttt{german}), in welcher der Text erschienen ist. +% Die Angabe empfiehlt sich, da bei nicht englischsprachigen +% Texten eine Umwandlung bestimmter Titel (Artikel, Arbeitspapiere etc.) +% in kleine Buchstaben unterbleibt. +% Ferner bewirkt dieser Eintrag, da\ss{} die K\"urzel +% im Literaturverzeichnis in der jeweiligen Sprache erscheinen. +% Dies ist die Voreinstellung \verb+multilingual+ des Paketes +% \texttt{mlbib.sty} +% Fehlt das Feld \verb+language+ im Datenbankeintrag +% wird die voreingestellte +% Sprache des Dokumentes benutzt. Soll das Literaturverzeichnis +% durchg\"angig in einer Sprache gesetzt werden, obwohl in der +% Datenbank \texttt{language} Felder spezifiziert sind, ist die +% Paket-Option \verb+singlelingual+ anzugeben. +% +% \ifsolodoc \section{Layout\"anderungen} \else +% \subsection{Layout\"anderungen} \fi +% +% \DescribeEnv{thesis} +% \DescribeEnv{journal} +% \DescribeEnv{paper} +% Das Layout der Literaturlisten und der Zitate ist vermittels +% einiger vorgefertigter Option leicht zu „ndern. Die Paket-Optionen +% \texttt{thesis}, \texttt{journal} und \texttt{paper} erzeugen in +% Zusammenarbeit mit dem entsprechenden \BibTeX-Format die in +% šbersicht \ref{examplebib} vorgestellten Stilvarianten. +% +% Zur individuellen Anpassung der Zitierstile stehen einige Befehle +% zur Verfgung, die in Tabelle \ref{bblpunct} zusammengestellt +% sind. Das Kommando \verb+\bblfont{+\emph{schriftart}\verb+}+ dient +% beispielsweise der Žnderung der Schriftgr”áe des +% Literaturverzeichnisses. +% +% +%\begin{table}[htb]\centering \small +%\caption{\label{bblpunct}Einstellung von Schriftarten und Punktierungen} +%\begin{tabular}{ll} +%\hline +%\verb+\bblfont{+\emph{bibliography}\verb+}+ & \verb+\citeauthorfont{+\emph{author}\verb+}+ \\ +%\verb+\bblauthorfont{+\emph{author}\verb+}+ & \verb+\citebetween{+\emph{between cites}\verb+}+ \\ +%\verb+\bbltitlefont{+\emph{title}\verb+}+ & \verb+\citeleft{+\emph{(* cite}\verb+}+ \\ +%\verb+\bblvolumefont{+\emph{volume}\verb+}+ & \verb+\citeright{+\emph{cite *)}\verb+}+ \\ +%\verb+\bblleft{+\emph{( * year}\verb+}+ & \verb+\citeasnounleft{+\emph{Name (* year}\verb+}+ \\ +%\verb+\bblright{+\emph{year * )}\verb+}+ & \verb+\citeasnounright{+\emph{year *)}\verb+}+ \\ +% +%\hline +%\end{tabular} +%\end{table} +% +% Die Voreinstellungen in der Stiloption \texttt{thesis} +% lauten f\"ur das Literaturverzeichnis: +% +% \begin{itemize} +% \item \verb+\bblfont{\small}+ , +% \item \verb+\bblauthorfont{}+, +% \item \verb+\bbltitlefont{\itshape}+, +% \item \verb+\bblvolumefont{\bfseries}+, +% \item \verb+\bblleft{(}+, +% \item \verb+\bblright{)}+. +% \end{itemize} +% +% Entsprechend wird die gesamte Literaturliste in kleinerer Schrift gesetzt, +% die Autoren werden nicht hervorgehoben, dagegen werden +% Titel bzw. Zeitschriften +% durch Kursivdruck und Jahrg\"ange durch Fettdruck betont. +% Das Erscheinungsjahr wird in Klammern gesetzt. +% Bez\"uglich der Zitate sind bei dieser Option die Befehle +% +% \begin{itemize} +% \item \verb+\citeauthorfont{\itshape}+, +% \item \verb+\citebetween{; }+, +% \item \verb+\citeleft{}+, +% \item \verb+\citeright{}+, +% \item \verb+\citeasnounleft{(}+ und +% \item \verb+\citeasnounright{)}+ +% \end{itemize} +% +% voreingestellt. +% Autoren werden im Text entsprechend durch kursive Typen hervorgehoben, +% mehrere Zitate werden durch Semikolon getrennt und das gesamte Zitat +% wird im Fall des Befehls \verb|\cite| nicht in Klammern gesetzt. +% Bei der Sternform des Befehls bzw. dem Kommando \verb+\citeasnoun+ +% werden dagegen runde Klammern verwendet. +% +% \DescribeEnv{smallskip} +% \DescribeEnv{noskip} +% Zwei weitere Optionen untersttzen die Ver„nderung der vertikalen +% Abst„nde zwischen den Listeneintr„gen im Literaturverzeichnis. Die +% Option \verb+smallskip+ fordert kleinere Abst„nde an; die Option +% \verb+noskip+ verzichtet v”llig auf Abst„nde. +% +% +% \ifsolodoc \section{Zeitschriftenk\"urzel} \else +% \subsection{Zeitschriftenk\"urzel} \fi +% +% Das Paket umfa\ss{}t ferner zwei Datenbanken, die eine Reihe +% Abk\"urzungen wichtiger sozial- und wirtschaftswissenschaftlicher +% Fachzeitschriften definieren. Die Datei \verb+thesis.bib+ enth\"alt +% die vollst\"andigen Namen der Zeitschriften, \verb+journal.bib+ die +% bibliographischen Kurzformen (bislang unvollst„ndig). +% Werden die Abk\"urzungen in der +% eigenen Literarturdatenbank benutzt, ist eine der beiden +% im Kommando \verb+\bibliography+ anzugeben. +% +% \StopEventually{% +% } +% +% \changes{thebbl~0.9b}{91/10/01}{Definitionen f\"ur journal.bst} +% \changes{thebbl~0.9c}{92/12/01}{Dokumentation im docstyle Format} +% \changes{thebbl~0.9d}{93/07/31}{Definitionen f\"ur paper.bst} +% \changes{mlbib~1.0}{1996/10/30}{Update fr \LaTeX2e} +% +% \ifsolodoc \section{Implementation} \else +% \subsection{Implementation} \fi +% \begin{macrocode} +%<*package> +% \end{macrocode} +% +% Das Makro beginnt mit der \"ublichen Terminalausgabe. +% +% \begin{macrocode} +\ProvidesPackage{mlbib} + [\filedate\space\fileversion\space% + LaTeX2e package (wm)] +% \end{macrocode} +% +% Benutzerschnittstelle zur Festlegung der Schriftgr\"o\ss{}en +% und Hervorhebungen im Literaturverzeichnis. +% +% \begin{macrocode} +\providecommand{\bblfont}[1]{\def\bblsize{#1}} \def\bblsize{} +\providecommand{\bblauthorfont}[1]{\def\bblnf{#1}} \def\bblnf{} +\providecommand{\bbltitlefont}[1]{\def\bbltf{#1}} \def\bbltf{} +\providecommand{\bblvolumefont}[1]{\def\bblvf{#1}} \def\bblvf{} +\providecommand{\bblleft}[1]{\def\bbllb{#1}} \def\bbllb{} +\providecommand{\bblright}[1]{\def\bblrb{#1}} \def\bblrb{} +% \end{macrocode} +% +% Benutzerschnittstelle f\"ur das Layout von Zitaten. +% +% \begin{macrocode} +\providecommand{\citeauthorfont}[1]{\def\citenf{#1}} \def\citenf{} +\providecommand{\citebetween}[1]{\def\citebet{#1}} \def\citebet{} +\providecommand{\citeleft}[1]{\def\citelb{#1}} \def\citelb{} +\providecommand{\citeright}[1]{\def\citerb{#1}} \def\citerb{} +\providecommand{\citeasnounleft}[1]{\def\citeanlb{#1}} \def\citeanlb{} +\providecommand{\citeasnounright}[1]{\def\citeanrb{#1}} \def\citeanrb{} +% \end{macrocode} +% +% Schalter, um zwischen ein- und mehrsprachigen +% Literaturverzeichnissen zu wechseln. +% +% \begin{macrocode} +\newif\if@multilanguage \@multilanguagetrue +% \end{macrocode} +% +% Schalter, um die Abst„nde der Listeneintr„ge zu beinflussen. +% +% \begin{macrocode} +\newif\if@smallskip \@smallskipfalse +\newif\if@noskip \@noskipfalse +% \end{macrocode} +% +% Definition optionaler Stile zur Auszeichnung des +% Literaturverzeichnisses und der Zitate. +% +% \begin{macrocode} +\DeclareOption{thesis}{ +\def\bblcaptionsenglish{% + \def\bbland{, and\ } + \def\bbled{ed.} + \def\bbleds{eds.} + \def\bblbyed{edited by} + \def\bblvol{vol.} + \def\bblVol{Vol.} + \def\bbljvol{} + \def\bblno{no.} + \def\bblNo{No.} + \def\bbledit{edition} + \def\bblp{p.} + \def\bblpp{pp.} + \def\bblchap{chapter} + \def\bbltrep{Technical Report} + \def\bblmth{Master's thesis} + \def\bblphd{Ph.~D. thesis} + \def\bbllq{``} + \def\bblrq{''} + \def\citepp{,\ }} +\def\bblcaptionsfrench{% + \def\bbland{\ et\ } + \def\bbled{r\'{e}d.} + \def\bbleds{r\'{e}ds.} + \def\bblbyed{edit\'e par } + \def\bblvol{tome} + \def\bblVol{tm.} + \def\bbljvol{} + \def\bblno{no.} + \def\bblNo{No.} + \def\bbledit{\'{e}dition} + \def\bblp{page} + \def\bblpp{pages} + \def\bblchap{chapitre} + \def\bbltrep{Papier d'\'{e}tudes} + \def\bblmth{Th\`{e}se du dipl\^{o}me} + \def\bblphd{Th\`{e}se du doctorat} + \def\bbllq{\flqq} + \def\bblrq{\frqq} + \def\citepp{,\ }} +\def\bblcaptionsgerman{% + \def\bbland{\ und\ } + \def\bbled{Hrsg.} + \def\bbleds{Hrsg.} + \def\bblbyed{hrsg. von } + \def\bblvol{Bd.} + \def\bblVol{Bd.} + \def\bbljvol{} + \def\bblno{Nr.} + \def\bblNo{Nr.} + \def\bbledit{Auf\/lage} + \def\bblp{S.} + \def\bblpp{S.} + \def\bblchap{Kapitel} + \def\bbltrep{Arbeitspapier} + \def\bblmth{Diplomarbeit} + \def\bblphd{Dissertation} + \def\bbllq{\glqq} + \def\bblrq{\grqq} + \def\citepp{, S.\ }}%%% + \bblfont{\small} + \bblauthorfont{} + \bbltitlefont{\itshape} + \bblvolumefont{\bfseries} + \bblleft{(} \bblright{)} + \citeauthorfont{\itshape} + \citebetween{; } + \citeleft{} \citeright{} + \citeasnounleft{(} \citeasnounright{)} +}%%%%%%%%%%%%%%%%%%%%%% +\DeclareOption{journal}{ +\def\bblcaptionsenglish{% + \def\bbland{\ \&\ } + \def\bbled{ed.} + \def\bbleds{eds.} + \def\bblbyed{ed. by} + \def\bblvol{vol.} + \def\bblVol{Vol.} + \def\bbljvol{} + \def\bblno{no.} + \def\bblNo{No.} + \def\bbledit{edition} + \def\bblp{} + \def\bblpp{} + \def\bblchap{chap.} + \def\bbltrep{Tech. rep.} + \def\bblmth{Master's thesis} + \def\bblphd{PhD thesis} + \def\bbllq{} + \def\bblrq{} + \def\citepp{,\ }} +\def\bblcaptionsfrench{% + \def\bbland{\ \&\ } + \def\bbled{r\'{e}d.} + \def\bbleds{r\'{e}ds.} + \def\bblbyed{edit\'e par} + \def\bblvol{tome} + \def\bblVol{tm.} + \def\bbljvol{} + \def\bblno{no.} + \def\bblNo{No.} + \def\bbledit{\'{e}dition} + \def\bblp{} + \def\bblpp{} + \def\bblchap{chap.} + \def\bbltrep{Papier d'\'{e}tudes} + \def\bblmth{Th\`{e}se du dipl\^{o}me} + \def\bblphd{Th\`{e}se du doctorat} + \def\bbllq{} + \def\bblrq{} + \def\citepp{,\ }} +\def\bblcaptionsgerman{% + \def\bbland{\ \&\ } + \def\bbled{Hg.} + \def\bbleds{Hg.} + \def\bblbyed{hg. von} + \def\bblvol{Bd.} + \def\bblVol{Bd.} + \def\bbljvol{} + \def\bblno{Nr.} + \def\bblNo{Nr.} + \def\bbledit{Aufl.} + \def\bblp{} + \def\bblpp{} + \def\bblchap{Kap.} + \def\bbltrep{Arbeitspapier} + \def\bblmth{Diplomarbeit} + \def\bblphd{Diss.} + \def\bbllq{} + \def\bblrq{} + \def\citepp{,\ }} + \bblfont{\footnotesize} + \bblauthorfont{\scshape} + \bbltitlefont{} + \bblvolumefont{} + \bblleft{(} \bblright{)} + \citeauthorfont{\scshape} + \citebetween{; } + \citeleft{(} \citeright{)} + \citeasnounleft{(} \citeasnounright{)} +}%%%%%%%%%%%%%%%%%%%%%% +\DeclareOption{paper}{ +\def\bblcaptionsenglish{% + \def\bbland{, and\ } + \def\bbled{(ed.)} + \def\bbleds{(eds.)} + \def\bblbyed{edited by} + \def\bblvol{vol.} + \def\bblVol{Vol.} + \let\bbljvol\bblvol + \def\bblno{no.} + \def\bblNo{No.} + \def\bbledit{edition} + \def\bblp{p.} + \def\bblpp{pp.} + \def\bblchap{chapter} + \def\bbltrep{Technical Report} + \def\bblmth{Master's thesis} + \def\bblphd{Ph.~D. thesis} + \def\bbllq{} + \def\bblrq{} + \def\citepp{,\ }} +\def\bblcaptionsfrench{% + \def\bbland{\ et\ } + \def\bbled{r\'{e}d.} + \def\bbleds{r\'{e}ds.} + \def\bblbyed{edit\'e par} + \def\bblvol{tome} + \def\bblVol{tm.} + \def\bbljvol{} + \def\bblno{no.} + \let\bbljvol\bblvol + \def\bblno{no.} + \def\bblNo{No.} + \def\bbledit{\'{e}dition} + \def\bblp{} + \def\bblpp{} + \def\bblchap{chapitre} + \def\bbltrep{Papier d'\'{e}tudes} + \def\bblmth{Th\`{e}se du dipl\^{o}me} + \def\bblphd{Th\`{e}se du doctorat} + \def\bbllq{} + \def\bblrq{} + \def\citepp{,\ }} +\def\bblcaptionsgerman{% + \def\bbland{\ und\ } + \def\bbled{(Hrsg.)} + \def\bbleds{(Hrsg.)} + \def\bblbyed{hrsg. von} + \def\bblvol{Bd.} + \def\bblVol{Bd.} + \def\bbljvol{Jg.} + \def\bblno{Nr. } + \def\bblNo{Nr. } + \def\bbledit{Aufl.} + \def\bblp{S.} + \def\bblpp{S.} + \def\bblchap{Kap.} + \def\bbltrep{Arbeitspapier} + \def\bblmth{Diplomarbeit} + \def\bblphd{Dissertation} + \def\bbllq{} + \def\bblrq{} + \def\citepp{, S.\ }}%%% + \bblfont{\small} + \bblauthorfont{\itshape} + \bbltitlefont{} + \bblvolumefont{} + \bblleft{} \bblright{} + \citeauthorfont{\itshape} + \citebetween{; } + \citeleft{(} \citeright{)} + \citeasnounleft{(} \citeasnounright{)} +} +\DeclareOption{multilingual}{\@multilanguagetrue} +\DeclareOption{singlelingual}{\@multilanguagefalse} +\DeclareOption{smallskip}{\@smallskiptrue} +\DeclareOption{noskip}{\@noskiptrue\@smallskiptrue} +\DeclareOption{normalskip}{\@smallskipfalse} +\ExecuteOptions{thesis,multilingual,normalskip} +\ProcessOptions +% \end{macrocode} +% +% Es folgen die Definitionen zur Sprachanpassung. Sofern das +% \verb+german+-Paket nicht eingelesen wurde, wird versucht +% dieses zu ”ffnen. Gelingt dies nicht, erfolgt eine Warnung und die +% Ausgabe aller Auszeichnungen erfolgt in englischer Sprache. +% +% \begin{macrocode} +\@ifundefined{mdqon}{% + \InputIfFileExist{german}{}{}}{} +\@ifundefined{mdqon}{% + \@warning{Style option `german' undefined,} + \typeout{\@spaces\@spaces\@spaces\space\space\space + Using english captions in the bibliography.} + \let\bblenglish=\bblcaptionsenglish + \let\bblfrench=\bblcaptionsenglish + \let\bblgerman=\bblcaptionsenglish + \bblenglish +}{ +% \end{macrocode} +% Andernfalls werden die in \texttt{german.sty} definierten +% \verb+\extras+\emph{language\/} Befehle \"ubernommen und +% um die entsprechenden \verb+\bblcaptions+\emph{language\/} +% erg\"anzt. Diese werden im Makro \verb+\p@selectlanguage+ +% zur Spracheinstellung benutzt. Ferner wird ein Kommando +% \verb+\frenchTeX+ definiert, da\ss{} die Befehle zur Erzeugung +% von Umlauten umstellt und die Sprachumschaltung aktiviert. +% \begin{macrocode} + \def\extrasUSenglish{\bblcaptionsenglish} + \def\extrasenglish{\bblcaptionsenglish} + \def\extrasgerman{\frenchspacing + \lefthyphenmin\tw@ \righthyphenmin\tw@ \bblcaptionsgerman} + \let\extrasaustrian=\extrasgerman + \def\extrasfrench{\frenchspacing \bblcaptionsfrench} + \def\frenchTeX{\mdqoff \let"\dq \umlauthigh \let\3\original@three + \selectlanguage{french}} +% \end{macrocode} +% +% Die Abfrage definiert die von den \BibTeX-Formaten erzeugten +% Kommandos als Sprachumschalter. Dies ist gleichzeitig die +% Voreinstellung. +% \begin{macrocode} + \if@multilanguage + \let\bblenglish=\originalTeX + \let\bblfrench=\frenchTeX + \let\bblgerman=\germanTeX + \else +% \end{macrocode} +% +% Der Else-Zweig hebt die Wirkung der von den \BibTeX-Formaten erzeugten +% Kommandos auf. +% \begin{macrocode} + \let\bblenglish=\relax + \let\bblfrench=\relax + \let\bblgerman=\relax + \fi +% \end{macrocode} +% +% Abschlie\ss{}end wird die im Dokument gew\"ahlte Sprache aktiviert, +% um bei fehlenden \texttt{language} Eintr\"agen in der Datenbank +% diese Sprache voreinzustellen. +% \begin{macrocode} + \ifnum\language=\l@german + \selectlanguage{german} + \else\ifnum\language=\l@austrian + \selectlanguage{austrian} + \else\ifnum\language=\l@french + \selectlanguage{french} + \else\ifnum\language=\l@english + \selectlanguage{english} + \else + \selectlanguage{USenglish} + \fi\fi\fi\fi +} +% \end{macrocode} +% Ggf. wird der Name des Literaturverzeichnisses voreingestellt. +% \begin{macrocode} +\@ifundefined{bibname}{\def\bibname{Bibliography}}{} +% \end{macrocode} +% Definition der Literaturliste entsprechend dem \texttt{apalike.sty} +% von Patashnik/King. Die Definition erfolgt in Abh\"angigkeit von +% der Stilart (chapter), der Stiloption \texttt{cbib} +% (vgl. \texttt{thesis.cls}) und der Stiloption \texttt{journal} +% (vgl. \texttt{journal.cls}. +% +% \begin{macrocode} + + + +\newdimen\bibhang \setlength{\bibhang}{2em} +\@ifundefined{chapter}{% + \def\thebibliography#1{% + \section*{\refname\@mkboth{\refname}{\refname}}\list + {\relax}{\setlength{\labelsep}{0em} + \if@smallskip + \setlength{\itemsep}{0\p@ plus .07em} + \if@noskip + \setlength{\parsep}{0\p@ plus .07em} + \fi + \fi + \setlength{\itemindent}{-\bibhang} + \setlength{\leftmargin}{\bibhang}} + \def\newblock{\hskip .11em plus .33em minus .07em} + \sloppy\clubpenalty4000\widowpenalty4000 + \sfcode`\.=1000\relax}}{% + \def\thebibliography#1{% + \chapter*{\bibname\@mkboth{\bibname}{\bibname}}\list + {\relax}{\setlength{\labelsep}{0em} + \if@smallskip + \setlength{\itemsep}{0\p@ plus .07em} + \if@noskip + \setlength{\parsep}{0\p@ plus .07em} + \fi + \fi + \setlength{\itemindent}{-\bibhang} + \setlength{\leftmargin}{\bibhang}} + \def\newblock{\hskip .11em plus .33em minus .07em} + \sloppy\clubpenalty4000\widowpenalty4000 + \sfcode`\.=1000\relax}} +\@ifundefined{option@cbib}{}{ + \def\thebibliography#1{% + \section*{\refname% + \@ifundefined{option@journal}{\@mkboth{\refname}{\refname}}{}} + \list + {\relax}{\setlength{\labelsep}{0em} + \if@smallskip + \setlength{\itemsep}{0\p@ plus .07em} + \if@noskip + \setlength{\parsep}{0\p@ plus .07em} + \fi + \fi + \setlength{\itemindent}{-\bibhang} + \setlength{\leftmargin}{\bibhang}} + \def\newblock{\hskip .11em plus .33em minus .07em} + \sloppy\clubpenalty4000\widowpenalty4000 + \sfcode`\.=1000\relax}} +% \end{macrocode} +% Fehlt jeglicher Eintrag erfolgt eine Warnung. +% \begin{macrocode} +\def\endthebibliography{% + \def\@noitemerr{\@warning{Empty `thebibliography' environment}}% + \endlist} +% \end{macrocode} +% Die Labels erscheinen nicht im Literaturverzeichnis. +% \begin{macrocode} +\def\@biblabel#1{} +% \end{macrocode} +% Zitate werden nicht geklammert. Bei mehreren Referenzen wird der +% Befehl \verb+\citebet+ eingef\"ugt. +% \begin{macrocode} +\def\@citex[#1]#2{% + \if@filesw\immediate\write\@auxout{\string\citation{#2}}\fi% + \def\@citea{}\@cite{\@for\@citeb:=#2\do{\@citea\def\@citea{\citebet{}}% + \@ifundefined{b@\@citeb}{{\@eB\textbf{?}}\@warning% + {Citation `\@citeb' on page \thepage \space undefined}}% +{\csname b@\@citeb\endcsname}}}{#1}} +% \end{macrocode} +% Definition der Zitierkommandos. +% \begin{macrocode} +\let\@internalcite\cite +\def\cite{\@ifstar{\citeasnoun}{\new@cite}} +\def\new@cite{\def\@citeseppen{-1000}% + \def\@cite##1##2{\citelb##1\if@tempswa\citepp ##2\fi\citerb }% + \def\citeauthoryear##1##2{{\citenf ##1} ##2}\def\@eB{}\@internalcite}% +\def\citeasnoun{\def\@citeseppen{-1000}% + \def\@cite##1##2{##1\if@tempswa\citepp ##2\citeanrb\else\citeanrb\fi}% + \def\citeauthoryear##1##2{{\citenf ##1} \citeanlb##2}% + \def\@eB{(}\@internalcite} +\def\citeyear{\def\@citeseppen{-1000}% + \def\@cite##1##2{##1\if@tempswa\citepp ##2\fi}% + \def\citeauthoryear##1##2{##2}\def\@eB{}\@internalcite} +\def\citeauthor{\def\@citeseppen{-1000}% + \def\@cite##1##2{##1\if@tempswa\citepp ##2\fi}% + \def\citeauthoryear##1##2{{\citenf ##1}}\def\@eB{}\@internalcite} +% +%</package> +% \end{macrocode} +% +% \section{Treiber-Datei} +% +% Der letzte Abschnitt enth\"alt die Treiberdatei zur Erstellung der +% Dokumentation. +% \begin{macrocode} +%<*driver> +\typeout{******************************************} +\typeout{* Documentation for LaTeX package `mlbib' *} +\typeout{******************************************} + +\documentclass[11pt]{ltxdoc} +\usepackage{german} +\usepackage{mlbib} + +\makeatletter +\newif\ifsolodoc + \@ifundefined{solo}{\solodoctrue}{\solodocfalse} +\IndexPrologue{\section*{Index}% + \markboth{Index}{Index}% + Die kursiv gesetzten Seitenzahlen + verweisen auf Beschreibungen der Makros, + unterstrichene Programmzeilennummern + auf deren Definitionen.} +\GlossaryPrologue{\section*{Neuerungen}% + \markboth{Neuerungen}{Neuerungen}} +\def\saved@macroname{Neuerung} +\renewenvironment{theglossary}{% + \glossary@prologue% + \GlossaryParms \let\item\@idxitem \ignorespaces}% + {} +\makeatother +\setcounter{StandardModuleDepth}{1} +% \OnlyDescription +% \CodelineIndex +\CodelineNumbered +\RecordChanges +\setlength{\parindent}{0pt} +\begin{document} +\DocInput{mlbib.dtx} \newpage \PrintChanges % \newpage \PrintIndex +\end{document} +\endinput +%</driver> +% \end{macrocode} +%% \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 \~} +%% +% \Finale +% \endinput +# Local Variables: +# mode: latex +# End: + + diff --git a/macros/latex/contrib/mlbib/mlbib.pdf b/macros/latex/contrib/mlbib/mlbib.pdf Binary files differnew file mode 100644 index 0000000000..7f642e5c13 --- /dev/null +++ b/macros/latex/contrib/mlbib/mlbib.pdf diff --git a/macros/latex/contrib/mlbib/mlbib.sty b/macros/latex/contrib/mlbib/mlbib.sty new file mode 100644 index 0000000000..4dfe4cd948 --- /dev/null +++ b/macros/latex/contrib/mlbib/mlbib.sty @@ -0,0 +1,376 @@ +%% +%% This is file `mlbib.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% mlbib.dtx (with options: `package') +%% +%% Copyright (C) 1992, 1996 by Wenzel Matiaske, mati1831@perform.ww.tu-berlin.de +%% +%% You are not allowed to distribute this file without the +%% original source mlbib.dtx. For distribution of the +%% sources see the copyright notice in the file mlbib.dtx. +%% +\def\filename{mlbib} +\def\fileversion{1.0} +\def\filedate{1996/10/30} +\def\docdate{1995/10/30} + +\ProvidesPackage{mlbib} + [\filedate\space\fileversion\space% + LaTeX2e package (wm)] +\providecommand{\bblfont}[1]{\def\bblsize{#1}} \def\bblsize{} +\providecommand{\bblauthorfont}[1]{\def\bblnf{#1}} \def\bblnf{} +\providecommand{\bbltitlefont}[1]{\def\bbltf{#1}} \def\bbltf{} +\providecommand{\bblvolumefont}[1]{\def\bblvf{#1}} \def\bblvf{} +\providecommand{\bblleft}[1]{\def\bbllb{#1}} \def\bbllb{} +\providecommand{\bblright}[1]{\def\bblrb{#1}} \def\bblrb{} +\providecommand{\citeauthorfont}[1]{\def\citenf{#1}} \def\citenf{} +\providecommand{\citebetween}[1]{\def\citebet{#1}} \def\citebet{} +\providecommand{\citeleft}[1]{\def\citelb{#1}} \def\citelb{} +\providecommand{\citeright}[1]{\def\citerb{#1}} \def\citerb{} +\providecommand{\citeasnounleft}[1]{\def\citeanlb{#1}} \def\citeanlb{} +\providecommand{\citeasnounright}[1]{\def\citeanrb{#1}} \def\citeanrb{} +\newif\if@multilanguage \@multilanguagetrue +\newif\if@smallskip \@smallskipfalse +\newif\if@noskip \@noskipfalse +\DeclareOption{thesis}{ +\def\bblcaptionsenglish{% + \def\bbland{, and\ } + \def\bbled{ed.} + \def\bbleds{eds.} + \def\bblbyed{edited by} + \def\bblvol{vol.} + \def\bblVol{Vol.} + \def\bbljvol{} + \def\bblno{no.} + \def\bblNo{No.} + \def\bbledit{edition} + \def\bblp{p.} + \def\bblpp{pp.} + \def\bblchap{chapter} + \def\bbltrep{Technical Report} + \def\bblmth{Master's thesis} + \def\bblphd{Ph.~D. thesis} + \def\bbllq{``} + \def\bblrq{''} + \def\citepp{,\ }} +\def\bblcaptionsfrench{% + \def\bbland{\ et\ } + \def\bbled{r\'{e}d.} + \def\bbleds{r\'{e}ds.} + \def\bblbyed{edit\'e par } + \def\bblvol{tome} + \def\bblVol{tm.} + \def\bbljvol{} + \def\bblno{no.} + \def\bblNo{No.} + \def\bbledit{\'{e}dition} + \def\bblp{page} + \def\bblpp{pages} + \def\bblchap{chapitre} + \def\bbltrep{Papier d'\'{e}tudes} + \def\bblmth{Th\`{e}se du dipl\^{o}me} + \def\bblphd{Th\`{e}se du doctorat} + \def\bbllq{\flqq} + \def\bblrq{\frqq} + \def\citepp{,\ }} +\def\bblcaptionsgerman{% + \def\bbland{\ und\ } + \def\bbled{Hrsg.} + \def\bbleds{Hrsg.} + \def\bblbyed{hrsg. von } + \def\bblvol{Bd.} + \def\bblVol{Bd.} + \def\bbljvol{} + \def\bblno{Nr.} + \def\bblNo{Nr.} + \def\bbledit{Auf\/lage} + \def\bblp{S.} + \def\bblpp{S.} + \def\bblchap{Kapitel} + \def\bbltrep{Arbeitspapier} + \def\bblmth{Diplomarbeit} + \def\bblphd{Dissertation} + \def\bbllq{\glqq} + \def\bblrq{\grqq} + \def\citepp{, S.\ }}%%% + \bblfont{\small} + \bblauthorfont{} + \bbltitlefont{\itshape} + \bblvolumefont{\bfseries} + \bblleft{(} \bblright{)} + \citeauthorfont{\itshape} + \citebetween{; } + \citeleft{} \citeright{} + \citeasnounleft{(} \citeasnounright{)} +}%%%%%%%%%%%%%%%%%%%%%% +\DeclareOption{journal}{ +\def\bblcaptionsenglish{% + \def\bbland{\ \&\ } + \def\bbled{ed.} + \def\bbleds{eds.} + \def\bblbyed{ed. by} + \def\bblvol{vol.} + \def\bblVol{Vol.} + \def\bbljvol{} + \def\bblno{no.} + \def\bblNo{No.} + \def\bbledit{edition} + \def\bblp{} + \def\bblpp{} + \def\bblchap{chap.} + \def\bbltrep{Tech. rep.} + \def\bblmth{Master's thesis} + \def\bblphd{PhD thesis} + \def\bbllq{} + \def\bblrq{} + \def\citepp{,\ }} +\def\bblcaptionsfrench{% + \def\bbland{\ \&\ } + \def\bbled{r\'{e}d.} + \def\bbleds{r\'{e}ds.} + \def\bblbyed{edit\'e par} + \def\bblvol{tome} + \def\bblVol{tm.} + \def\bbljvol{} + \def\bblno{no.} + \def\bblNo{No.} + \def\bbledit{\'{e}dition} + \def\bblp{} + \def\bblpp{} + \def\bblchap{chap.} + \def\bbltrep{Papier d'\'{e}tudes} + \def\bblmth{Th\`{e}se du dipl\^{o}me} + \def\bblphd{Th\`{e}se du doctorat} + \def\bbllq{} + \def\bblrq{} + \def\citepp{,\ }} +\def\bblcaptionsgerman{% + \def\bbland{\ \&\ } + \def\bbled{Hg.} + \def\bbleds{Hg.} + \def\bblbyed{hg. von} + \def\bblvol{Bd.} + \def\bblVol{Bd.} + \def\bbljvol{} + \def\bblno{Nr.} + \def\bblNo{Nr.} + \def\bbledit{Aufl.} + \def\bblp{} + \def\bblpp{} + \def\bblchap{Kap.} + \def\bbltrep{Arbeitspapier} + \def\bblmth{Diplomarbeit} + \def\bblphd{Diss.} + \def\bbllq{} + \def\bblrq{} + \def\citepp{,\ }} + \bblfont{\footnotesize} + \bblauthorfont{\scshape} + \bbltitlefont{} + \bblvolumefont{} + \bblleft{(} \bblright{)} + \citeauthorfont{\scshape} + \citebetween{; } + \citeleft{(} \citeright{)} + \citeasnounleft{(} \citeasnounright{)} +}%%%%%%%%%%%%%%%%%%%%%% +\DeclareOption{paper}{ +\def\bblcaptionsenglish{% + \def\bbland{, and\ } + \def\bbled{(ed.)} + \def\bbleds{(eds.)} + \def\bblbyed{edited by} + \def\bblvol{vol.} + \def\bblVol{Vol.} + \let\bbljvol\bblvol + \def\bblno{no.} + \def\bblNo{No.} + \def\bbledit{edition} + \def\bblp{p.} + \def\bblpp{pp.} + \def\bblchap{chapter} + \def\bbltrep{Technical Report} + \def\bblmth{Master's thesis} + \def\bblphd{Ph.~D. thesis} + \def\bbllq{} + \def\bblrq{} + \def\citepp{,\ }} +\def\bblcaptionsfrench{% + \def\bbland{\ et\ } + \def\bbled{r\'{e}d.} + \def\bbleds{r\'{e}ds.} + \def\bblbyed{edit\'e par} + \def\bblvol{tome} + \def\bblVol{tm.} + \def\bbljvol{} + \def\bblno{no.} + \let\bbljvol\bblvol + \def\bblno{no.} + \def\bblNo{No.} + \def\bbledit{\'{e}dition} + \def\bblp{} + \def\bblpp{} + \def\bblchap{chapitre} + \def\bbltrep{Papier d'\'{e}tudes} + \def\bblmth{Th\`{e}se du dipl\^{o}me} + \def\bblphd{Th\`{e}se du doctorat} + \def\bbllq{} + \def\bblrq{} + \def\citepp{,\ }} +\def\bblcaptionsgerman{% + \def\bbland{\ und\ } + \def\bbled{(Hrsg.)} + \def\bbleds{(Hrsg.)} + \def\bblbyed{hrsg. von} + \def\bblvol{Bd.} + \def\bblVol{Bd.} + \def\bbljvol{Jg.} + \def\bblno{Nr. } + \def\bblNo{Nr. } + \def\bbledit{Aufl.} + \def\bblp{S.} + \def\bblpp{S.} + \def\bblchap{Kap.} + \def\bbltrep{Arbeitspapier} + \def\bblmth{Diplomarbeit} + \def\bblphd{Dissertation} + \def\bbllq{} + \def\bblrq{} + \def\citepp{, S.\ }}%%% + \bblfont{\small} + \bblauthorfont{\itshape} + \bbltitlefont{} + \bblvolumefont{} + \bblleft{} \bblright{} + \citeauthorfont{\itshape} + \citebetween{; } + \citeleft{(} \citeright{)} + \citeasnounleft{(} \citeasnounright{)} +} +\DeclareOption{multilingual}{\@multilanguagetrue} +\DeclareOption{singlelingual}{\@multilanguagefalse} +\DeclareOption{smallskip}{\@smallskiptrue} +\DeclareOption{noskip}{\@noskiptrue\@smallskiptrue} +\DeclareOption{normalskip}{\@smallskipfalse} +\ExecuteOptions{thesis,multilingual,normalskip} +\ProcessOptions +\@ifundefined{mdqon}{% + \InputIfFileExist{german}{}{}}{} +\@ifundefined{mdqon}{% + \@warning{Style option `german' undefined,} + \typeout{\@spaces\@spaces\@spaces\space\space\space + Using english captions in the bibliography.} + \let\bblenglish=\bblcaptionsenglish + \let\bblfrench=\bblcaptionsenglish + \let\bblgerman=\bblcaptionsenglish + \bblenglish +}{ + \def\extrasUSenglish{\bblcaptionsenglish} + \def\extrasenglish{\bblcaptionsenglish} + \def\extrasgerman{\frenchspacing + \lefthyphenmin\tw@ \righthyphenmin\tw@ \bblcaptionsgerman} + \let\extrasaustrian=\extrasgerman + \def\extrasfrench{\frenchspacing \bblcaptionsfrench} + \def\frenchTeX{\mdqoff \let"\dq \umlauthigh \let\3\original@three + \selectlanguage{french}} + \if@multilanguage + \let\bblenglish=\originalTeX + \let\bblfrench=\frenchTeX + \let\bblgerman=\germanTeX + \else + \let\bblenglish=\relax + \let\bblfrench=\relax + \let\bblgerman=\relax + \fi + \ifnum\language=\l@german + \selectlanguage{german} + \else\ifnum\language=\l@austrian + \selectlanguage{austrian} + \else\ifnum\language=\l@french + \selectlanguage{french} + \else\ifnum\language=\l@english + \selectlanguage{english} + \else + \selectlanguage{USenglish} + \fi\fi\fi\fi +} +\@ifundefined{bibname}{\def\bibname{Bibliography}}{} + +\newdimen\bibhang \setlength{\bibhang}{2em} +\@ifundefined{chapter}{% + \def\thebibliography#1{% + \section*{\refname\@mkboth{\refname}{\refname}}\list + {\relax}{\setlength{\labelsep}{0em} + \if@smallskip + \setlength{\itemsep}{0\p@ plus .07em} + \if@noskip + \setlength{\parsep}{0\p@ plus .07em} + \fi + \fi + \setlength{\itemindent}{-\bibhang} + \setlength{\leftmargin}{\bibhang}} + \def\newblock{\hskip .11em plus .33em minus .07em} + \sloppy\clubpenalty4000\widowpenalty4000 + \sfcode`\.=1000\relax}}{% + \def\thebibliography#1{% + \chapter*{\bibname\@mkboth{\bibname}{\bibname}}\list + {\relax}{\setlength{\labelsep}{0em} + \if@smallskip + \setlength{\itemsep}{0\p@ plus .07em} + \if@noskip + \setlength{\parsep}{0\p@ plus .07em} + \fi + \fi + \setlength{\itemindent}{-\bibhang} + \setlength{\leftmargin}{\bibhang}} + \def\newblock{\hskip .11em plus .33em minus .07em} + \sloppy\clubpenalty4000\widowpenalty4000 + \sfcode`\.=1000\relax}} +\@ifundefined{option@cbib}{}{ + \def\thebibliography#1{% + \section*{\refname% + \@ifundefined{option@journal}{\@mkboth{\refname}{\refname}}{}} + \list + {\relax}{\setlength{\labelsep}{0em} + \if@smallskip + \setlength{\itemsep}{0\p@ plus .07em} + \if@noskip + \setlength{\parsep}{0\p@ plus .07em} + \fi + \fi + \setlength{\itemindent}{-\bibhang} + \setlength{\leftmargin}{\bibhang}} + \def\newblock{\hskip .11em plus .33em minus .07em} + \sloppy\clubpenalty4000\widowpenalty4000 + \sfcode`\.=1000\relax}} +\def\endthebibliography{% + \def\@noitemerr{\@warning{Empty `thebibliography' environment}}% + \endlist} +\def\@biblabel#1{} +\def\@citex[#1]#2{% + \if@filesw\immediate\write\@auxout{\string\citation{#2}}\fi% + \def\@citea{}\@cite{\@for\@citeb:=#2\do{\@citea\def\@citea{\citebet{}}% + \@ifundefined{b@\@citeb}{{\@eB\textbf{?}}\@warning% + {Citation `\@citeb' on page \thepage \space undefined}}% +{\csname b@\@citeb\endcsname}}}{#1}} +\let\@internalcite\cite +\def\cite{\@ifstar{\citeasnoun}{\new@cite}} +\def\new@cite{\def\@citeseppen{-1000}% + \def\@cite##1##2{\citelb##1\if@tempswa\citepp ##2\fi\citerb }% + \def\citeauthoryear##1##2{{\citenf ##1} ##2}\def\@eB{}\@internalcite}% +\def\citeasnoun{\def\@citeseppen{-1000}% + \def\@cite##1##2{##1\if@tempswa\citepp ##2\citeanrb\else\citeanrb\fi}% + \def\citeauthoryear##1##2{{\citenf ##1} \citeanlb##2}% + \def\@eB{(}\@internalcite} +\def\citeyear{\def\@citeseppen{-1000}% + \def\@cite##1##2{##1\if@tempswa\citepp ##2\fi}% + \def\citeauthoryear##1##2{##2}\def\@eB{}\@internalcite} +\def\citeauthor{\def\@citeseppen{-1000}% + \def\@cite##1##2{##1\if@tempswa\citepp ##2\fi}% + \def\citeauthoryear##1##2{{\citenf ##1}}\def\@eB{}\@internalcite} +\endinput +%% +%% End of file `mlbib.sty'. diff --git a/macros/latex/contrib/mlbib/paper.bst b/macros/latex/contrib/mlbib/paper.bst new file mode 100644 index 0000000000..b6cc7595e1 --- /dev/null +++ b/macros/latex/contrib/mlbib/paper.bst @@ -0,0 +1,1182 @@ +FUNCTION {bye} +{ "BibTeX-style: `paper 0.1b' <30-10-96> (wm)" top$ + "German Documentation: `mlbib.dtx' <30-10-96> (wm)" top$ +} + +% BibTeX bibliography style `paper' + % version 0.99a for BibTeX versions 0.99a or later, LaTeX version 2.09. + % Copyright (C) 1991, 1993 all rights reserved. + % Copying of this file is authorized only if either + % (1) you make absolutely no changes to your copy, including name, or + % (2) if you do make changes, you name it something other than + % btxbst.doc, plain.bst, unsrt.bst, alpha.bst, abbrv.bst, + % paper.bst, journal.bst or thesis.bst. + % This restriction helps ensure that all standard styles are identical. + +% ACKNOWLEDGEMENT +% This document is a modified version of `apalike.bst' to which it +% owes much of its functionality. + +% USAGE +% The file `mlbib.dtx' has the german documentation for this style. + +% AUTHOR +% ___ +% wenzel matiaske | / /_/-Berlin +% | mail: Technical University Berlin +% | Dept. of Economics, WW6 +% | Uhlandstr. 4-5, D-10623 Berlin +% | phone: +49 30 314-22574 +% | email: mati1831@perform.ww.tu-berlin.de + +% HISTORY +% <0.1a> <31.07.93> +% <0.1b> <30.10.96> updates for mlbib package + +% NOTE +% There are undoubtably bugs in this program. Should you make +% improvements, bug fixes, etc., however, I ask you to send improvements +% back to me for incorporation into the macro for the rest of us. + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +ENTRY + { address + author + booktitle + chapter + edition + editor + howpublished + institution + journal + key + language +% month %%% not used in paper.bst + note + number + organization + pages +% publisher %%% not used in paper.bst + school + series + title + type + volume + year + } + {} + { label extra.label sort.label } + +INTEGERS { output.state before.all mid.sentence after.sentence after.block } + +FUNCTION {init.state.consts} +{ #0 'before.all := + #1 'mid.sentence := + #2 'after.sentence := + #3 'after.block := +} + +STRINGS { s t } + +FUNCTION {output.nonnull} +{ 's := + output.state mid.sentence = + { ", " * write$ } + { output.state after.block = + { add.period$ write$ + newline$ + "\newblock " write$ + } + { output.state before.all = + 'write$ + { add.period$ " " * write$ } + if$ + } + if$ + mid.sentence 'output.state := + } + if$ + s +} + +FUNCTION {output.nonnull.colon} +{ 's := + output.state mid.sentence = + { ": " * write$ } + { output.state after.block = + { ": " * write$ + newline$ + "\newblock " write$ + } + { output.state before.all = + 'write$ + { add.period$ " " * write$ } + if$ + } + if$ + mid.sentence 'output.state := + } + if$ + s +} + +FUNCTION {output} +{ duplicate$ empty$ + 'pop$ + 'output.nonnull + if$ +} + +FUNCTION {output.colon} +{ duplicate$ empty$ + 'pop$ + 'output.nonnull.colon + if$ +} + +FUNCTION {output.check} +{ 't := + duplicate$ empty$ + { pop$ "empty " t * " in " * cite$ * warning$ } + 'output.nonnull + if$ +} + +FUNCTION {output.check.colon} +{ 't := + duplicate$ empty$ + { pop$ "empty " t * " in " * cite$ * warning$ } + 'output.nonnull.colon + if$ +} + +FUNCTION {item.check} +{ 't := + empty$ + { "empty " t * " in " * cite$ * warning$ } + { skip$ } + if$ +} + +FUNCTION {output.bibitem} +{ newline$ + "\bibitem[" write$ + label write$ + "}]{" write$ + cite$ write$ + "}" write$ + newline$ + language empty$ + 'skip$ + { "{\bbl" language * write$ newline$ } + if$ + "" + before.all 'output.state := +} + +FUNCTION {fin.entry} +{ add.period$ + write$ + newline$ + language empty$ + 'skip$ + { "}" write$ newline$ } + if$ +} + +FUNCTION {new.block} +{ output.state before.all = + 'skip$ + { after.block 'output.state := } + if$ +} + +FUNCTION {new.sentence} +{ output.state after.block = + 'skip$ + { output.state before.all = + 'skip$ + { after.sentence 'output.state := } + if$ + } + if$ +} + +FUNCTION {shows} +{ duplicate$ ":::: `" swap$ * "'" * top$ +} + +FUNCTION {showstack} +{"STACK=====================================================================" +top$ +stack$ +"ENDSTACK==================================================================" +top$ +} + +FUNCTION {not} +{ { #0 } + { #1 } + if$ +} + +FUNCTION {and} +{ 'skip$ + { pop$ #0 } + if$ +} + +FUNCTION {or} +{ { pop$ #1 } + 'skip$ + if$ +} + +FUNCTION {new.block.checkb} +{ empty$ + swap$ empty$ + and + 'skip$ + 'new.block + if$ +} + +FUNCTION {field.or.null} +{ duplicate$ empty$ + { pop$ "" } + 'skip$ + if$ +} + +FUNCTION {bbltf} +{ duplicate$ empty$ + { pop$ "" } + { "{\bbltf " swap$ * "}" * } + if$ +} + +FUNCTION {bblvf} +{ duplicate$ empty$ + { pop$ "" } + { "{\bblvf " swap$ * "}" * } + if$ +} + +FUNCTION {bblquote} +{ duplicate$ empty$ + { pop$ "" } + { "\bbllqq" swap$ * "\bblrqq" * } + if$ +} + +INTEGERS { nameptr namesleft numnames } + +FUNCTION {format.names} +{ 's := + #1 'nameptr := + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr "{v.~}{ll}{, jj.}{, f.}" format.name$ 't := + nameptr #1 > + { namesleft #1 > + { "/" * t * } + { numnames #2 > + { "" * } + 'skip$ + if$ + t "others" = + { " et~al." * } + { "/" * t * } + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +} + +FUNCTION {format.in.names} +{ 's := + #1 'nameptr := + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr "{f.~}{v.~}{ll}{, jj.}" format.name$ 't := + nameptr #1 > + { namesleft #1 > + { ", " * t * } + { numnames #2 > + { "" * } + 'skip$ + if$ + t "others" = + { " et~al." * } + { "}\bbland {\bblnf " * t * } + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +} + +FUNCTION {output.year.check} +{ year empty$ + { "empty year in " cite$ * warning$ } + { write$ + ", " year * extra.label * + } + if$ +} + +FUNCTION {format.key} +{ empty$ + { key field.or.null } + { "" } + if$ +} + +FUNCTION {format.authors} +{ author empty$ + { "" } + { "{\bblnf " * author format.names * "}" } + if$ +} + +FUNCTION {format.editors} +{ editor empty$ + { "" } + { "{\bblnf " * editor format.names * "}" + editor num.names$ #1 > + { " \bbleds" * } + { " \bbled" * } + if$ + } + if$ +} + +FUNCTION {format.in.editors} +{ editor empty$ + { "" } + { "\bblbyed\ {\bblnf " editor format.in.names * "\/}" * } + if$ +} + +FUNCTION {format.title} +{ title empty$ + { "" } + { language empty$ % default english + { "\bbllq " title "t" change.case$ * "\bblrq" * } % language empty, then lower case + { language "english" = % non empty, equal english + { "\bbllq " title "t" change.case$ * "\bblrq" * } % then lower case, + { "\bbllq " title * "\bblrq" * } % else title + if$ + } + if$ + } + if$ +} + +FUNCTION {n.dashify} +{ 't := + "" + { t empty$ not } + { t #1 #1 substring$ "-" = + { t #1 #2 substring$ "--" = not + { "--" * + t #2 global.max$ substring$ 't := + } + { { t #1 #1 substring$ "-" = } + { "-" * + t #2 global.max$ substring$ 't := + } + while$ + } + if$ + } + { t #1 #1 substring$ * + t #2 global.max$ substring$ 't := + } + if$ + } + while$ +} + +FUNCTION {format.btitle} +{ title bbltf +} + +FUNCTION {tie.or.space.connect} +{ duplicate$ text.length$ #3 < + { "~" } + { " " } + if$ + swap$ * * +} + +FUNCTION {either.or.check} +{ empty$ + 'pop$ + { "can't use both " swap$ * " fields in " * cite$ * warning$ } + if$ +} + +FUNCTION {format.bvolume} +{ volume empty$ + { "" } + { series empty$ + { "\bblVol~" volume * } + { ". " * series bbltf * "\bblvol~" volume * } + if$ + } + if$ +} + +FUNCTION {format.number.series} +{ volume empty$ + { number empty$ + { series field.or.null } + { output.state mid.sentence = + { "\bblno " } + { "\bblNo " } + if$ + number tie.or.space.connect + series empty$ + { "there's a number but no series in " cite$ * warning$ } + { ", " * series * } + if$ + } + if$ + } + { "" } + if$ +} + +FUNCTION {format.edition} +{ edition empty$ + { "" } + { output.state mid.sentence = + { edition "l" change.case$ " \bbledit" * } + { edition "t" change.case$ " \bbledit" * } + if$ + } + if$ +} + +INTEGERS { multiresult } + +FUNCTION {multi.page.check} +{ 't := + #0 'multiresult := + { multiresult not + t empty$ not + and + } + { t #1 #1 substring$ + duplicate$ "-" = + swap$ duplicate$ "," = + swap$ "+" = + or or + { #1 'multiresult := } + { t #2 global.max$ substring$ 't := } + if$ + } + while$ + multiresult +} + +FUNCTION {format.pages} +{ pages empty$ + { "" } + { pages multi.page.check + { "\bblpp~" pages n.dashify * } + { "\bblp~" pages * } + if$ + } + if$ +} + +FUNCTION {format.volume} +{ volume empty$ + { "" } + { language empty$ + { "\bblvol~" volume * } + { language "german" = + { volume "~\bbljvol" * } + { "\bblvol~" volume * } + if$ + } + if$ + } + if$ +} + +FUNCTION {format.chapter.pages} +{ chapter empty$ + 'format.pages + { type empty$ + { "chapter" } + { type "l" change.case$ } + if$ + chapter tie.or.space.connect + pages empty$ + 'skip$ + { ", " * format.pages * } + if$ + } + if$ +} + +FUNCTION {format.in.booktitle} +{ booktitle empty$ + { "" } + { "In: " booktitle bbltf * } + if$ +} + +FUNCTION {format.thesis.type} +{ type empty$ + 'skip$ + { pop$ + type "t" change.case$ + } + if$ +} + +FUNCTION {format.tr.number} +{ type empty$ + { "\bbltrep " } + 'type + if$ + number empty$ + { "t" change.case$ } + { ", \bblno" * number tie.or.space.connect } + if$ +} + +FUNCTION {format.article.crossref} +{ "In:" + " \citeasnoun{" * crossref * "}" * +} + +FUNCTION {format.book.crossref} +{ volume empty$ + { "empty volume in " cite$ * "'s crossref of " * crossref * warning$ + "In: " + } + { "\bblVol" volume tie.or.space.connect + ", in: " * + } + if$ + "\citeasnoun{" * crossref * "}" * +} + +FUNCTION {format.incoll.inproc.crossref} +{ "In:" + " \citeasnoun{" * crossref * "}" * +} + +FUNCTION {article} +{ output.bibitem + format.authors "author" output.check + author format.key output + new.block + format.title "title" output.check.colon + new.block + crossref missing$ + { journal empty$ + { "empty journal in " cite$ * warning$ } + { " In: " journal bbltf * output } + if$ + format.volume output + number output + output.year.check + format.pages output + } + { format.article.crossref output.nonnull + format.pages output + } + if$ + new.block + note output + fin.entry +} + +FUNCTION {book} +{ output.bibitem + author empty$ + { format.editors "author and editor" output.check + editor format.key output + } + { format.authors output.nonnull + crossref missing$ + { "author and editor" editor either.or.check } + 'skip$ + if$ + } + if$ + new.block + format.btitle "title" output.check.colon + crossref missing$ + { format.bvolume output + new.block + format.number.series output + new.sentence + format.edition output + address "address" output.check + output.year.check + } + { new.block + format.book.crossref output.nonnull + } + if$ + new.sentence + note output + fin.entry +} + +FUNCTION {booklet} +{ output.bibitem + format.authors output + author format.key output + new.block + format.title "title" output.check.colon + new.block + howpublished output + address output + output.year.check + new.block + note output + fin.entry +} + +FUNCTION {inbook} +{ output.bibitem + author empty$ + { format.editors "author and editor" output.check + editor format.key output + } + { format.authors output.nonnull + crossref missing$ + { "author and editor" editor either.or.check } + 'skip$ + if$ + } + if$ + new.block + format.btitle "title" output.check.colon + crossref missing$ + { format.in.booktitle "booktitle" output.check + format.bvolume output + format.chapter.pages "chapter and pages" output.check + new.block + format.number.series output + new.sentence + format.edition output + address "address" output.check + output.year.check + } + { format.chapter.pages "chapter and pages" output.check + new.block + format.book.crossref output.nonnull + } + if$ + new.block + note output + fin.entry +} + +FUNCTION {incollection} +{ output.bibitem + format.authors "author" output.check + author format.key output + new.block + format.title "title" output.check.colon + new.block + crossref missing$ + { format.in.booktitle "booktitle" output.check + format.number.series output + format.bvolume output + format.in.editors output + new.sentence + format.edition output + address "address" output.check + output.year.check + format.chapter.pages output + } + { format.incoll.inproc.crossref output.nonnull + format.chapter.pages output + } + if$ + new.block + note output + fin.entry +} + +FUNCTION {inproceedings} +{ output.bibitem + format.authors "author" output.check + author format.key output + new.block + format.title "title" output.check.colon + new.block + crossref missing$ + { format.in.booktitle "booktitle" output.check + format.bvolume output + format.number.series output + format.pages output + organization output + new.sentence + address output + output.year.check + } + { format.incoll.inproc.crossref output.nonnull + format.pages output + } + if$ + new.block + note output + fin.entry +} + +FUNCTION {conference} { inproceedings } + +FUNCTION {manual} +{ output.bibitem + format.authors output + author format.key output + new.block + format.btitle "title" output.check.colon + organization address new.block.checkb + format.edition output + organization output + address output + output.year.check + new.block + note output + fin.entry +} + +FUNCTION {mastersthesis} +{ output.bibitem + format.authors "author" output.check + author format.key output + new.block + format.title "title" output.check.colon + new.block + "\bblmth" format.thesis.type output.nonnull + school "school" output.check + address output + output.year.check + new.block + note output + fin.entry +} + +FUNCTION {misc} +{ output.bibitem + format.authors output + author format.key output + new.block + format.title output.colon + new.block + howpublished output + output.year.check + new.block + note output + fin.entry +} + +FUNCTION {phdthesis} +{ output.bibitem + format.authors "author" output.check + author format.key output + new.block + format.btitle "title" output.check.colon + new.block + "\bblphd" format.thesis.type output.nonnull + school "school" output.check + address output + output.year.check + new.block + note output + fin.entry +} + +FUNCTION {proceedings} +{ output.bibitem + format.editors output + editor format.key output + new.block + format.btitle "title" output.check.colon + format.bvolume output + format.number.series output + new.sentence + organization output + address output + output.year.check + new.block + note output + fin.entry +} + +FUNCTION {techreport} +{ output.bibitem + format.authors "author" output.check + author format.key output + new.block + format.title "title" output.check.colon + new.block + format.tr.number output.nonnull + institution "institution" output.check + address output + output.year.check + new.block + note output + fin.entry +} + +FUNCTION {unpublished} +{ output.bibitem + format.authors "author" output.check + author format.key output + new.block + format.title "title" output.check.colon + new.block + output.year.check + note "note" output.check + fin.entry +} + +FUNCTION {default.type} { misc } + +MACRO {acmcs} {"ACM Computing Surveys"} + +MACRO {acta} {"Acta Informatica"} + +MACRO {cacm} {"Communications of the ACM"} + +MACRO {ibmjrd} {"IBM Journal of Research and Development"} + +MACRO {ibmsj} {"IBM Systems Journal"} + +MACRO {ieeese} {"IEEE Transactions on Software Engineering"} + +MACRO {ieeetc} {"IEEE Transactions on Computers"} + +MACRO {ieeetcad} + {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"} + +MACRO {ipl} {"Information Processing Letters"} + +MACRO {jacm} {"Journal of the ACM"} + +MACRO {jcss} {"Journal of Computer and System Sciences"} + +MACRO {scp} {"Science of Computer Programming"} + +MACRO {sicomp} {"SIAM Journal on Computing"} + +MACRO {tocs} {"ACM Transactions on Computer Systems"} + +MACRO {tods} {"ACM Transactions on Database Systems"} + +MACRO {tog} {"ACM Transactions on Graphics"} + +MACRO {toms} {"ACM Transactions on Mathematical Software"} + +MACRO {toois} {"ACM Transactions on Office Information Systems"} + +MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"} + +MACRO {tcs} {"Theoretical Computer Science"} + +READ + +FUNCTION {sortify} +{ purify$ + "l" change.case$ +} + +INTEGERS { len } + +FUNCTION {chop.word} +{ 's := + 'len := + s #1 len substring$ = + { s len #1 + global.max$ substring$ } + 's + if$ +} + +FUNCTION {format.lab.names} +{ 's := + s #1 "{vv~}{ll}" format.name$ + s num.names$ duplicate$ + #2 > + { pop$ " et~al." * } + { #2 < + 'skip$ + { s #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" = + { " et~al." * } + { "/" * s #2 "{vv~}{ll}" format.name$ * } + if$ + } + if$ + } + if$ +} + +FUNCTION {author.key.label} +{ author empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { author format.lab.names } + if$ +} + +FUNCTION {author.editor.key.label} +{ author empty$ + { editor empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { editor format.lab.names } + if$ + } + { author format.lab.names } + if$ +} + +FUNCTION {editor.key.label} +{ editor empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { editor format.lab.names } + if$ +} + +FUNCTION {calc.label} +{ type$ "book" = + type$ "inbook" = + or + 'author.editor.key.label + { type$ "proceedings" = + 'editor.key.label + 'author.key.label + if$ + } + if$ + "\protect\citeauthoryear{{\citenf " swap$ * "\/}}{" * + year field.or.null purify$ #-1 #4 substring$ + * + 'label := +} + +FUNCTION {sort.format.names} +{ 's := + #1 'nameptr := + "" + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { nameptr #1 > + { " " * } + 'skip$ + if$ + s nameptr "{vv{ } }{ll{ }}{ f{ }}{ jj{ }}" format.name$ 't := + nameptr numnames = t "others" = and + { "et al" * } + { t sortify * } + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +} + +FUNCTION {sort.format.title} +{ 't := + "A " #2 + "An " #3 + "The " #4 t chop.word + chop.word + chop.word + sortify + #1 global.max$ substring$ +} + +FUNCTION {author.sort} +{ author empty$ + { key empty$ + { "to sort, need author or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { author sort.format.names } + if$ +} + +FUNCTION {author.editor.sort} +{ author empty$ + { editor empty$ + { key empty$ + { "to sort, need author, editor, or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { editor sort.format.names } + if$ + } + { author sort.format.names } + if$ +} + +FUNCTION {editor.sort} +{ editor empty$ + { key empty$ + { "to sort, need editor or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { editor sort.format.names } + if$ +} + +FUNCTION {presort} +{ calc.label + label sortify + " " + * + type$ "book" = + type$ "inbook" = + or + 'author.editor.sort + { type$ "proceedings" = + 'editor.sort + 'author.sort + if$ + } + if$ + #1 entry.max$ substring$ + 'sort.label := + sort.label + * + " " + * + title field.or.null + sort.format.title + * + #1 entry.max$ substring$ + 'sort.key$ := +} + +ITERATE {presort} + +SORT + +STRINGS { last.label next.extra } + +INTEGERS { last.extra.num } + +FUNCTION {initialize.extra.label.stuff} +{ #0 int.to.chr$ 'last.label := + "" 'next.extra := + #0 'last.extra.num := +} + +FUNCTION {forward.pass} +{ last.label label = + { last.extra.num #1 + 'last.extra.num := + last.extra.num int.to.chr$ 'extra.label := + } + { "a" chr.to.int$ 'last.extra.num := + "" 'extra.label := + label 'last.label := + } + if$ +} + +FUNCTION {reverse.pass} +{ next.extra "b" = + { "a" 'extra.label := } + 'skip$ + if$ + label extra.label * 'label := + extra.label 'next.extra := +} + +EXECUTE {initialize.extra.label.stuff} + +ITERATE {forward.pass} + +REVERSE {reverse.pass} + +FUNCTION {bib.sort.order} +{ sort.label + " " + * + year field.or.null sortify + * + " " + * + title field.or.null + sort.format.title + * + #1 entry.max$ substring$ + 'sort.key$ := +} + +ITERATE {bib.sort.order} + +SORT + +FUNCTION {begin.bib} +{ preamble$ empty$ + 'skip$ + { preamble$ write$ newline$ } + if$ + "\begin{thebibliography}{} \bblsize" write$ newline$ +} + +EXECUTE {begin.bib} + +EXECUTE {init.state.consts} + +ITERATE {call.type$} + +FUNCTION {end.bib} +{ newline$ + "\end{thebibliography}" write$ newline$ +} + +EXECUTE {end.bib} + +EXECUTE {bye} + + + diff --git a/macros/latex/contrib/mlbib/readme.03 b/macros/latex/contrib/mlbib/readme.03 new file mode 100644 index 0000000000..53327ff51b --- /dev/null +++ b/macros/latex/contrib/mlbib/readme.03 @@ -0,0 +1,34 @@ +The files in the archive MLBIB.ZIP include the following +macros and files for LaTeX: + + INSTALL.03 Driver for Installing the package + LOCAL03.TEX Input to the local LaTeX-guide "`local.tex"' + MLBIB.STY LaTeX-style file MLBIB + MLBIB.DTX LaTeX-style files MLBIB in DOC.STY option format + MLBIB.DVI Documentation in dvi format + JOURNAL.BST BibTeX style file JOURNAL +(NR) JOURNAL.BIB BibTeX database of econ./psych./soc. journals (short form) + PAPER.BST BibTeX style file PAPER + THESIS.BST BibTeX style file THESIS + THESIS.BIB BibTeX database of econ./psych./soc. journals (long form) + README.03 This file + TEST03.TEX Example input text for MLBIB.STY + TEST03.BIB Example BibTeX Database + +Run `LaTeX install.03' for installing the package. Needs +the `docstrip' utility. + +Updates are available via anonymous ftp to host +`perform.ww.tu-berlin.de' or from CTAN. + ___ +wenzel matiaske | / /_/-Berlin + | mail: Technical University Berlin + | Dept. of Economics, WW6 + | Uhlandstr. 4-5, D-10623 Berlin + | phone: +49 30 314-22574 + | email: mati1831@perform.ww.tu-berlin.de + + + + + diff --git a/macros/latex/contrib/mlbib/test03.bbl b/macros/latex/contrib/mlbib/test03.bbl new file mode 100644 index 0000000000..2a6249a290 --- /dev/null +++ b/macros/latex/contrib/mlbib/test03.bbl @@ -0,0 +1,41 @@ +\providecommand{\noopsort}[1]{} \providecommand{\printfirst}[2]{#1} + \providecommand{\singleletter}[1]{#1} \providecommand{\switchargs}[2]{#2#1} +\begin{thebibliography}{} \bblsize + +\bibitem[\protect\citeauthoryear{{\citenf Aamport\/}}{1986}]{article-full} +{\bblenglish +{\bblnf Aamport, L.~A.}: +\newblock \bbllq The gnats and gnus document preparation system\bblrq. +\newblock In: {\bbltf \mbox{G-Animal's} Journal}, \bblvol~41, 7, 1986, + \bblpp~73+. +\newblock This is a full ARTICLE entry (language = english). +} + +\bibitem[\protect\citeauthoryear{{\citenf Knuth\/}}{1973}]{inbook-full} +{\bblenglish +{\bblnf Knuth, D.~E.}: +\newblock {\bbltf Fundamental Algorithms}. {\bbltf The Art of Computer + Programming}, \bblvol~1, section 1.2, \bblpp~10--119. +\newblock Second \bbledit, Reading, Massachusetts, {\noopsort{1973b}}1973. +\newblock This is a full INBOOK entry (language = english). +} + +\bibitem[\protect\citeauthoryear{{\citenf Knuth\/}}{1981}]{book-full} +{\bblenglish +{\bblnf Knuth, D.~E.}: +\newblock {\bbltf Seminumerical Algorithms}. {\bbltf The Art of Computer + Programming}, \bblvol~2. +\newblock Second \bbledit, Reading, Massachusetts, {\noopsort{1973c}}1981. This + is a full BOOK entry (language = english). +} + +\bibitem[\protect\citeauthoryear{{\citenf Lipcoll + et~al.\/}}{1977}]{whole-collection} +{\bblenglish +{\bblnf Lipcoll, D.~J./Lawrie, D.~H./Sameh, A.~H.} \bbleds: +\newblock {\bbltf High Speed Computer and Algorithm Organization}. +\newblock \bblNo ~23, Fast Computers. Third \bbledit, New York, 1977. This is a + cross-referenced BOOK (collection) entry (language = english). +} + +\end{thebibliography} diff --git a/macros/latex/contrib/mlbib/test03.bib b/macros/latex/contrib/mlbib/test03.bib new file mode 100644 index 0000000000..9b73f1ee4e --- /dev/null +++ b/macros/latex/contrib/mlbib/test03.bib @@ -0,0 +1,356 @@ +@ARTICLE{article-minimal, + author = {L[eslie] A. Aamport}, + title = {The Gnats and Gnus Document Preparation System}, + journal = {\mbox{G-Animal's} Journal}, + year = 1986, +} + +@ARTICLE{article-full, + author = {L[eslie] A. Aamport}, + title = {The Gnats and Gnus Document Preparation System}, + journal = {\mbox{G-Animal's} Journal}, + year = 1986, + volume = 41, + number = 7, + pages = "73+", + month = jul, + note = "This is a full ARTICLE entry (language = english)", + language = "english", +} + +The KEY field is here to override the KEY field in the journal being +cross referenced (so is the NOTE field, in addition to its imparting +information). + +@ARTICLE{article-crossref, + crossref = {WHOLE-JOURNAL}, + key = "", + author = {L[eslie] A. Aamport}, + title = {The Gnats and Gnus Document Preparation System}, + pages = "73+", + note = "This is a cross-referencing ARTICLE entry", +} + +@ARTICLE{whole-journal, + key = "GAJ", + journal = {\mbox{G-Animal's} Journal}, + year = 1986, + volume = 41, + number = 7, + month = jul, + note = {The entire issue is devoted to gnats and gnus + (this entry is a cross-referenced ARTICLE (journal))}, +} + +@INBOOK{inbook-minimal, + author = "Donald E. Knuth", + title = "Fundamental Algorithms", + publisher = "Addison-Wesley", + year = "{\noopsort{1973b}}1973", + chapter = "1.2", +} + +@INBOOK{inbook-full, + author = "Donald E. Knuth", + title = "Fundamental Algorithms", + volume = 1, + series = "The Art of Computer Programming", + publisher = "Addison-Wesley", + address = "Reading, Massachusetts", + edition = "Second", + month = "10~" # jan, + year = "{\noopsort{1973b}}1973", + type = "Section", + chapter = "1.2", + pages = "10--119", + note = "This is a full INBOOK entry (language = english)", + language = "english", +} + +@INBOOK{inbook-crossref, + crossref = "whole-set", + title = "Fundamental Algorithms", + volume = 1, + series = "The Art of Computer Programming", + edition = "Second", + year = "{\noopsort{1973b}}1973", + type = "Section", + chapter = "1.2", + note = "This is a cross-referencing INBOOK entry", +} + +@BOOK{book-minimal, + author = "Donald E. Knuth", + title = "Seminumerical Algorithms", + publisher = "Addison-Wesley", + year = "{\noopsort{1973c}}1981", +} + +@BOOK{book-full, + author = "Donald E. Knuth", + title = "Seminumerical Algorithms", + volume = 2, + series = "The Art of Computer Programming", + publisher = "Addison-Wesley", + address = "Reading, Massachusetts", + edition = "Second", + month = "10~" # jan, + year = "{\noopsort{1973c}}1981", + note = "This is a full BOOK entry (language = english)", + language = "english", +} + +@BOOK{book-crossref, + crossref = "whole-set", + title = "Seminumerical Algorithms", + volume = 2, + series = "The Art of Computer Programming", + edition = "Second", + year = "{\noopsort{1973c}}1981", + note = "This is a cross-referencing BOOK entry", +} + +@BOOK{whole-set, + author = "Donald E. Knuth", + publisher = "Addison-Wesley", + title = "The Art of Computer Programming", + series = "Four volumes", + year = "{\noopsort{1973a}}{\switchargs{--90}{1968}}", + note = "Seven volumes planned (this is a cross-referenced set of BOOKs)", +} + +@BOOKLET{booklet-minimal, + key = "Kn{\printfirst{v}{1987}}", + title = "The Programming of Computer Art", +} + +@BOOKLET{booklet-full, + author = "Jill C. Knvth", + title = "The Programming of Computer Art", + howpublished = "Vernier Art Center", + address = "Stanford, California", + month = feb, + year = 1988, + note = "This is a full BOOKLET entry", +} + +@INCOLLECTION{incollection-minimal, + author = "Daniel D. Lincoll", + title = "Semigroups of Recurrences", + booktitle = "High Speed Computer and Algorithm Organization", + publisher = "Academic Press", + year = 1977, +} + +@INCOLLECTION{incollection-full, + author = "Daniel D. Lincoll", + title = "Semigroups of Recurrences", + editor = "David J. Lipcoll and D. H. Lawrie and A. H. Sameh", + booktitle = "High Speed Computer and Algorithm Organization", + number = 23, + series = "Fast Computers", + chapter = 3, + type = "Part", + pages = "179--183", + publisher = "Academic Press", + address = "New York", + edition = "Third", + month = sep, + year = 1977, + note = "This is a full INCOLLECTION entry", +} + +@INCOLLECTION{incollection-crossref, + crossref = "whole-collection", + author = "Daniel D. Lincoll", + title = "Semigroups of Recurrences", + pages = "179--183", + note = "This is a cross-referencing INCOLLECTION entry", +} + +@BOOK{whole-collection, + editor = "David J. Lipcoll and D. H. Lawrie and A. H. Sameh", + title = "High Speed Computer and Algorithm Organization", + booktitle = "High Speed Computer and Algorithm Organization", + number = 23, + series = "Fast Computers", + publisher = "Academic Press", + address = "New York", + edition = "Third", + month = sep, + year = 1977, + note = "This is a cross-referenced BOOK (collection) entry + (language = english)", + language = "english", +} + +@MANUAL{manual-minimal, + key = "Manmaker", + title = "The Definitive Computer Manual", +} + +@MANUAL{manual-full, + author = "Larry Manmaker", + title = "The Definitive Computer Manual", + organization = "Chips-R-Us", + address = "Silicon Valley", + edition = "Silver", + month = apr # "-" # may, + year = 1986, + note = "This is a full MANUAL entry", +} + +@MASTERSTHESIS{mastersthesis-minimal, + author = "{\'{E}}douard Masterly", + title = "Mastering Thesis Writing", + school = "Stanford University", + year = 1988, +} + +@MASTERSTHESIS{mastersthesis-full, + author = "{\'{E}}douard Masterly", + title = "Mastering Thesis Writing", + school = "Stanford University", + type = "Master's project", + address = "English Department", + month = jun # "-" # aug, + year = 1988, + note = "This is a full MASTERSTHESIS entry", +} + +@MISC{misc-minimal, + key = "Missilany", + note = "This is a minimal MISC entry", +} + +@MISC{misc-full, + author = "Joe-Bob Missilany", + title = "Handing out random pamphlets in airports", + howpublished = "Handed out at O'Hare", + month = oct, + year = 1984, + note = "This is a full MISC entry", +} + +@STRING{STOC-key = "OX{\singleletter{stoc}}"} + +@STRING{ACM = "The OX Association for Computing Machinery"} + +@STRING{STOC = " Symposium on the Theory of Computing"} + +@INPROCEEDINGS{inproceedings-minimal, + author = "Alfred V. Oaho and Jeffrey D. Ullman and Mihalis Yannakakis", + title = "On Notions of Information Transfer in {VLSI} Circuits", + booktitle = "Proc. Fifteenth Annual ACM" # STOC, + year = 1983, +} + +@INPROCEEDINGS{inproceedings-full, + author = "Alfred V. Oaho and Jeffrey D. Ullman and Mihalis Yannakakis", + title = "On Notions of Information Transfer in {VLSI} Circuits", + editor = "Wizard V. Oz and Mihalis Yannakakis", + booktitle = "Proc. Fifteenth Annual ACM" # STOC, + number = 17, + series = "All ACM Conferences", + pages = "133--139", + month = mar, + year = 1983, + address = "Boston", + organization = ACM, + publisher = "Academic Press", + note = "This is a full INPROCEDINGS entry", +} + +@INPROCEEDINGS{inproceedings-crossref, + crossref = "whole-proceedings", + author = "Alfred V. Oaho and Jeffrey D. Ullman and Mihalis Yannakakis", + title = "On Notions of Information Transfer in {VLSI} Circuits", + organization = "", + pages = "133--139", + note = "This is a cross-referencing INPROCEEDINGS entry", +} + +@PROCEEDINGS{proceedings-minimal, + key = STOC-key, + title = "Proc. Fifteenth Annual" # STOC, + year = 1983, +} + +@PROCEEDINGS{proceedings-full, + editor = "Wizard V. Oz and Mihalis Yannakakis", + title = "Proc. Fifteenth Annual" # STOC, + number = 17, + series = "All ACM Conferences", + month = mar, + year = 1983, + address = "Boston", + organization = ACM, + publisher = "Academic Press", + note = "This is a full PROCEEDINGS entry", +} + +@PROCEEDINGS{whole-proceedings, + key = STOC-key, + organization = ACM, + title = "Proc. Fifteenth Annual" # STOC, + address = "Boston", + year = 1983, + booktitle = "Proc. Fifteenth Annual ACM" # STOC, + note = "This is a cross-referenced PROCEEDINGS", +} + +@PHDTHESIS{phdthesis-minimal, + author = "F. Phidias Phony-Baloney", + title = "Fighting Fire with Fire: Festooning {F}rench Phrases", + school = "Fanstord University", + year = 1988, +} + +@PHDTHESIS{phdthesis-full, + author = "F. Phidias Phony-Baloney", + title = "Fighting Fire with Fire: Festooning {F}rench Phrases", + school = "Fanstord University", + type = "{PhD} Dissertation", + address = "Department of French", + month = jun # "-" # aug, + year = 1988, + note = "This is a full PHDTHESIS entry", +} + +@TECHREPORT{techreport-minimal, + author = "Tom Terrific", + title = "An {$O(n \log n / \! \log\log n)$} Sorting Algorithm", + institution = "Fanstord University", + year = 1988, +} + +@TECHREPORT{techreport-full, + author = "Tom T{\'{e}}rrific", + title = "An {$O(n \log n / \! \log\log n)$} Sorting Algorithm", + institution = "Fanstord University", + type = "Wishful Research Result", + number = "7", + address = "Computer Science Department, Fanstord, California", + month = oct, + year = 1988, + note = "This is a full TECHREPORT entry", +} + +@UNPUBLISHED{unpublished-minimal, + author = "Ulrich {\"{U}}nderwood and Ned {\~N}et and Paul {\={P}}ot", + title = "Lower Bounds for Wishful Research Results", + note = "Talk at Fanstord University (this is a minimal UNPUBLISHED entry)", +} + +@UNPUBLISHED{unpublished-full, + author = "Ulrich {\"{U}}nderwood and Ned {\~N}et and Paul {\={P}}ot", + title = "Lower Bounds for Wishful Research Results", + month = nov # ", " # dec, + year = 1988, + note = "Talk at Fanstord University (this is a full UNPUBLISHED entry)", +} + +@MISC{random-note-crossref, + key = {Volume-2}, + note = "Volume~2 is listed under Knuth \cite{book-full}" +} diff --git a/macros/latex/contrib/mlbib/test03.tex b/macros/latex/contrib/mlbib/test03.tex new file mode 100644 index 0000000000..2a45b83dba --- /dev/null +++ b/macros/latex/contrib/mlbib/test03.tex @@ -0,0 +1,20 @@ +\documentclass[12pt]{article} + +\usepackage{german} +\usepackage[noskip,paper]{mlbib} + +% \bblsinglelingual + +\begin{document} + +In seinem aufsehenerregenden Artikel diskutiert +\citeasnoun{article-full} die Formatierung durch \emph{Gnats} und +\emph{Gnus}. Seine šberlegungen basieren auf der Arbeit von +\cite*[45~ff.]{book-full}. Weitere Vorarbeit leisteten +\cite*{whole-collection}. \nocite{inbook-full} + + +\bibliographystyle{paper} +\bibliography{thesis,test03} +\end{document} + diff --git a/macros/latex/contrib/mlbib/thesis.bib b/macros/latex/contrib/mlbib/thesis.bib new file mode 100644 index 0000000000..6957977f94 --- /dev/null +++ b/macros/latex/contrib/mlbib/thesis.bib @@ -0,0 +1,313 @@ +% thesis.bib 15-Dec-90 +% last modification 30-Oct-96 +% +% Copyright (C) 1990--1996 Wenzel Matiaske +% +% A short description of entry types for BibTeX database is included +% at the beginning of the database +% +% For general use of BibTeX see O. Patashnik ``btxbst.doc'' or +% L. Lamport ``LaTeX'' pp. 140-147 +% +% Please send bug fixes and enhancements to the address below: +% ___ +% wenzel matiaske | / /_/-Berlin +% | +% | mail: Technical University Berlin +% | Dept. of Economics & Management, WW6 +% | Uhlandstr. 4-5, D-10623 Berlin +% | phone: +49 30 314-22574 +% | fax: +49 30 314-21787 +% | email: W.Matiaske!ww!TU-Berlin!de +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% +%% Types of entries currently allowed in a BibTeX file: +%% +%% ARTICLE -- An article from a journal or magazine. +%% - required fields: author, title, journal, year. +%% - optional fields: volume, number, pages, month, note. +%% +%% BOOK -- A book with an explicit publisher. +%% - required: author or edititor, title, publisher, year. +%% - optional: volume, series, address, edition, month, note. +%% +%% BOOKLET -- A work that is printed and bound, +%% but without a named publisher or sponsoring institution. +%% - required: title. +%% - optional: author, howpublished, address, month, year, note. +%% +%% CONFERENCE -- The same as INPROCEEDINGS, +%% included for Scribe compatibility. +%% +%% INBOOK -- A part of a book, +%% which may be a chapter (or section or whatever) and/or a range of pages. +%% - required: author or editor, title, chapter and/or pages, +%% publisher, year. +%% - optional: volume, series, address, edition, month, note. +%% +%% INCOLLECTION -- A part of a book having its own title. +%% - required: author, title, booktitle, publisher, year. +%% - optional: editor, chapter, pages, address, month, note. +%% +%% INPROCEEDINGS -- An article in a conference proceedings. +%% - required: author, title, booktitle, year. +%% - optional: editor, pages, organization, publisher, address, +%% month, note. +%% +%% MANUAL -- Technical documentation. +%% - required: title. +%% - optional: author, organization, address, edition, month, +%% year, note. +%% +%% MASTERSTHESIS -- A Master's thesis. +%% - required: author, title, school, year. +%% - optional: address, month, note. +%% +%% MISC -- Use this type when nothing else fits. +%% - required: --- +%% - optional: author, title, howpublished, month, year, note. +%% +%% PHDTHESIS -- A PhD thesis. +%% - required: author, title, school, year. +%% - optional: address, month, note. +%% +%% PROCEEDINGS -- The proceedings of a conference. +%% - required: title, year. +%% - optional: editor, publisher, organization, address, month, note. +%% +%% TECHREPORT -- A report published by a school or other institution, +%% usually numbered within a series. +%% - required: author, title, institution, year. +%% - optional: type, number, address, month, note. +%% +%% UNPUBLISHED -- A document having an author and title, but not formally +%% published. +%% - required: author, title, note. +%% - optional: month, year. +%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +@string{aAW = "angewandte Arbeitswissenschaft"} +@string{ADMS = "Administration and Society"} +@string{AER = "American Economic Review"} +@string{AfK = "Archiv f{{\"u}}r Kommunalforschung???"} +@string{AJPS = "American Journal of Political Science"} +@string{AJS = "American Journal of Sociology"} +@string{AME = "Academy of Management Executive"} +@string{AMJ = "Academy of Management Journal"} +@string{AMR = "Academy of Management Review"} +@string{AP = "American Psychologist"} +@string{APSR = "American Political Science Review"} +@string{ARP = "Annual Review of Psychology"} +@string{ARS = "Annual Review of Sociology"} +@string{AS = "The American Sociologist"} +@string{ASQ = "Administrative Science Quarterly"} +@string{ASR = "American Sociological Review"} +@string{AdMJ = "Advanced Management Journal"} +@string{AfSW = "Archiv f{{\"u}}r Sozialwissenschaft und Sozialpolitik"} +@string{AuL = "Arbeit und Leistung"} +@string{BAnz = "Bundesanzeiger"} +@string{BB = "Betriebs Berater"} +@string{BFuP = "Betriebswirtschaftliche Forschung und Praxis"} +@string{BH = "Business Horizons"} +@string{BIOM = "Biometrika"} +@string{BJM = "British Journal of Management"} +@string{BJS = "British Journal of Sociology"} +@string{BS = "Behavioral Sciences"} +@string{BT-Dr = "Bundestagsdrucksache"} +@string{BW = "Der Betriebswirt"} +@string{CMR = "California Management Review"} +@string{DB = "Der Betrieb"} +@string{DBW = "Die Betriebswirtschaft"} +@string{DIAG = "Diagnostika"} +@string{DU = "Die Unternehmung"} +@string{DV = "Die Verwaltung"} +@string{DoV = "Die {{\"o}}ffentliche Verwaltung"} +@string{ECO = "Economica"} +@string{EER = "European Economic Review"} +@string{EaPM = "Educational and Psychological Measurement"} +@string{FB = "Fortschrittliche Betriebsf{{\"u}}hrung"} +@string{FB/IE = "Fortschrittliche Betriebsf{{\"u}}hrung/Industrial Engineering"} +@string{FUB = "Freie Universit{{\"a}}t Berlin"} +@string{GD = "Gruppendynamik"} +@string{GS = "General Systems"} +@string{HB = "Handelsblatt"} +@string{HBR = "Harvard Business Review"} +@string{HBS = "Harvard Business School"} +@string{HCR = "Human Communication Research"} +@string{HER = "Harvard Education Review"} +@string{HF = "Human Factors"} +@string{HIOP = "Handbook of Industrial and Organizational Psychology"} +@string{HIOP = "Handbook of Industrial and Organizational Psychology"} +@string{HM = "Harvard Manager"} +@string{HO = "Human Organization"} +@string{HOB = "The Handbook of Organizational Behavior"} +@string{HR = "Human Relations"} +@string{HRM = "Human Resource Management"} +@string{HSP = "The Handbook of Social Psychology"} +@string{HSR = "Historical Social Research"} +@string{HUB = "Humboldt Universit{{\"a}}t Berlin"} +@string{HWA = "Handw{{\"o}}rterbuch der Absatzwirtschaft"} +@string{HWB = "Handw{{\"o}}rterbuch der Betriebswirtschaft"} +@string{HWF = "Handw{{\"o}}rterbuch der F{{\"u}}hrung"} +@string{HWO = "Handw{{\"o}}rterbuch der Organisation"} +@string{HWP = "Handw{{\"o}}rterbuch des Personalwesens"} +@string{HWPlan = "Handw{{\"o}}rterbuch der Planung"} +@string{HWProd = "Handw{{\"o}}rterbuch der Produktionswirtschaft"} +@string{HWR = "Handw{{\"o}}rterbuch des Rechnungswesens"} +@string{HWS = "Handw{{\"o}}rterbuch der Sozialwissenschaften"} +@string{HWStR = "Handw{{\"o}}rterbuch des Steuerrechts"} +@string{HdA = "Humanisierung der Arbeit"} +@string{HdSW = "Handw{{\"o}}rterbuch der Sozialwissenschaften"} +@string{HdW = "Handbuch der Wirtschaftswissenschaften"} +@string{HdWW = "Handw{{\"o}}rterbuch der Wirtschaftswissenschaften"} +@string{IMR = "Industrial Management Review"} +@string{IO = "Industrielle Organisation/Management-Zeitschrift"} +@string{IR = "Industrial Relations"} +@string{IJSA = "International Journal of Selection and Assessment"} +@string{ISMO = "International Studies of Management and Organization"} +@string{ISR = "Institute for Social Research"} +@string{ISSJ = "International Social Science Journal"} +@string{JASA = "Journal of the American Statistical Association"} +@string{JABS = "Journal of Applied Behavioral Science"} +@string{JAP = "Journal of Applied Psychology"} +@string{JAPM = "Journal of Applied Psychology Monograph"} +@string{JAS = "Journal of Applied Sociology"} +@string{JASP = "Journal of Abnormal and Social Psychology"} +@string{JBR = "Journal of Business Research"} +@string{JBV = "Journal of Business Venturing"} +@string{JBus = "Journal of Business"} +@string{JCB = "Journal of Contemporary Business"} +@string{JCR = "Journal of Consumer Research"} +@string{JEBO = "Journal of Economic Behavior and Organization"} +@string{JEL = "Journal of Economic Literature"} +@string{JESP = "Journal of Experimental Social Psychology"} +@string{JET = "Journal of European Training"} +@string{JGM = "Journal of General Management"} +@string{JHR = "Historical Social Research"} +@string{JIE = "Journal of Industrial Economics"} +@string{JITE = "Journal of Institutional and Theoretical Economics"} +@string{JLE = "Journal of Law and Economics"} +@string{JLEO = "Journal of Law, Economics and Organization"} +@string{JM = "Journal of Management"} +@string{JMS = "Journal of Management Studies"} +@string{JoMP = "Journal of Mathematical Psychology"} +@string{JoMS = "Journal of Mathematical Sociology"} +@string{JMark = "Journal of Marketing"} +@string{JOB = "Journal of Occupational Behavior"} +@string{JOOP = "Journal of Occupational and Organizational Psychology"} +@string{JP = "Journal of Psychology"} +@string{JPE = "Journal of Public Economy"} +@string{JPSP = "Journal of Personality and Social Psychology"} +@string{JPers = "Journal of Personality"} +@string{JSI = "Journal of Social Issues"} +@string{JSP = "Journal of Social Psychology"} +@string{JVB = "Journal of Vocational Behavior"} +@string{JbSowi = "Jahrbuch f{{\"u}}r Sozialwissenschaften"} +@string{JfB = "Journal f{{\"u}}r Betriebswirtschaft"} +@string{KZfSS = "K{{\"o}}lner Zeitschrift f{{\"u}}r Soziologie und Sozialpsychologie"} +@string{Komm = "Kommunikation"} +@string{LRP = "Long Range Planning"} +@string{MBR = "Multivariate Behavioral Research"} +@string{MDE = "Managerial and Decision Economics"} +@string{MIR = "Management International Review"} +@string{MIT = "Massachusetts Institute of Technology"} +@string{MR = "Managerial Review"} +@string{MS = "Management Science"} +@string{MW = "Management-Wissen"} +@string{MZ = "Management Zeitschrift"} +@string{MZFP = "Marketing ZFP"} +@string{Merk = "Merkur"} +@string{MittAB = "Mitteilungen zur Arbeitsmarkt- und Berufsforschung"} +@string{NB = "Neue Betriebswirtschaft"} +@string{NFA = "Neue Formen der Arbeitsorganisation"} +@string{OAS = "Organization and Administrative Sciences"} +@string{OBHP = "Organizational Behavior and Human Performance"} +@string{ODY = "Organizational Dynamics"} +@string{OE = "Organisationsentwicklung"} +@string{OP = "Occupational Psychology"} +@string{OS = "Organization Studies"} +@string{OeB = "Der {{\"O}}sterreichische Betriebswirt"} +@string{PA = "Personnel Administration"} +@string{PAR = "Public Administration Review"} +@string{PBULL = "Psychological Bulletin"} +@string{PBei = "Psychologische Beitr{{\"a}}ge"} +@string{PJ = "Personnel Journal"} +@string{PM = "Psychological Monographs"} +@string{POQ = "Public Opinion Quarterly"} +@string{PP = "Personnel Psychology"} +@string{PPM = "Public Personel Management"} +@string{PR = "Psychological Review"} +@string{PRJ = "Public Relations Journal"} +@string{PRP = "Psychological Reports"} +@string{PRQ = "Public Relations Quarterly"} +@string{PSR = "Psychologische Rundschau"} +@string{PSYCH = "Psychometrika"} +@string{Pers = "Personal --- Mensch und Arbeit"} +@string{PuA = "Planung und Analyse"} +@string{PuP = "Psychologie und Praxis"} +@string{QJE = "Quarterly Journal of Economics"} +@string{ROB = "Research of Organizational Behavior"} +@string{Stat = "The Statistician"} +@string{SF = "Social Forces"} +@string{SMJ = "Strategic Management Journal"} +@string{SMR = "Sloan Management Review"} +@string{SOFI = "Soziologisches Forschungsinstitut G{{\"o}}ttingen"} +@string{SP = "Social Problems"} +@string{SR = "Soziologische Revue"} +@string{STATH2 = "Statistische Hefte (N.F.)"} +@string{STATI1 = "Statistics"} +%@string{STOCH1 = "Stochastica"} +%@string{STOCH2 = "Stochastics"} +@string{SUPQA = "Sage University Paper Series on Quantitative Applications in the Social Sciences"} +@string{SW = "Soziale Welt"} +@string{Soc = "Sociology"} +@string{SocMR = "Sociological Methods \& Research"}, +@string{SocQ = "Sociological Quarterly"} +@string{SuB = "Sozialwissenschaften und Berufspraxis"} +@string{TDJ = "Training and Development Journal"} +@string{TUB = "Technische Universit{{\"a}}t Berlin"} +@string{UCLA = "University of California, Los Angeles"} +@string{ULA = "ULA-Nachrichten"} +@string{WISU = "Wirtschaftsstudium"} +@string{WZB = "Wissenschaftszentrum Berlin"} +@string{WiSt = "Wirtschaftswissenschaftliches Studium"} +@string{Wpfg = "Die Wirtschaftspr{{\"u}}fung"} +@string{ZAI = "ZA-Information"} +@string{ZBR = "Zeitschrift f{{\"u}}r Beamtenrecht"} +@string{ZFO = "Zeitschrift F{{\"u}}hrung + Organisation"} +@string{ZfA = "Zeitschrift f{{\"u}}r Arbeitswissenschaft"} +@string{ZfAO = "Zeitschrift f{{\"u}}r Arbeits- und Organisationspsychologie"} +@string{ZfB = "Zeitschrift f{{\"u}}r Betriebswirtschaft"} +@string{ZfDDP = "Zeitschrift f{{\"u}}r Differenzielle und Diagnostische Psychologie"} +@string{ZfN = "Zeitschrift f{{\"u}}r National{{\"o}}konomie"} +@string{ZfO = "Zeitschrift f{{\"u}}r Organisation"} +@string{ZfP = "Zeitschrift f{{\"u}}r Psychologie"} +@string{ZfPf = "Zeitschrift f{{\"u}}r Personalforschung"} +@string{ZfS = "Zeitschrift f{{\"u}}r Soziologie"} +@string{ZfSP = "Zeitschrift f{{\"u}}r Sozialpsychologie"} +@string{ZfbF = "Zeitschrift f{{\"u}}r betriebswirtschaftliche Forschung"} +@string{ZfgK = "Zeitschrift f{{\"u}}r das gesamte Kreditwesen"} +@string{ZfgSt = "Zeitschrift f{{\"u}}r die gesamte Staatswissenschaft"} +@string{ZfhF = "Zeitschrift f{{\"u}}r handelswissenschaftliche Forschung"} +@string{ZUMA = "ZUMA Nachrichten"} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +@string{jan = "Januar"} +@string{feb = "Februar"} +@string{mar = "M{{\"a}}rz"} +@string{apr = "April"} +@string{mai = "Mai"} +@string{jun = "Juni"} +@string{jul = "Juli"} +@string{aug = "August"} +@string{sep = "September"} +@string{okt = "Oktober"} +@string{nov = "November"} +@string{dez = "Dezember"} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +@preamble{ "\providecommand{\noopsort}[1]{} " + # "\providecommand{\printfirst}[2]{#1} " + # "\providecommand{\singleletter}[1]{#1} " + # "\providecommand{\switchargs}[2]{#2#1} " } + diff --git a/macros/latex/contrib/mlbib/thesis.bst b/macros/latex/contrib/mlbib/thesis.bst new file mode 100644 index 0000000000..5bbb7a8bd5 --- /dev/null +++ b/macros/latex/contrib/mlbib/thesis.bst @@ -0,0 +1,1241 @@ +FUNCTION {bye} +{ "BibTeX-style: `thesis 0.1h' <30-10-96> (wm)" top$ + "German Documentation: `mlbib.dtx' <30-10-96> (wm)" top$ +} + +% BibTeX bibliography style `thesis' + % version 0.99a for BibTeX versions 0.99a or later, LaTeX version 2.09. + % Copyright (C) 1991, 1993 all rights reserved. + % Copying of this file is authorized only if either + % (1) you make absolutely no changes to your copy, including name, or + % (2) if you do make changes, you name it something other than + % btxbst.doc, plain.bst, unsrt.bst, alpha.bst, abbrv.bst, + % thesis.bst, journal.bst or paper.bst. + % This restriction helps ensure that all standard styles are identical. + +% ACKNOWLEDGEMENT +% This document is a modified version of `apalike.bst' to which it +% owes much of its functionality. + +% USAGE +% The file `mlbib.dtx' has the german documentation for this style. + +% AUTHOR +% ___ +% wenzel matiaske | / /_/-Berlin +% | mail: Technical University Berlin +% | Dept. of Economics, WW6 +% | Uhlandstr. 4-5, D-10623 Berlin +% | phone: +49 30 314-22574 +% | email: mati1831@perform.ww.tu-berlin.de + +% HISTORY +% <0.1a> <15.12.90> german version, german labels, uppercase titles +% <0.1b> <03.07.91> multilingual Version, `bib-labels', `if-titles' +% <0.1c> <10.10.91> `bysame' +% <0.1d> <31.01.93> `bbl-labels', compatible to `paper.bst', `tpbib.sty' +% <0.1f> <20.10.94> format.in.ed.booktitle used in function inbook +% <0.1g> <08.11.95> minor fixes +% <0.1h> <30.10.96> updates for mlbib package + +% NOTE +% There are undoubtably bugs in this program. Should you make +% improvements, bug fixes, etc., however, I ask you to send improvements +% back to me for incorporation into the macro for the rest of us. + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +ENTRY + { address + author + booktitle + chapter + edition + editor + howpublished + institution + journal + key + language % special +% month not used + note + number + organization + pages + publisher + school + series + title + type + volume + year + } + {} +% extra label ``samextra'' is used for repeating entries of on author. +% extra label ``yearextra'' is used for defining entries like 1991a. + { label samextra.label yearextra.label sort.label } + +INTEGERS { output.state before.all mid.sentence after.sentence after.block } + +FUNCTION {init.state.consts} +{ #0 'before.all := + #1 'mid.sentence := + #2 'after.sentence := + #3 'after.block := +} + +STRINGS { s t } + +FUNCTION {output.nonnull} +{ 's := + output.state mid.sentence = + { ", " * write$ } + { output.state after.block = + { add.period$ write$ + newline$ + "\newblock " write$ + } + { output.state before.all = + 'write$ + { add.period$ " " * write$ } + if$ + } + if$ + mid.sentence 'output.state := + } + if$ + s +} + +FUNCTION {output} +{ duplicate$ empty$ + 'pop$ + 'output.nonnull + if$ +} + +FUNCTION {output.check} +{ 't := + duplicate$ empty$ + { pop$ "empty " t * " in " * cite$ * warning$ } + 'output.nonnull + if$ +} + +FUNCTION {output.year.check} +{ year empty$ + { "empty year in " cite$ * warning$ } + { write$ + " \bbllb" year * yearextra.label * "\bblrb" * + mid.sentence 'output.state := + } + if$ +} + +FUNCTION {output.bibitem} +{ newline$ + "\bibitem[" write$ + label write$ + "}]{" write$ + cite$ write$ + "}" write$ + newline$ + language empty$ + 'skip$ + { "{\bbl" language * write$ newline$ } + if$ + "" + before.all 'output.state := +} + +FUNCTION {fin.entry} +{ add.period$ + write$ + newline$ + language empty$ + 'skip$ + { "}" write$ newline$ } + if$ +} + +FUNCTION {new.block} +{ output.state before.all = + 'skip$ + { after.block 'output.state := } + if$ +} + +FUNCTION {new.sentence} +{ output.state after.block = + 'skip$ + { output.state before.all = + 'skip$ + { after.sentence 'output.state := } + if$ + } + if$ +} + +FUNCTION {shows} +{ duplicate$ ":::: `" swap$ * "'" * top$ +} + +FUNCTION {showstack} +{"STACK=====================================================================" +top$ +stack$ +"ENDSTACK==================================================================" +top$ +} + +FUNCTION {not} +{ { #0 } + { #1 } + if$ +} + +FUNCTION {and} +{ 'skip$ + { pop$ #0 } + if$ +} + +FUNCTION {or} +{ { pop$ #1 } + 'skip$ + if$ +} + +FUNCTION {new.block.checkb} +{ empty$ + swap$ empty$ + and + 'skip$ + 'new.block + if$ +} + +FUNCTION {field.or.null} +{ duplicate$ empty$ + { pop$ "" } + 'skip$ + if$ +} + +FUNCTION {bbltf} +{ duplicate$ empty$ + { pop$ "" } + { "{\bbltf " swap$ * "}" * } + if$ +} + +FUNCTION {bblvf} +{ duplicate$ empty$ + { pop$ "" } + { "{\bblvf " swap$ * "}" * } + if$ +} + +FUNCTION {bblquote} +{ duplicate$ empty$ + { pop$ "" } + { "\bbllqq" swap$ * "\bblrqq" * } + if$ +} + +INTEGERS { nameptr namesleft numnames } + +FUNCTION {format.names} +{ 's := + #1 'nameptr := + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { nameptr #1 = + { s nameptr "{ll}{, ff}{~vv}{, jj}" format.name$ 't := } + { s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ 't := } + if$ + nameptr #1 > + { namesleft #1 > + { ", " * t * } + { numnames #2 > + { "" * } + 'skip$ + if$ + t "others" = + { "{\bblnf et~al.}" * } + { "{\bblnf \bbland}" * t * } + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +} + +FUNCTION {format.in.names} +{ 's := + #1 'nameptr := + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ 't := + nameptr #1 > + { namesleft #1 > + { ", " * t * } + { numnames #2 > + { "" * } + 'skip$ + if$ + t "others" = + { "{\bblnf et~al.}" * } + { "{\bblnf \bbland}" * t * } + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +} + +FUNCTION {format.authors} +{ author empty$ + { "" } + { samextra.label "\bysame" = + {"\bysame"} + { "{\bblnf " * author format.names * "}" } + if$ + } + if$ +} + +FUNCTION {format.key} +{ empty$ + { key field.or.null } + { "" } + if$ +} + +FUNCTION {format.editors} +{ editor empty$ + { "" } + { samextra.label "\bysame" = + {"\bysame"} + { "{\bblnf " * editor format.names * "}" } + if$ + editor num.names$ #1 > + { ", \bbleds{} " * } + { ", \bbled{} " * } + if$ + } + if$ +} + +FUNCTION {format.in.editors} +{ editor empty$ + { "" } + { "{\bblnf " * editor format.in.names * "}" + editor num.names$ #1 > + { ", \bbleds" * } + { ", \bbled" * } + if$ + } + if$ +} + +FUNCTION {format.title} +{ title empty$ + { "" } + { language empty$ % default english + { "\bbllq " title "t" change.case$ * "\bblrq" * } % language empty, then lower case + { language "english" = % non empty, equal english + { "\bbllq " title "t" change.case$ * "\bblrq" * } % then lower case, + { "\bbllq " title * "\bblrq" * } % else title + if$ + } + if$ + } + if$ +} + +FUNCTION {n.dashify} +{ 't := + "" + { t empty$ not } + { t #1 #1 substring$ "-" = + { t #1 #2 substring$ "--" = not + { "--" * + t #2 global.max$ substring$ 't := + } + { { t #1 #1 substring$ "-" = } + { "-" * + t #2 global.max$ substring$ 't := + } + while$ + } + if$ + } + { t #1 #1 substring$ * + t #2 global.max$ substring$ 't := + } + if$ + } + while$ +} + +FUNCTION {format.btitle} +{ title bbltf +} + +FUNCTION {tie.or.space.connect} +{ duplicate$ text.length$ #3 < + { "~" } + { " " } + if$ + swap$ * * +} + +FUNCTION {either.or.check} +{ empty$ + 'pop$ + { "can't use both " swap$ * " fields in " * cite$ * warning$ } + if$ +} + +FUNCTION {format.bvolume} +{ volume empty$ + { "" } + { series empty$ + 'skip$ + { ", " * series bbltf * } + if$ + "\bblvol~" volume * + "volume and number" number either.or.check + } + if$ +} + + +FUNCTION {format.number.series} +{ volume empty$ + { number empty$ + { series field.or.null } + { output.state mid.sentence = + { "\bblno~" } + { "\bblNo~" } + if$ + number * + series empty$ + { "there's a number but no series in " cite$ * warning$ } + { ", in " * series * } + if$ + } + if$ + } + { "" } + if$ +} + +FUNCTION {format.edition} +{ edition empty$ + { "" } + { output.state mid.sentence = + { edition "l" change.case$ " \bbledit" * } + { edition "t" change.case$ " \bbledit" * } + if$ + } + if$ +} + +INTEGERS { multiresult } + +FUNCTION {multi.page.check} +{ 't := + #0 'multiresult := + { multiresult not + t empty$ not + and + } + { t #1 #1 substring$ + duplicate$ "-" = + swap$ duplicate$ "," = + swap$ "+" = + or or + { #1 'multiresult := } + { t #2 global.max$ substring$ 't := } + if$ + } + while$ + multiresult +} + +FUNCTION {format.pages} +{ pages empty$ + { "" } + { pages multi.page.check + { "\bblpp~" pages n.dashify * } + { "\bblp~" pages * } + if$ + } + if$ +} + +FUNCTION {format.journal.vol} +{ journal empty$ + { "empty journal name in " cite$ * warning$ + "" } + { journal bbltf + volume empty$ + 'skip$ + { ", " * volume bblvf * } + if$ + } + if$ +} + +FUNCTION {format.number} +{ volume empty$ + { number empty$ + { "empty volume and number in " cite$ * warning$ + "" } + { "\bblno~" number * } + if$ + } + { "" } + if$ +} + +FUNCTION {format.chapter.pages} +{ chapter empty$ + 'format.pages + { type empty$ + { "\bblchap\" } + { type } + if$ + chapter tie.or.space.connect + pages empty$ + 'skip$ + { ", " * format.pages * } + if$ + } + if$ +} + +FUNCTION {format.in.ed.booktitle} +{ booktitle empty$ + { "" } + { editor empty$ + { "In " booktitle bbltf * } + { "In " format.in.editors * ", " * booktitle bbltf * } + if$ + } + if$ +} + +FUNCTION {format.thesis.type} +{ type empty$ + 'skip$ + { pop$ + type "t" change.case$ + } + if$ +} + +FUNCTION {format.tr.number} +{ type empty$ + { "\bbltrep " } + 'type + if$ + number empty$ + { "t" change.case$ } + { ", \bblno" * number tie.or.space.connect } + if$ +} + +FUNCTION {format.article.crossref} +{ "In" + " \citeasnoun{" * crossref * "}" * +} + +FUNCTION {format.book.crossref} +{ "In " + "\citeasnoun{" * crossref * "}" * + volume empty$ + { "empty volume in " cite$ * "'s crossref of " * crossref * warning$ + } + { ", \bblvol~" * volume * + } + if$ +} + +FUNCTION {format.incoll.inproc.crossref} +{ "In" + " \citeasnoun{" * crossref * "}" * +} + +FUNCTION {format.addr.pub} +{ publisher empty$ + { address empty$ + { "" } + { address } + if$ + } + { address empty$ + 'publisher + { address ": " * publisher * } + if$ + } + if$ +} + +FUNCTION {article} +{ output.bibitem + format.authors "author" output.check + author format.key output + output.year.check + new.block + format.title "title" output.check + new.block + crossref missing$ + { format.journal.vol "volume and number" output.check + format.number output + format.pages "pages" output.check + } + { format.article.crossref output.nonnull + format.pages output + } + if$ + new.block + note output + fin.entry +} + +FUNCTION {book} +{ output.bibitem + author empty$ + { format.editors "author and editor" output.check + editor format.key output + } + { format.authors output.nonnull + crossref missing$ + { "author and editor" editor either.or.check } + 'skip$ + if$ + } + if$ + output.year.check + new.block + format.btitle "title" output.check + crossref missing$ + { format.bvolume output + new.block + format.number.series output + new.sentence + format.edition output + format.addr.pub "address and publisher" output.check + } + { new.block + format.book.crossref output.nonnull + } + if$ + new.block + note output + fin.entry +} + +FUNCTION {booklet} +{ output.bibitem + format.authors output + author format.key output + output.year.check + new.block + format.title "title" output.check + new.block + howpublished output + address "address" output.check + new.block + note output + fin.entry +} + +FUNCTION {inbook} +{ output.bibitem + author empty$ + { format.editors "author and editor" output.check + editor format.key output + } + { format.authors output.nonnull + crossref missing$ + { "author and editor" editor either.or.check } + 'skip$ + if$ + } + if$ + output.year.check + new.block + format.title "title" output.check + new.block + crossref missing$ + { format.in.ed.booktitle output + format.number.series output + format.bvolume output + format.chapter.pages output + new.sentence + format.edition output + format.addr.pub "address and publisher" output.check + } + { new.block + format.incoll.inproc.crossref output.nonnull + format.bvolume output + format.chapter.pages output + } + if$ + new.block + note output + fin.entry +} + +FUNCTION {incollection} +{ output.bibitem + format.authors "author" output.check + author format.key output + output.year.check + new.block + format.title "title" output.check + new.block + crossref missing$ + { format.in.ed.booktitle "booktitle" output.check + format.bvolume output + format.number.series output + format.chapter.pages output + new.sentence + format.edition output + format.addr.pub "address and publisher" output.check + } + { format.incoll.inproc.crossref output.nonnull + format.bvolume output + format.chapter.pages output + } + if$ + new.block + note output + fin.entry +} + +FUNCTION {inproceedings} +{ output.bibitem + format.authors "author" output.check + author format.key output + output.year.check + new.block + format.title "title" output.check + new.block + crossref missing$ + { format.in.ed.booktitle "booktitle" output.check + format.bvolume output + format.number.series output + format.pages output + address "address" output.check + new.sentence + organization output + publisher output + } + { format.incoll.inproc.crossref output.nonnull + format.pages output + } + if$ + new.block + note output + fin.entry +} + +FUNCTION {conference} { inproceedings } + +FUNCTION {manual} +{ output.bibitem + format.authors output + author format.key output + output.year.check + new.block + format.btitle "title" output.check + organization address new.block.checkb + organization output + format.edition output + address output + new.block + note output + fin.entry +} + +FUNCTION {mastersthesis} +{ output.bibitem + format.authors "author" output.check + author format.key output + output.year.check + new.block + format.title "title" output.check + new.block + "\bblmth" format.thesis.type output.nonnull + school "school" output.check + address output + new.block + note output + fin.entry +} + +FUNCTION {misc} +{ output.bibitem + format.authors output + author format.key output + output.year.check + new.block + format.title output + new.block + howpublished output + new.block + note output + fin.entry +} + +FUNCTION {phdthesis} +{ output.bibitem + format.authors "author" output.check + author format.key output + output.year.check + new.block + format.btitle "title" output.check + new.block + "\bblphd" format.thesis.type output.nonnull + school "school" output.check + address output + new.block + note output + fin.entry +} + +FUNCTION {proceedings} +{ output.bibitem + format.editors output + editor format.key output + output.year.check + new.block + format.btitle "title" output.check + format.bvolume output + format.number.series output + new.sentence + organization output + address output + publisher output + new.block + note output + fin.entry +} + +FUNCTION {techreport} +{ output.bibitem + format.authors "author" output.check + author format.key output + output.year.check + new.block + format.title "title" output.check + new.block + format.tr.number output.nonnull + institution "institution" output.check + address output + new.block + note output + fin.entry +} + +FUNCTION {unpublished} +{ output.bibitem + format.authors "author" output.check + author format.key output + output.year.check + new.block + format.title "title" output.check + new.block + note "note" output.check + fin.entry +} + +FUNCTION {default.type} { misc } +MACRO {jan} {"January"} + +MACRO {feb} {"February"} + +MACRO {mar} {"March"} + +MACRO {apr} {"April"} + +MACRO {may} {"May"} + +MACRO {jun} {"June"} + +MACRO {jul} {"July"} + +MACRO {aug} {"August"} + +MACRO {sep} {"September"} + +MACRO {oct} {"October"} + +MACRO {nov} {"November"} + +MACRO {dec} {"December"} + +MACRO {acmcs} {"ACM Computing Surveys"} + +MACRO {acta} {"Acta Informatica"} + +MACRO {cacm} {"Communications of the ACM"} + +MACRO {ibmjrd} {"IBM Journal of Research and Development"} + +MACRO {ibmsj} {"IBM Systems Journal"} + +MACRO {ieeese} {"IEEE Transactions on Software Engineering"} + +MACRO {ieeetc} {"IEEE Transactions on Computers"} + +MACRO {ieeetcad} + {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"} + +MACRO {ipl} {"Information Processing Letters"} + +MACRO {jacm} {"Journal of the ACM"} + +MACRO {jcss} {"Journal of Computer and System Sciences"} + +MACRO {scp} {"Science of Computer Programming"} + +MACRO {sicomp} {"SIAM Journal on Computing"} + +MACRO {tocs} {"ACM Transactions on Computer Systems"} + +MACRO {tods} {"ACM Transactions on Database Systems"} + +MACRO {tog} {"ACM Transactions on Graphics"} + +MACRO {toms} {"ACM Transactions on Mathematical Software"} + +MACRO {toois} {"ACM Transactions on Office Information Systems"} + +MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"} + +MACRO {tcs} {"Theoretical Computer Science"} + +READ + +FUNCTION {sortify} +{ purify$ + "l" change.case$ +} + +INTEGERS { len } + +FUNCTION {chop.word} +{ 's := + 'len := + s #1 len substring$ = + { s len #1 + global.max$ substring$ } + 's + if$ +} + +FUNCTION {format.lab.names} +{ 's := + s #1 "{f.~}{vv~}{ll}{, jj}" format.name$ + s num.names$ duplicate$ + #2 > + { pop$ " \textnormal{et~al.} " * } + { #2 < + 'skip$ + { s #2 "{f.~}{vv~}{ll}{, jj}" format.name$ "others" = + { " \textnormal{et~al.}" * } + { "\textnormal{\bbland}" * s #2 "{f.~}{vv~}{ll}{, jj}" format.name$ * } + if$ + } % three possibilities: F. Last + if$ % F. Last and F. Last + } % F. et al. + if$ +} + +FUNCTION {author.key.label} +{ author empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { author format.lab.names } + if$ +} + +FUNCTION {author.editor.key.label} +{ author empty$ + { editor empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { editor format.lab.names } + if$ + } + { author format.lab.names } + if$ +} + +FUNCTION {editor.key.label} +{ editor empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { editor format.lab.names } + if$ +} + +FUNCTION {calc.label} +{ type$ "book" = + type$ "inbook" = + or + 'author.editor.key.label + { type$ "proceedings" = + 'editor.key.label + 'author.key.label + if$ + } + if$ + "\protect\citeauthoryear{" swap$ * "}{" * + year field.or.null purify$ #-1 #4 substring$ + * + 'label := +} + +FUNCTION {sort.format.names} +{ 's := + #1 'nameptr := + "" + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { nameptr #1 > + { " " * } + 'skip$ + if$ + s nameptr "{ll{ }}{ f{ }}{ vv{ }}{ jj{ }}" format.name$ 't := + nameptr numnames = t "others" = and + { "et al" * } + { t sortify * } + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +} + +FUNCTION {sort.format.title} +{ 't := + "A " #2 + "An " #3 + "The " #4 t chop.word + chop.word + chop.word + sortify + #1 global.max$ substring$ +} + +FUNCTION {author.sort} +{ author empty$ + { key empty$ + { "to sort, need author or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { author sort.format.names } + if$ +} + +FUNCTION {author.editor.sort} +{ author empty$ + { editor empty$ + { key empty$ + { "to sort, need author, editor, or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { editor sort.format.names } + if$ + } + { author sort.format.names } + if$ +} + +FUNCTION {editor.sort} +{ editor empty$ + { key empty$ + { "to sort, need editor or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { editor sort.format.names } + if$ +} + +FUNCTION {presort} +{ calc.label + label sortify + " " + * + type$ "book" = + type$ "inbook" = + or + 'author.editor.sort + { type$ "proceedings" = + 'editor.sort + 'author.sort + if$ + } + if$ + #1 entry.max$ substring$ + 'sort.label := + sort.label + * + " " + * + title field.or.null + sort.format.title + * + #1 entry.max$ substring$ + 'sort.key$ := +} + +ITERATE {presort} + +SORT + +STRINGS { last.label next.extra prev.author prev.editor } + +INTEGERS { last.extra.num } + +FUNCTION {initialize.extra.label.stuff} +{ #0 int.to.chr$ 'last.label := + "" 'next.extra := + #0 'last.extra.num := + "abcxyz" 'prev.author := +} + +FUNCTION {forward.pass} +{ last.label label = + { last.extra.num #1 + 'last.extra.num := + last.extra.num int.to.chr$ 'yearextra.label := + } + { "a" chr.to.int$ 'last.extra.num := + "" 'yearextra.label := + label 'last.label := + } + if$ + author empty$ + { editor empty$ + 'skip$ + { editor prev.editor = + editor prev.author = + or + { "\bysame" 'samextra.label := } + { "" 'samextra.label := + editor 'prev.editor := + } + if$ + } + if$ + } + { author prev.author = + author prev.editor = + or + { "\bysame" 'samextra.label := } + { "" 'samextra.label := + author 'prev.author := + } + if$ + } + if$ +} + +FUNCTION {reverse.pass} +{ next.extra "b" = + { "a" 'yearextra.label := } + 'skip$ + if$ + label yearextra.label * 'label := + yearextra.label 'next.extra := +} + +EXECUTE {initialize.extra.label.stuff} + +ITERATE {forward.pass} + +REVERSE {reverse.pass} + +FUNCTION {bib.sort.order} +{ sort.label + " " + * + year field.or.null sortify + * + " " + * + title field.or.null + sort.format.title + * + #1 entry.max$ substring$ + 'sort.key$ := +} + +ITERATE {bib.sort.order} + +SORT + +FUNCTION {begin.bib} +{ preamble$ empty$ + 'skip$ + { preamble$ write$ newline$ } + if$ + "\begin{thebibliography}{} \bblsize" write$ newline$ + "\ifx\undefined\bysame" write$ newline$ + "\newcommand{\bysame}{\leavevmode\hbox to3em{\hrulefill}\ }" + write$ newline$ + "\fi" write$ newline$ +} + +EXECUTE {begin.bib} + +EXECUTE {init.state.consts} + +ITERATE {call.type$} + +FUNCTION {end.bib} +{ newline$ + "\end{thebibliography}" write$ newline$ +} + +EXECUTE {end.bib} + +EXECUTE {bye} + |