von annic » Mi 2. Nov 2016, 14:39
Hallo liebe Nutzer,
ich habe folgendes Problem. ich arbeite mit einer latex Vorlage und muss das Literaturverzeichnis so umstellen, dass anstatt des derzeitigen zitierstils [AutorJahr] die Angabe numerisch erfolgt, also z.B. so: [1].
Wer kann mir mit den Vorlagen weiterhelfen? ich weiss nicht, wo ich die einstellungen ändern kann, um den numerischen Zitationsstil umzusetzen.
Bisher wurde das Paket natbib verwendet.
Vielen lieben Dank im Voraus!
Hier folgen die TEX-Datei sowie die Dateien wise.cls, wisealpha.bst, wiseapp.sty, wisenat.bst und wisetext.sty.
Tex-Datei:
%
\documentclass[xlevel, hyperref, nat]{wise}
\usepackage{xcolor}
\addtokomafont{disposition}{\rmfamily}
\usepackage{float}
\usepackage{caption}
\usepackage{pdfpages}
\usepackage{graphicx}
\usepackage{tabularx}
\usepackage{wasysym}
\usepackage{xr}
\floatstyle{plaintop}
\restylefloat{table}
\renewcommand*{\UrlFont}{\normalfont}
\begin{document}
\pagestyle{scrheadings}
\begin{preface}
\abstract
%Inhaltsverzeichnis
\tableofcontents
%Abkürzungsverzeichnis
\listofabbreviations
\abbreviation{bzw.}{beziehungsweise}
%Abbildungsverzeichnis
\listoffigures
%Tabellenverzeichnis
\listoftables
\end{preface}
\subsection{Einstieg und Motivation}
\cite{statista1}
\cite{statista}
\begin{appendix}
\bibliography{literatur}
\bibliographystyle{wisenat}
\begin{appendices}
\end{appendices}
%Die Arbeit schließt mit der ehrenwörtlichen Erklärung
\declaration
\end{appendix}
\end{document}
Hier folgt der Inhalt der Datei wise.cls:
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{wise}[10/07/2012 Vorlage fuer Dokumente an der WiSe von
Malte Helmhold]
\LoadClass[cleardoubleempty, liststotoc, bibtotoc, idxtotoc, 12pt, abstracton, pointlessnumbers]{scrartcl}
\RequirePackage{listings}
%Auswertung der Paketoptionen
%Behandlung der pdf-Option. Dies wird eingefᅵhrt, um ᅵbersetzungszeit
%zu sparen, wenn nur ein .ps erzeugt werden soll.
\newif\if@pdf
\@pdffalse
\DeclareOption{pdf} {%
\@pdftrue%
}%
%natbib Literaturverzeichnis erzeugen mit wisenat
\newif\if@nat
\@pdffalse
\DeclareOption{nat} {%
\@nattrue%
}%
%ngerman-Option verarbeiten
\newif\if@ngerman
\@ngermanfalse
\DeclareOption{ngerman}{%
\@ngermantrue%
}%
%mp-Option verarbeiten
\newif\if@mp
\@mpfalse
\DeclareOption{mp}{%
\@mptrue%
}%
%mppdf-Option verarbeiten; pdf-Option mit einschalten.
\newif\if@mppdf
\@mppdffalse
\DeclareOption{mppdf}{%
\@mppdftrue%
\@pdftrue%
}%
% Option fᅵr eine vierte numerierte Gliederungsebene
\newif\if@xlevel
\@xlevelfalse
\DeclareOption{xlevel}{%
\@xleveltrue
}
% Option zum Einsatz des Hyperref Paketes
\newif\if@hyperref
\@hyperreffalse
\DeclareOption{hyperref}{
\@hyperreftrue
}
%Option fᅵr die verᅵnderte Kopfzeilenbeschriftung
\newif\if@partmarking
\@partmarkingfalse
\DeclareOption{partmarking}{
\@partmarkingtrue
}
%Alle uebrigen Optionen werden an scrartcl weitergereicht
\DeclareOption*{%
\typeout{Option \CurrentOption\space is passed to package scrartcl!}
\PassOptionsToPackage{\CurrentOption}{scrartcl}
}%
\ProcessOptions\relax
%Seitenaufteilung festlegen.
\RequirePackage{geometry}
\newcommand\@normalgeometry{%
\geometry{a4paper, tmargin=10mm,bmargin=30mm,lmargin=30mm,rmargin=20mm,
headheight=15mm,headsep=7mm,ignorefoot,includehead}
}
\newcommand\@mpgeometry{%
\geometry{a4paper,tmargin=10mm,bmargin=30mm,lmargin=23mm,rmargin=27mm,%
headheight=15mm,headsep=7mm,ignorefoot,includehead}%
\setlength{\marginparsep}{5mm}
}
\newcommand\@mppdfgeometry{%
\geometry{a4paper,tmargin=10mm,bmargin=30mm,lmargin=18mm,rmargin=32mm,%
headheight=15mm,headsep=7mm,ignorefoot,includehead}%
\setlength{\marginparsep}{10mm}
}
%Fuer die mp bzw. mppdf wird eine andere Seitenaufteilung
%vereinbart
\if@mp%
%Seitenaufteilung mit Randnotizen
\@mpgeometry
\else
\if@mppdf%
%Seitenaufteilung fuer Randnotizen und pdf
\@mppdfgeometry
\else
%normale Seitenaufteilung
\@normalgeometry
\fi
\fi
%Option nat auswerten und natbib Package einbinden fᅵr wisenat. Ohne diese Option muss die alte wisealpha.bst benutzt werden.
\if@nat%
\RequirePackage{natbib}
\fi
% Wenn wir ein pdf erzeugen, dann fᅵr das Inhaltsverzeichnis
% ein bookmark einfᅵgen
\if@pdf\if@hyperref
\let\@tableofcontents\tableofcontents
\renewcommand\tableofcontents{%
\hypertarget{tableofcontents.1}{}%
\pdfbookmark[1]{Inhaltsverzeichnis}{tableofcontents}%
\@tableofcontents%
}
\fi\fi
%Neudeutsch laden
\if@ngerman%
\RequirePackage{ngerman}%
\fi
%Da man bei Neudeutsch ebenfalls Zitate in Altdeutsch haben wird,
%Wird das german-Paket auf jeden Fall benoetigt.
\RequirePackage{german}
% Verᅵnderungen in der Gliederungsebene (Einfᅵhrung einer vierten numerierten
% Ebene)
% Dabei werden die Schriftarten des Paragraphen auf die Normalgrᅵᅵe
% reduziert. Der subparagraph wird dann schrᅵg gesetzt.
\if@xlevel
\setcounter{secnumdepth}{4}
\setcounter{tocdepth}{4}
\fi
%Groᅵe ᅵberschriften beginnen stets auf einer neuen Seite, dessen Stil
%empty ist
\addtokomafont{section}{\clearpage\thispagestyle{empty}}
%Abschnitte beginnen auf einer neuen Doppelseite mit leerem Stil und
%2cm vom oberen Rand entfernt
\addtokomafont{partnumber}{\cleardoublepage\thispagestyle{empty}\vspace*{2cm}}
% Festlegen der neuen Schriftarten fᅵr den Paragraphen und den
% Subparagraphen.
\setkomafont{paragraph}{\normalcolor\sffamily\bfseries}
\setkomafont{subparagraph}{\normalcolor\sffamily\slshape}
\RequirePackage[latin1]{inputenc}
\RequirePackage{times}
\RequirePackage{graphicx}
\RequirePackage{url}
%Zeilenabstand 1.5-zeilig
\RequirePackage[onehalfspacing]{setspace}
%Kopfzeile einblenden mit vernᅵnftiger Formatierung (keine
%Silbentrennung und Begrenzung der Textlaufweite
\RequirePackage[headsepline, automark]{scrpage2}
%Wir schalten sᅵmtliche Anhᅵnge erst mal aus
\clearscrheadings\clearscrplain
\ohead{Seite:~\pagemark}\ihead{\scshape\headmark}\chead{}
%Zeichensᅵtze der Kopfzeile setzen
\setkomafont{pagehead}{\normalfont}
\setkomafont{pagenumber}{\normalfont}
%Nummerierung in der Kopfzeile ausblenden
\renewcommand\sectionmarkformat{}
\renewcommand\subsectionmarkformat{}
%Falls die Teilemarkierung in die Kopfzeile soll, mᅵssen wir
%etwas umstᅵndlicher verfahren, da das scrpage2-Paket die Option
%\automark{part} nicht kennt. Wir mᅵssen das also manuell
%bewerkstelligen.
%Dazu definieren wir einfach das subsectionmark um.
\if@partmarking
%Subsectionmark so umschreiben, dass es nun die Teilmarkierung aufnimmt.
\renewcommand{\subsectionmark}[1]{\markright{\partmark}}
%Teilmarkierung initial definieren
\newcommand\partmark{}
%Den part-Befehl kopieren
\let\@my@part\@part
%Und redefinieren, um dabei die rechte Kopfzeile markieren zu kᅵnnen.
\def\@part[#1]#2{
\@my@part[#1]{#2}
\def\partmark{#1}
}
\fi
%Kopfzeile einschalten
\pagestyle{scrheadings}
%%Anhaenge einbauen
\RequirePackage[header, title, toc]{wiseapp}
\renewcommand{\appendixtocname}{Anhang}
%Fᅵr den Vorspann des Werkes, bitte folgende Umgebung nutzen:
\newenvironment{preface}{%
\cleardoublepage
\pagenumbering{roman}
}{%
\cleardoublepage
\pagenumbering{arabic}
}
%Zusatzbefehle------------------------------------------
%
%Einleitung. Beginnt mit Punkt 0 und ab hier gilt die arabische Nummerierung
\newcommand\introduction{%
\setcounter{section}{-1}%
\section{Einleitung}%
}
%Abkᅵrzungsverzeichnis
\newcommand\listofabbreviations{%
\addsec{Abk\"urzungsverzeichnis}
}
%Befehl fᅵr eine Abkᅵrzung
\newcommand\abbreviation[2]{
\noindent%
\setlength{\tabcolsep}{0pt}%
\begin{tabular}{p{4.5cm}p{10cm}}
#1 & #2 \\
\end{tabular}
\newline
}
%Zum Einbinden von Mehrzeiligen Kommentaren mit \begin{comment} Umgebung
\RequirePackage{verbatim}
%Umgebung Laden fᅵr \being{lstlisting} fᅵr die Ausgabe mehrzeilgen Quellcodes
\RequirePackage{listings}
%Kommando zum zitieren von ([FeSi1994], S.12)
%\newcommand\shortcite[2] {(\cite{#1}, S.~#2)}
%Kommando zum Zitieren von (vgl. [FeSi1994], S.15)
%\newcommand\longcite[2] {(vgl.~\cite{#1}, S.~#2)}
%Kommando zum Zitieren von (vgl. [FeSi1994], S.15 f.)
\newcommand\longcitef[2] {(vgl.~\cite{#1}, S.~#2 f.)}
%Kommando zum Zitieren von (vg. [FeSi1994], S.15 ff.)
\newcommand\longciteff[2] {(vgl.~\cite{#1}, S.~#2 ff.)}
%Kommando zum zitieren von ([FeSi1994], S.12 f.)
\newcommand\shortcitef[2] {(\cite{#1}, S.~#2 f.)}
%Kommando zum zitieren von ([FeSi1994], S.12 ff.)
\newcommand\shortciteff[2] {(\cite{#1}, S.~#2 ff.)}
%versuch
\newcommand\opt[3][] {(\cite{#2}, S.~#3#1)}
%Shortcite mit optionalem Parameter Kommando zum zitieren von
% ([FeSi1994], S.12 f.) ODER ([FeSi1994], S.12 ff.) durch \shortcite[, ff.]{Citekey}{Seite}
\newcommand\vgl[1] {(vgl.~\cite{#1})}
\newcommand\shortcite[3][] {(\cite{#2}, S.~#3#1)}
\newcommand\longcite[3][] {(vgl. ~\cite{#2}, S.~#3#1)}
%Zusatzbefehle fuer erweiterte Boxen fuer die roemischen Zahlen
%Da diese Befehle auch in tocloft definiert werden, schreiben wir
%einfach 'wise' davor.
\newcommand{\wisecftsetpnumwidth}[1]{%
\renewcommand{\@pnumwidth}{#1}
}
\newcommand{\wisecftsetrmarg}[1]{%
\renewcommand{\@tocrmarg}{#1}
}
\newcommand{\wisecftlocalchange}[3]{%
\addtocontents{#1}{\protect\wisecftsetpnumwidth{#2}
\protect\wisecftsetrmarg{#3}}
}
%Standardmaessig formatieren wir die Herausgeber eines Werkes mal
%fett. Wer will, kann diesen Befehl einfach ᅵberschreiben und damit
%den Default auᅵer Kraft setzen.
\newcommand{\empheditors}[1]{
\textbf{#1}
}
%Redefinitionen-----------------------------------------
%
% Paragraphen und Subparagraphen werden wie eine ᅵberschrift gesetzt
% und nicht, wie im LaTeX-Standard in den Text integriert.
\renewcommand\paragraph{\@startsection{paragraph}{4}{\z@}%
{-3.25ex\@plus -1ex \@minus -.2ex}%
{1.5ex \@plus .2ex}%
{\raggedsection\normalfont\sectfont\nobreak\size@paragraph\nobreak}}
\renewcommand\subparagraph{\@startsection{subparagraph}{5}{\z@}%
{-3.25ex\@plus -1ex \@minus -.2ex}%
{1.5ex \@plus .2ex}%
{\raggedsection\normalfont\sectfont\nobreak\size@subparagraph\nobreak}}
%Abbildungs- & Tabellenverzeichnisse sollen ganz links beginnen.
\renewcommand*\l@figure{\@dottedtocline{1}{0em}{2.3em}}
%Literaturverzeichnis statt nur Literatur
\renewcommand{\refname}{Literaturverzeichnis}
%Seitenstil der Indexumgebung auf empty zurᅵcksetzen (Standard: plain!)
\renewcommand{\indexpagestyle}{empty}
%Formatierung der Randnotizen, falls ueber die mp oder
%mppdf-Option aktiviert. Anosnsten bleibt der Befehl
%ohne Wirkung
\setlength{\marginparwidth}{1.5cm}
%Umschreiben des \marginpar-Befehls
\let\@mymarginpar\marginpar
\renewcommand\marginpar[1] {%
\if@mp%
\@mymarginpar[\raggedleft{\vspace{1em}\tiny#1}]{\raggedright \vspace{1em}\tiny#1}
% \marginline{\vspace{1em}\tiny#1}
\fi%
}
%Umgebungen------------------------------------
%Abstract Befehl bereitstellen. Ab hier kleine rᅵmische Seitennumerrierung
\renewenvironment{abstract}{%
\section*{Abstract}%
\pagestyle{empty}%
}{%
\pagestyle{scrheadings}
\setcounter{page}{0}
}
%Dann gibt es die entsprechende Umgebung
%Nummerierung Roman, danach wieder arabic
\renewenvironment{appendix}{%
\cleardoublepage
\pagenumbering{Roman}
%Vergroesserung des Platzes fuer Seitenzahlen
\wisecftlocalchange{toc}{4em}{5em}
\wisecftlocalchange{lof}{4em}{5em}
\wisecftlocalchange{lot}{4em}{5em}
}{%
%%Urspruegliche Breiten einstellen
\wisecftlocalchange{toc}{1.55em}{2.55em}
\wisecftlocalchange{lof}{1.55em}{2.55em}
\wisecftlocalchange{lot}{1.55em}{2.55em}
\cleardoublepage
}
%Auswertung der Hyperref Option
\if@hyperref%
\if@pdf
% PDF Option eingeschaltet -> Entsprechenden Backend Treiber fᅵr
% Hyperref laden
\AtEndOfPackage{
\RequirePackage[pdftex,colorlinks=true, linkcolor=black, urlcolor=black,
citecolor=black]{hyperref}
}
\else
% Keine PDF Option -> Standardtreiber fᅵr dvips laden
\AtEndOfPackage{
\RequirePackage[colorlinks=true, linkcolor=black, urlcolor=black,
citecolor=black]{hyperref}
}
\fi
\fi%
\RequirePackage{wisetext}
Hier folgt der Inhalt der Datei wisealpha.bst:
%% ALPHADIN.BST Ausgabe [8.2] 2006-01-02
%%
%% ersetzt ABBRVDIN.BST Ausgabe [8.1b4] 15/12/2004
%% wichtigste Aenderung gegenueber Version [8.1b4]:
%% die Standardergaenzung "Online-Ressource" bei Internetquellen
%% ist ersatzlos gestrichen worden (wegen ueberfluessiger Redundanz).
%%
%
%% K.F.Lorenzen (Copyright 1994-2006) email: lorenzen.marxen@t-online.de
%% ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
%% ALPHADIN.BST wurde entwickelt aus Oren Patashnik's BibTeX standard
%% bibliography style `alpha'. Eine vorgegebene Literaturdatenbank laesst sich
%% somit beliebig nach Us- oder deutscher DIN 1505-Zitierkonvention
%% verarbeiten.
%% Analog zu den 4 US standard styles werden 4 DIN-gerechte bst-style Dateien
%% veroeffentlicht (alphadin.bst, plaindin.bst, unsrtdin.bst, abbrvdin.bst).
%% Die gueltige Version ist am schnellsten aus dem WWW ueber folgende URL zu
%% beziehen:
%% http://www.haw-hamburg.de/pers/Lorenzen/bibtex/
%% Stand: 2006-01-02
%% ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
%% WAS IST ALPHADIN.BST ?
%% Dieser style produziert "deutsche" Literaturzitate in Literaturverzeichnis-
%% sen gemaess der deutschen Norm DIN 1505, Teil 2 vom Jan. 1984.
%% Die Literaturzitate werden alphabetisch nach Verfassern sortiert.
%% Die Zitiermarken im Text und die Ordnungsmarken im Literaturverzeichnis
%% bestehen aus abgekuerzten Verfasserbuchstaben plus Erscheinungsjahr in
%% eckigen Klammern. Die vorliegenden DIN-styles gehen ueber einige bibliogra-
%% phischen Beschraenkungen der Originalstyles hinaus.
%
%% Es werden nun auch Elektronische Online / Offline Ressourcen wie Internet-
%% quellen, CD-ROM usw. verarbeitet. Dazu kommen besondere Publikationsformen
%% wie Patente, Normen, Karten, Fernsehaufzeichnungen, Gesetzesstellen, Spiele.
%
%% Zur Gewaehrleistung der Allgemeingueltigkeit von bib-files gelten in den
%% DIN-styles die in der Tex-Literatur veroeffentlichten originalen
%% Definitionen und Regeln fuer die Publikationstypen (entry-types) und die
%% bibliographischen Felder (fields).
%% Treten kleinere "Schoenheitsfehler" im fertig gesetzten output auf,
%% lassen sich diese so gut wie immer durch eine veraenderte
%% Erfassung im bib-inputfile beseitigen. Oren Patashnik empfiehlt, die
%% Definition der Felder weit auszulegen. Last but not least koennen
%% Sie im output-file < *.bbl > noch letzte Hand zur Korrektur ansetzen.
%
%% WARN- UND FEHLERMELDUNGEN
%% Ursache von Warnmeldungen sind meistens ausgelassene Felder oder
%% Erfassungs-"Fehler". Letztere haengen teilweise mit den gegenueber US-
%% Gepflogenheiten andersartigen bibliographischen Regeln nach DIN 1505
%% zusammen. Sie sind also in Wahrheit keine "Fehler" und duerfen fast immer
%% ignoriert werden. Dennoch pruefen Sie diese Warnungen, um herauszufinden,
%% ob Publikationstyp (=entry-type) und "fields" eventuell unzulaessig
%% kombiniert worden sind.
%% Echte Fehler ("errors") treten nur noch in Verbindung mit falscher
%% Erfassung auf (nach meinen Tests!). Pruefen Sie die Syntax, den entry-type
%% und die fields.
%% Zu guter letzt: Qualitaetsmasstab ist einzig der DIN-konforme output!
%%
%% DANKSAGUNG
%% Hartmut Lueddecke, HAW Hamburg, hat viele Verbesserungsvorschlaege
%% in die frueheren Versionen eingebracht. Ihm danke ich herzlich.
%% Patrick W. Daly, dem Entwickler des Natbib-Stils, verdanke ich viele
%% Anregungen und den steten Ansporn, die DIN-Stile zu verbessern.
%% Viele an dieser Stelle ungenannt bleibende Anwender haben mich in
%% den vergangenen Jahren auf Fehler oder Verbesserungsmoeglichkeiten
%% aufmerksam gemacht und so diesen Stil mitentwickelt. Ihnen gilt mein
%% besonderer Dank. Ihr Feedback ist immer willkommen und eine Ermunterung.
%%
%% Klaus F. Lorenzen
%%
%%
%%
%% HINWEIS: Neben den vier bibliographischen DIN 1505 Standard-Stilen
%% nach den Original-styles von Oren Patashnik
%% gibt es noch vier DIN 1505 Adaptionen der NATBIB-style
%% Emulationen von Patrick W.Daly. Die Fuelle der darin
%% implementierten Zitierweisen geht weit ueber die urspruenglichen
%% Standardstyles hinaus.
%% Naeheres unter URL http://www.haw-hamburg.de/pers/Lorenzen/bibtex/
%%
%%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
%% version 0.99c for BibTeX versions 0.99c or later, LaTeX2e version
%% Copyright (C) 1985, 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
%% alphadin.bst
%% This restriction helps ensure that all standard styles are identical.
%%
%%
%%
%%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
%% NEUE FELDER
%% Zur Erfassung der neuen digitalen Online-Medien z.B. Internetquellen, E-journals, E-books,
%% E-mail u.a. gibt es die zusaetzlichen Felder: doi, url, urn, lastchecked
%% Internetquellen werden vorzugsweise mit dem BOOKLET-Typ erfasst.
%% Normen, Patente, Schutzrechte sind mit dem MISC-Typ zu erfassen.
ENTRY
{ address %% Verlagsort (immer!)
author %% persoenlicher Urheber eines Werkes oder am Zustandekommen
%% beteiligte Personen(=Mitarbeiter, Uebersetzer, Redakteur u.a.)
booktitle %% a) Gesamttitel eines mehrbaendigen Werkes
% %% b) Titel des Sammelwerks, das einzelne selbstaendige
% %% Beitraege mit eigenem Titel enthaelt ->incollection
chapter %% Kapitel in einem Buch (Monographie)
doi %%% Digital Object Identifier ->article
edition %% a) Auflagevermerk
% %% b) bei selbst. elektron. Quellen == Version ->booklet
editor %% Persoenl.Herausgeber oder Koerperschaftlicher Herausgeber
howpublished %% beliebiger Verlegervermerk: veroeffentlicht "von wem, wo"
institution %% Institution, die e.verlagsfreie Veroeffentlichung betreibt
isbn %% Standardnr fuer Buecher
issn %% - " - : Zeitschriften u. Serien
journal %% Titel einer Zeitschrift
key %% Zusaetzlich vergebener Sortierschluessel, mitunter notwend.
lastchecked %% neues Feld fuer das Datum des Online-Abrufs
% %% einer Internetquelle (n. GRAY )
month %% naehere Bestimmung des Erscheinungsjahres -> macro 's
note %% freies Eingabefeld fuer zusaetzliche Informationen z. Quelle
number %% Versch. Bedeutungen in Abhaengigkeit vom Eingabetyp:
% %% a) Bandnummer einer gezaehlten Reihe (series)
% %% b) Heftnummer einer Zeitschrift ->article
% %% c) Nummer eines Forschungsberichts ->techreport
organization %% a) Name der Organisation/des Organisators e. Tagung,Konferenz
% %% b) Name einer Firma/Gesellschaft, die ein ->manual herausgab
pages %% Umfangsangaben, meist Seitenzahlen
publisher %% Verlag
school %% Hochschule/Universitaet, die eine Dipl.-Arb./Dissertation veroeff.
series %% Titel e.Reihe, in der ein best. Buchtitel erschienen ist
title %% Titel einer (namentlich gekennzeichneten) Veroeffentlichung
type %% Zusatzfeld z.Kennzeichnung e.besonderen Publikationstyps
url %% neues Feld URL ( Uniform Resource Locator ):
% %% Serveradresse einer Internetquelle
urn %% neues Feld URN ( Uniform Resource Name ):
% %% Persistent Identifier einer Internetquelle
volume %% a) Zaehlung bei einem mehrbaendigen Werk ->book/->proceedings
% %% b) Jahrgang einer Zeitschrift ->article
year %% Erscheinungsjahr
}
{}
{ label extra.label sort.label short.list }
%%%----------------------------------------------------------------------------
% Einige Standardvorgaben, die vom Benutzer veraendert werden koennen.
%%%----------------------------------------------------------------------------
% Abkuerzung ("... und andere") bei Mehrverfasserquellen:
FUNCTION { ua.etal } { " u.\,a." } %% evtl. auch in eckigen Klammern " [u.\,a.]"
%% oder lateinisch: FUNCTION { ua.etal } { " et~al." }
FUNCTION { und } { " u. " }
%% oder ausgeschrieben: FUNCTION { und } { " und " }
%
% Einige elektronische Medien erhalten nach DIN 1505 eine "Ergaenzende Angabe"
% zusaetzlich zum materiellen Typ, z.B. CD ROM oder DVD u.a.:
FUNCTION { eress } { "Elektronische Ressource" }
%%%-----------------------------------------------------------------------------------
INTEGERS { output.state before.all mid.sentence after.sentence after.block }
INTEGERS { colon.after period.dash }
INTEGERS { after.firstblock }
INTEGERS { zahl lang }
INTEGERS { nameptr namesleft numnames }
INTEGERS { ptr collation collrest }
INTEGERS { len }
INTEGERS { et.al.char.used }
INTEGERS { longest.label.width last.extra.num }
%-------------------------
STRINGS { longest.label last.sort.label next.extra }
STRINGS { h s t u v w }
STRINGS { fkt }
%-------------------------
FUNCTION {init.state.consts}
{ #0 'before.all :=
#1 'mid.sentence :=
#2 'after.sentence :=
#3 'after.block :=
#4 'colon.after :=
#5 'period.dash :=
#6 'after.firstblock :=
}
FUNCTION {output.nonnull}
{ 's :=
output.state after.block =
{ add.period$ write$
newline$
"\newblock " write$
}
{ output.state before.all =
{ write$ }
{ output.state colon.after =
{ ": " * write$
newline$
"\newblock " write$
}
{ output.state period.dash =
{ ". -- " * write$
newline$
"\newblock " write$
}
{ output.state mid.sentence =
{ ", " * write$ }
{ output.state after.sentence =
{ " " * write$ }
{ output.state after.firstblock =
{ add.period$ write$
newline$
"\newblock " write$
}
{ write$
newline$
"\newblock " write$
}
if$
}
if$
}
if$
}
if$
}
if$
}
if$
after.block '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 {new.block}
{ output.state before.all =
'skip$
{ after.block 'output.state := }
if$
}
FUNCTION {not}
{ { #0 }
{ #1 }
if$
}
FUNCTION {and}
{ 'skip$
{ pop$ #0 }
if$
}
FUNCTION {or}
{ { pop$ #1 }
'skip$
if$
}
FUNCTION {output.bibitem}
{ newline$
"\bibitem[" write$
label write$%
"]{" write$
cite$ write$
"}" write$
newline$
""
before.all 'output.state :=
}
FUNCTION {fin.entry}
{ write$
newline$
}
FUNCTION {set.period.dash} %% Wenn ein ". - " die Satzteile trennen soll.!
{ output.state before.all =
'skip$
{ period.dash 'output.state := }
if$
}
FUNCTION {set.period.dash.check}
{ empty$
'skip$
'set.period.dash
if$
}
FUNCTION {set.colon.after} %%$$$ Wenn ein ": " d. Satzteile trennen soll!
{ output.state before.all =
'skip$
{ colon.after 'output.state := }
if$
}
%% Wenn ein " " die Satzteile trennen soll.!
FUNCTION {new.sentence}
{ output.state before.all =
'skip$
{ after.sentence 'output.state := }
if$
}
%% Wenn ein ", " die Satzteile trennen soll.!
FUNCTION { part.of.sentence }
{ output.state before.all =
'skip$
{ mid.sentence 'output.state := }
if$
}
FUNCTION {new.sentence.checka}
{ empty$
'skip$
'new.sentence
if$
}
FUNCTION {field.or.null}
{ duplicate$ empty$
{ pop$ "" }
'skip$
if$
}
FUNCTION {emphasize}
{ duplicate$ empty$
{ pop$ "" }
{ "\emph{" swap$ * "}" * }
if$
}
FUNCTION { capitalize }
{ duplicate$ empty$
{ pop$ "" }
{ "\textsc{" swap$ * "}" * }
if$
}
%% Adelspraedikate beim Sortieren nach den(m) Vornamen auffuehren
%% Abweichend v. DIN !!!
%% AG, 22.08.2000: Vornamen werden ab jetzt abgekuertzt
FUNCTION {format.names}
{ 's :=
"" 'u :=
#1 'nameptr :=
s num.names$ 'numnames :=
numnames 'namesleft :=
{ namesleft #0 > }
{
s nameptr "{vv~}{ll}" format.name$ 't :=%% das ergibt DIN-Ansetzung
%% Lue's Vorschlag s nameptr "{ll}" format.name$ 't :=
t capitalize 't :=
%% dinalpha's Vorschlag: s nameptr "{, ff}" format.name$ 'u :=
s nameptr "{, f.}" format.name$ 'u :=
%% Lue's Vorschlag s nameptr "{, ff}{ vv}" format.name$ 'u :=
u text.length$ 'lang :=
#1 'zahl :=
"" 'v :=
{ zahl lang < }
{ u zahl #1 substring$ "~" =
{ v "" =
{ u #1 zahl #1 - substring$ 'v := }
'skip$
if$
v u zahl #2 substring$ * "." * 'v := }
'skip$
if$
zahl #1 + 'zahl := }
while$
v "" =
{ u 'v := }
'skip$
if$
%% der string fkt enthaelt " (Hrsg.)", wenn Editorfeld nicht leer ist
t v * fkt * 't := %% Komma nach Nachnamen wird oben erledigt!
%% t enthaelt nun d. formatierten Nnamen, Vnamen
nameptr #1 >
{ namesleft #1 >
{ "; " * t * }
{ numnames #2 >
{ "" * }
'skip$
if$
%% %% n. schindle's hinweis 12/1/96 erweitert
t "\textsc{others}" = t "\textsc{others} (Hrsg.)" = or
%%% { " [u.~a.]" * }%% 13/2/94
{ "~et~al." * } %% Geschmackssache, waehle eins von beiden
{ "; " * t * }
if$
}
if$ %% Ende der namesleft-Pruefung
}
't
%% hierdurch wird bei jed. Schleifendurchgang das sich komplet-
%% tierende Zwischen-Namensergebnis wieder auf den sdack gelegt
if$ %% Ende der nameptr-Pruefung
nameptr #1 + 'nameptr :=
namesleft #1 - 'namesleft :=
}
while$ %% Ende von { namesleft #0 > } ganz oben
"" 'fkt := %% fkt wird zurueckgesetzt
}
FUNCTION {format.authors}
{ author empty$
{ "" }
{ author format.names }
if$
}
FUNCTION {format.editors}
{ editor empty$
{ author empty$
{ "empty author and editor in " cite$ * warning$ "" }
'skip$
if$
}
{ author empty$
{ " (Hrsg.)" 'fkt :=
editor format.names
}
{ " (Hrsg.)" 'fkt :=
" ; " * editor format.names *
}
if$
}
if$
}
%% 2005-11-11
FUNCTION { format.authors.organization }
{ type$ "misc" =
{ organization empty$
{ author empty$
{ "" }
{ author format.names " (Erfinder)" * }
if$
}
{ author empty$
{ organization }
{ author format.names " (Erfinder); " *
organization * " (Anmelder)" *
}
if$
}
if$
}
{ type$ "manual" =
{ organization empty$
{ author empty$
{ "" }
{ author format.names }
if$
}
{ author empty$
{ organization capitalize " (Hrsg.)" * }
{ author format.names " ; " *
organization capitalize * " (Hrsg.)" *
}
if$
}
if$
}
'skip$
if$
}
if$
}
FUNCTION { format.editors.organization }
{ organization empty$
'skip$
{ type$ "misc" =
{ organization }
{ * " ; " * organization " (Veranst.)" *}
if$
}
if$
}
FUNCTION { format.tr.institution }
{ institution empty$
'skip$
{ institution capitalize }
if$
}
FUNCTION {format.ed.incoll}
{ editor empty$
{ "" }
{ " (Hrsg.)" 'fkt :=
editor format.names
format.editors.organization
}
if$
}
FUNCTION {article.in.journal}
{ duplicate$ empty$
{ pop$ "" }
{ author missing$ title missing$ and
{ emphasize }
{ emphasize "{In: }" swap$ * }
if$
}
if$
}
FUNCTION {format.title}
{ title empty$
{ "" }
{ title } %% Text so wie er dasteht im Feld title
if$
}
FUNCTION {format.number}
{ number empty$
{ "" }
{ number " " * } %% Text so wie er im Feld number steht plus " "
if$
}
FUNCTION {format.digital.type}
{ type empty$
{ "" }
{ type #-1 #4 substring$ "mail" =
type #1 #4 substring$ "Mail" =
OR
{ "" }
{ type } %% Typ einer digitalen Ressource in Form einer
%% "Ergaenzenden Angabe", so wie er dasteht;
%% Alternativ kann dieser Text auch in NOTE erfasst werden.
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$
}
%% Auflagenvermerke gibt man komplett, einschliesslich Abkuerzungen in
%% das Feld edition ein: ---> EDITION= { 3., erw. und verb. Aufl. }
%% oder fremdsprachlich: EDITION= { 2nd edition }
FUNCTION {format.edition}
{ edition empty$
{ "" }
{ edition }
if$
}
FUNCTION {format.date}
{ year duplicate$ empty$
{ "empty year in " cite$ * warning$
pop$ "" }
'skip$
if$
month empty$
'skip$
{ type$ "book" =
type$ "inbook" =
OR
'skip$
{ month " " * swap$ * }
if$
}
if$
}
FUNCTION {format.edition.or.date}
{ edition empty$ year empty$ and
{ "" }
{ edition empty$
{ type empty$ NOT
{ type #-1 #4 substring$ "mail" =
type #1 #4 substring$ "Mail" =
OR
{ " gesendet: " "-- " type * swap$ *
format.date *
}
{ "\,Version:\,"
format.date *
}
if$
}
{ "\,Version:\,"
format.date *
}
if$
}
{ year empty$
{ "\,Version:\," edition * }
{ "\,Version:\," edition * ", " *
format.date *
}
if$
}
if$
}
if$
}
FUNCTION {format.doi}
{ doi empty$
{ "" }
{ new.block "\url{http://dx.doi.org/" doi * "}" *
%% { new.block "\url{http://dx.medra.org/" doi * "}" *
}
if$
}
FUNCTION {format.url}
{ urn missing$
{ doi missing$
{ url empty$
{ "" }
{ type empty$ NOT
{ type #-1 #4 substring$ "mail" =
type #1 #4 substring$ "Mail" =
OR
{ type$ "incollection" =
{ "" }
{ "\,Absenderadresse: \url{" url * "}" * }
if$
}
{ "\url{" url * "}" * }%% evtl. "URL" oder "<...>"
if$
}
{ "\url{" url * "}" * } %% evtl. "URL" oder "<...>"
if$
}
if$
}
{ format.doi }
if$
}
{ "\url{http://nbn-resolving.de/urn/resolver.pl?urn=" urn * "}" *
}
if$
}
FUNCTION {format.maillist.url}
{ url empty$
{ "" }
{ type empty$
{ "" }
{ type #-1 #4 substring$ "mail" =
type #1 #4 substring$ "Mail" =
OR
{ "\url{" url * "}" * }
{ "" }
if$
}
if$
}
if$
}
FUNCTION {format.version.url}
{ url empty$ doi empty$ urn empty$ and and
{ type$ "techreport" =
{ format.edition }
{ "" }
if$
}
{ format.edition.or.date output format.url }
if$
}
FUNCTION {format.edition.or.version}
{ url empty$ doi empty$ urn empty$ and and
{ format.edition }
{ format.edition.or.date }
if$
}
FUNCTION {format.online.lastcheck}
{ lastchecked empty$
{ url empty$ doi empty$ urn empty$ and and
{ skip$ }
{ "" output }
if$
}
{ url empty$ doi empty$ urn empty$ and and
{ "there's a lastchecked date but no url, urn or doi in "
cite$ * warning$
}
{ part.of.sentence
lastchecked "Abruf: " swap$ * output
}
if$
}
if$
}
FUNCTION {format.maillist.lastcheck}
{ type empty$ NOT
{ type #-1 #4 substring$ "mail" =
type #1 #4 substring$ "Mail" =
OR
{ format.online.lastcheck }
'skip$
if$
}
'skip$
if$
}
FUNCTION {format.address.publisher.year}
{ publisher empty$
{ address empty$
{ year empty$
{ "" }
{ year }
if$
}
{ "there's an address but no publisher in " cite$ * warning$
address ", " * format.date *
}
if$
}
{ address empty$
{ year empty$
{ "neither address nor publication date in " cite$ * warning$
publisher
}
{ publisher ", " * format.date * }
if$
}
{ year empty$
{ address " : " * publisher * }
{ address " : " * publisher * ", " * format.date * }
if$
}
if$
}
if$
}
FUNCTION {format.address.publisher.year.alt}
{ publisher empty$
{ address empty$
{ year empty$
{ "" }
{ url empty$
{ year }
{ "" }
if$
}
if$
}
{ "there's an address but no publisher in " cite$ * warning$
address ", " * format.date *
}
if$
}
{ url empty$%%%% wenn es URL gibt wird nur die service-provider Adresse
%%% ausgegeben, die im publisher-Feld steht
{ address empty$
{ year empty$
{ "neither address nor publication date in " cite$ * warning$
publisher
}
{ publisher ", " * format.date * }
if$
}
{ year empty$
{ address " : " * publisher * }
{ address " : " * publisher * ", " * format.date * }
if$
}
if$
}
{ publisher }
if$
}
if$
}
FUNCTION {format.howpublished}
{ url missing$ urn missing$ doi missing$ AND AND
{ howpublished empty$
{ address empty$
{ type empty$
{ "" }
{ type #-1 #4 substring$ "mail" =
{ "(gesendet: " new.sentence
format.date * ")" *
}
{ "" }
if$
}
if$
format.date *
}
{ address ", " * format.date * }
if$
}
{ address empty$
{ howpublished ", " * format.date * }
{ address " : " * howpublished * ", " * format.date * }
if$
}
if$
}
{ howpublished empty$
{ "" }
{ howpublished }
if$
}
if$
}
FUNCTION {format.lastchecked.or.type}%% nur in misc-Funktion
{ lastchecked empty$
{ url empty$ doi empty$ urn empty$ and and
{ type empty$
{ skip$ }
{ type set.period.dash.check
type output
}
if$
}
{ type empty$
{ skip$ }
{ type #-1 #4 substring$ "mail" =
type #1 #4 substring$ "Mail" =
OR
{ skip$ }
{ type set.period.dash.check
type output }
if$
}
if$
}
if$
}
{ url empty$ doi empty$ urn empty$ and and
{ "there's a lastchecked date but no url, urn or doi in "
cite$ * warning$
}
{ type empty$
{ "there's a URL and a lastchecked date but no type in "
cite$ * warning$
}
{ type set.period.dash.check
type output
part.of.sentence
lastchecked "Abruf: " swap$ * output
}
if$
}
if$
}
if$
}
FUNCTION {format.btitle}
{ title emphasize
}
FUNCTION {tie.or.space.connect}
{ duplicate$ text.length$ #3 <
{ "~" }
{ " " }
if$
swap$ * *
}
FUNCTION {format.btitle.vol}
{ number empty$
{ series empty$
{ volume empty$
{ title emphasize }
{ title emphasize ". Bd." * volume tie.or.space.connect }
if$
}
{ volume empty$
{ title emphasize }%% ein Buch, das zusaetzl. SERIES=Reihentitel besitzt
%% jetzt kommt d. Fall des mehrbaendigen Werkes mit Gesamttitel=SERIES
%% Zaehlung=VOLUME und Bandtitel=TITLE;
{ series emphasize ". Bd." * volume tie.or.space.connect
": " * "{\emph{" * title * "}}" * }
if$
}
if$%% series-test
}
{ title emphasize }%% wenn number ex., dann immer title-Feld
if$%% Ende number-test
}
FUNCTION {format.series.number.din}
{ volume empty$
{ number empty$
{ series empty$
{ "" }
{ "(" series * ")" * } %% d. Seriennr koennte auch gleich hier
%% im SERIES-Feld miterfasst werden
if$
}
{ series empty$
{ "(" number * ")" *
"there's a number but no series in " cite$ * warning$
}
{ "(" series * number tie.or.space.connect ")" * }
if$
}
if$
}
{ series empty$
{ "" }
{ type$ "proceedings" = %% Sonderfall, es darf VOLUME und NUMBER ex. !
type$ "inproceedings" = OR
{ number empty$
{ "(" series * ")" * }
{ "(" series * number tie.or.space.connect ")" * }
if$
}
{ "" }%% Ausstieg mit Nullstring, s. Kommentar
if$
}%% bei gezaehlten Reihen MUSS die Reihennr. im Feld NUMBER stehen!
if$ %% wenn also d. Feld VOLUME nicht leer ist, dann liegt ausser bei
%% Typ PROCEEDINGS falsche
} %% Erfassung vor und es erfolgt d. Ausstieg mit d. Nullstring!
if$
}
FUNCTION {format.tr.series.or.number}
{ number empty$
{ series empty$
{ "" }
{ "(" series * ")" * }
if$
}
{ series empty$
{ "(" number * ")" * }
{ "(" series * number tie.or.space.connect ")" * }
if$
}
if$
}
FUNCTION {format.misc.series}
{ series empty$
{ "" }
{ "(" series * ")" * }
if$
}
FUNCTION { format.doi.urn }
{ urn empty$
{ doi empty$
{ "" }
{ "DOI" doi n.dashify tie.or.space.connect }
if$
}
{ "URN" urn n.dashify tie.or.space.connect }
if$
}
FUNCTION { format.isbn.issn }
{ isbn empty$
{ issn empty$
{ "" }
{ "ISSN" issn n.dashify tie.or.space.connect }
if$
}
{ "ISBN" isbn n.dashify tie.or.space.connect }
if$
}
FUNCTION {format.pages}
{ pages empty$
{ "" }
{ url empty$
{ "S." pages n.dashify tie.or.space.connect }
{ pages }
if$
}
if$
}
FUNCTION {format.pages.book}
{ pages empty$
{ "" }
{ note empty$ isbn empty$ AND
{ "" pages n.dashify tie.or.space.connect " S" *
add.period$ }
{ "" pages n.dashify tie.or.space.connect " S" * }
if$
}
if$
}
FUNCTION {format.pages.bkcollation}
{ pages empty$
{ "" }
{ "" pages n.dashify tie.or.space.connect }
if$
}
FUNCTION {format.bkpages.collat.check}
{ 's :=
#1 'ptr :=
s text.length$ 'collation :=
collation #1 =
{ format.pages.book }
{
collation 'collrest :=
{ collrest #0 > }
{ s ptr #2 substring$ 't :=
t "S." =
{ format.pages.bkcollation
#0 'collrest := }
{ ptr #1 + 'ptr :=
collrest #1 - 'collrest :=
#1 collrest =
{ format.pages.book }
{ skip$ }
if$
}
if$
}
while$
}
if$
}
FUNCTION {format.vol.year.num.pages}
{ volume field.or.null
year empty$
{ "there's no year in " cite$ * warning$ }
{ " (" year * ")" * * }
if$
month empty$
'skip$
{ ", " month * * }
if$
number empty$
'skip$
{ ", Nr. " number * * }
if$
pages empty$
'skip$
{ duplicate$ empty$
{ pop$ "" }
{ title missing$
{ ", " pages format.bkpages.collat.check * *}
{ ", " format.pages * *}
if$
}
if$
}
if$
}
FUNCTION {format.chapter.inbook}
{ duplicate$ empty$
{ pop$ "empty chapter in " cite$ * warning$ }
{ type empty$
{ "\emph{Kapitel\/} " swap$ tie.or.space.connect }
{ type " " * swap$ * }%% wenn keine bes. Abschnittsform gen. werden soll,
%% koennte e. kl. Zwischenraum gewaehlt werden, z.B. " \, "
if$
}
if$
}
FUNCTION {format.chapter.pages}
{ chapter empty$
'format.pages
{ type empty$
{ "Kapitel " }
{ url empty$
{ type }
{ "Kapitel " }
if$
}
if$
chapter tie.or.space.connect
pages empty$
'skip$
{ ", " * format.pages * }
if$
}
if$
}
FUNCTION {format.in.ed.booktitle.din}
{ booktitle empty$
{ "" }
{ editor empty$
{ volume empty$
{ "{In: }" booktitle emphasize * }
{ "{In: }" booktitle emphasize *
" Bd." volume tie.or.space.connect *
}
if$
}
{ volume empty$
{ "{In: }" format.ed.incoll * ": " * booktitle emphasize * }
{ "{In: }" format.ed.incoll * ": " * booktitle emphasize *
" Bd." volume tie.or.space.connect *
}
if$
}
if$
}
if$
}
FUNCTION {format.thesis.tr.type}
{ type empty$
'skip$
{ pop$
type
}
if$
}
FUNCTION {format.article.crossref}
{ key empty$
{ journal empty$
{ "need key or journal for " cite$ * " to crossref " * crossref *
warning$
""
}
{ "{In: }{\emph " journal * "}" * }
if$
}
{ "{In: }" key * }
if$
"\cite{" * crossref * "}" * ", " * format.pages *
}
FUNCTION {format.crossref.editor}
{ editor #1 "{ll}" format.name$ " (Hrsg.)" *
editor num.names$ duplicate$
#2 >
{ pop$ ua.etal * }%% --->u. a.
{ #2 <
'skip$
{ editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
{ ua.etal }
{ " ; " * editor #2 "{vv~}{ll}" format.name$ * " (Hrsg.)" * }
if$
}
if$
}
if$
}
FUNCTION {format.inbk.vol.title}
{ volume empty$
{ " In: " }
{ title empty$
{ " In: Bd." volume tie.or.space.connect
" von " *
}
{ "In: Bd." volume tie.or.space.connect ": " * title emphasize *
" (" * year * ") in " *
}
if$
}
if$
}
FUNCTION {format.book.crossref}
{ type$ "inbook" =
{ format.inbk.vol.title }
{ volume empty$
{ "empty volume in " cite$ * "'s crossref of " * crossref * warning$
" "
}
{ ". -- Bd." volume tie.or.space.connect
" von " *
}
if$
}
if$
editor empty$
editor field.or.null author field.or.null =
or
{ key empty$
{ series empty$
{ "need editor, key, or series for " cite$ * " to crossref " *
crossref * warning$
"" *
}
{ "" * }
if$
}
{ key * }
if$
}
{ "" * }
if$
"\cite{" * crossref * "}" *
}
FUNCTION {format.incoll.inproc.crossref}
{ editor empty$
editor field.or.null author field.or.null =
or
{ key empty$
{ booktitle empty$
{ "need editor, key, or booktitle for " cite$ * " to crossref " *
crossref * warning$
""
}
{ "{In: }{\emph " booktitle * "}" * }%%
if$
}
{ "{In: }" }
if$
}
{ "{In: }" }
if$
"\cite{" * crossref * "}" * %% ", " * format.pages * 5.12.2005
}
FUNCTION {article}
{ output.bibitem
format.authors "author" output.check
set.colon.after
format.title "title" output.check
crossref missing$
{ journal article.in.journal output.nonnull
new.sentence
format.vol.year.num.pages output
format.url output
}
{ format.article.crossref output.nonnull }
if$
format.online.lastcheck
doi set.period.dash.check
urn set.period.dash.check
format.doi.urn output
issn set.period.dash.check
format.isbn.issn output
note set.period.dash.check
note output
fin.entry
}
FUNCTION {book}
{ output.bibitem
author empty$
{ format.editors "author and editor" output.check }
{ format.authors format.editors output.nonnull }
if$
set.colon.after
crossref missing$
{ format.btitle.vol "title" output.check }
{ format.btitle "title" output.check }
if$
format.edition output
format.address.publisher.year "publisher" output.check
new.sentence
crossref missing$
{ format.series.number.din output }
{ format.book.crossref output.nonnull }
if$
pages empty$
{ skip$ }
{ pages set.period.dash.check
pages format.bkpages.collat.check output
}
if$
format.doi output
format.url output
new.block
isbn set.period.dash.check
format.isbn.issn output
note set.period.dash.check
note output
fin.entry
}
FUNCTION {booklet}
{ output.bibitem
author empty$
{ format.editors "author and editor" output.check }
{ format.authors format.editors output.nonnull }
if$
set.colon.after
format.btitle "title" output.check
format.edition.or.version output
format.url output
format.online.lastcheck
format.howpublished output
series new.sentence.checka
format.series.number.din output
pages empty$
{ skip$ }
{ pages set.period.dash.check
pages format.bkpages.collat.check output
}
if$
type set.period.dash.check
format.digital.type output
doi set.period.dash.check
urn set.period.dash.check
format.doi.urn output
note set.period.dash.check
note output
format.isbn.issn output
fin.entry
}
FUNCTION {inbook}
{ output.bibitem
chapter format.chapter.inbook output.nonnull
crossref missing$
{ author empty$
{ format.editors "\,{In:\,}" swap$ * "author and editor" output.check }
{ format.authors "\,{In:\,}" swap$ * output.nonnull }
if$
author empty$ editor empty$ AND
{ before.all 'output.state := }
{ set.colon.after }
if$
format.btitle.vol "title" output.check
format.edition output
format.address.publisher.year "publisher" output.check
new.sentence
format.series.number.din output
isbn set.period.dash.check
format.isbn.issn output
}
{ format.book.crossref output.nonnull }
if$
part.of.sentence
format.pages output
note set.period.dash.check
note output
fin.entry
}
FUNCTION {incollection}
{ output.bibitem
format.authors "author" output.check
set.colon.after
format.title "title" output.check
format.version.url output
type empty$ NOT
{ type #-1 #4 substring$ "mail" =
type #1 #4 substring$ "Mail" =
OR
'skip$
{ format.online.lastcheck }
if$
}
{ format.online.lastcheck }
if$
crossref missing$
{ format.in.ed.booktitle.din "booktitle" output.check
format.edition output
format.address.publisher.year "publisher" output.check
format.maillist.url output
format.maillist.lastcheck
new.sentence
format.series.number.din output
doi set.period.dash.check
urn set.period.dash.check
format.doi.urn output
isbn set.period.dash.check
issn set.period.dash.check
format.isbn.issn output
}
{ format.incoll.inproc.crossref output.nonnull }
if$
part.of.sentence
format.chapter.pages "pages" output.check
note set.period.dash.check
note output
fin.entry
}
FUNCTION {inproceedings}
{ output.bibitem
format.authors "author" output.check
set.colon.after
format.title "title" output.check
crossref missing$
{ format.in.ed.booktitle.din "booktitle" output.check
address empty$
{ organization new.sentence.checka
organization output
part.of.sentence
format.address.publisher.year output
}
{ format.address.publisher.year "publisher" outpu
Hallo liebe Nutzer,
ich habe folgendes Problem. ich arbeite mit einer latex Vorlage und muss das Literaturverzeichnis so umstellen, dass anstatt des derzeitigen zitierstils [AutorJahr] die Angabe numerisch erfolgt, also z.B. so: [1].
Wer kann mir mit den Vorlagen weiterhelfen? ich weiss nicht, wo ich die einstellungen ändern kann, um den numerischen Zitationsstil umzusetzen.
Bisher wurde das Paket natbib verwendet.
Vielen lieben Dank im Voraus! :)
Hier folgen die TEX-Datei sowie die Dateien wise.cls, wisealpha.bst, wiseapp.sty, wisenat.bst und wisetext.sty.
Tex-Datei:
[code]%
\documentclass[xlevel, hyperref, nat]{wise}
\usepackage{xcolor}
\addtokomafont{disposition}{\rmfamily}
\usepackage{float}
\usepackage{caption}
\usepackage{pdfpages}
\usepackage{graphicx}
\usepackage{tabularx}
\usepackage{wasysym}
\usepackage{xr}
\floatstyle{plaintop}
\restylefloat{table}
\renewcommand*{\UrlFont}{\normalfont}
\begin{document}
\pagestyle{scrheadings}
\begin{preface}
\abstract
%Inhaltsverzeichnis
\tableofcontents
%Abkürzungsverzeichnis
\listofabbreviations
\abbreviation{bzw.}{beziehungsweise}
%Abbildungsverzeichnis
\listoffigures
%Tabellenverzeichnis
\listoftables
\end{preface}
\subsection{Einstieg und Motivation}
\cite{statista1}
\cite{statista}
\begin{appendix}
\bibliography{literatur}
\bibliographystyle{wisenat}
\begin{appendices}
\end{appendices}
%Die Arbeit schließt mit der ehrenwörtlichen Erklärung
\declaration
\end{appendix}
\end{document}
[/code]
Hier folgt der Inhalt der Datei wise.cls:
[code]
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{wise}[10/07/2012 Vorlage fuer Dokumente an der WiSe von
Malte Helmhold]
\LoadClass[cleardoubleempty, liststotoc, bibtotoc, idxtotoc, 12pt, abstracton, pointlessnumbers]{scrartcl}
\RequirePackage{listings}
%Auswertung der Paketoptionen
%Behandlung der pdf-Option. Dies wird eingefᅵhrt, um ᅵbersetzungszeit
%zu sparen, wenn nur ein .ps erzeugt werden soll.
\newif\if@pdf
\@pdffalse
\DeclareOption{pdf} {%
\@pdftrue%
}%
%natbib Literaturverzeichnis erzeugen mit wisenat
\newif\if@nat
\@pdffalse
\DeclareOption{nat} {%
\@nattrue%
}%
%ngerman-Option verarbeiten
\newif\if@ngerman
\@ngermanfalse
\DeclareOption{ngerman}{%
\@ngermantrue%
}%
%mp-Option verarbeiten
\newif\if@mp
\@mpfalse
\DeclareOption{mp}{%
\@mptrue%
}%
%mppdf-Option verarbeiten; pdf-Option mit einschalten.
\newif\if@mppdf
\@mppdffalse
\DeclareOption{mppdf}{%
\@mppdftrue%
\@pdftrue%
}%
% Option fᅵr eine vierte numerierte Gliederungsebene
\newif\if@xlevel
\@xlevelfalse
\DeclareOption{xlevel}{%
\@xleveltrue
}
% Option zum Einsatz des Hyperref Paketes
\newif\if@hyperref
\@hyperreffalse
\DeclareOption{hyperref}{
\@hyperreftrue
}
%Option fᅵr die verᅵnderte Kopfzeilenbeschriftung
\newif\if@partmarking
\@partmarkingfalse
\DeclareOption{partmarking}{
\@partmarkingtrue
}
%Alle uebrigen Optionen werden an scrartcl weitergereicht
\DeclareOption*{%
\typeout{Option \CurrentOption\space is passed to package scrartcl!}
\PassOptionsToPackage{\CurrentOption}{scrartcl}
}%
\ProcessOptions\relax
%Seitenaufteilung festlegen.
\RequirePackage{geometry}
\newcommand\@normalgeometry{%
\geometry{a4paper, tmargin=10mm,bmargin=30mm,lmargin=30mm,rmargin=20mm,
headheight=15mm,headsep=7mm,ignorefoot,includehead}
}
\newcommand\@mpgeometry{%
\geometry{a4paper,tmargin=10mm,bmargin=30mm,lmargin=23mm,rmargin=27mm,%
headheight=15mm,headsep=7mm,ignorefoot,includehead}%
\setlength{\marginparsep}{5mm}
}
\newcommand\@mppdfgeometry{%
\geometry{a4paper,tmargin=10mm,bmargin=30mm,lmargin=18mm,rmargin=32mm,%
headheight=15mm,headsep=7mm,ignorefoot,includehead}%
\setlength{\marginparsep}{10mm}
}
%Fuer die mp bzw. mppdf wird eine andere Seitenaufteilung
%vereinbart
\if@mp%
%Seitenaufteilung mit Randnotizen
\@mpgeometry
\else
\if@mppdf%
%Seitenaufteilung fuer Randnotizen und pdf
\@mppdfgeometry
\else
%normale Seitenaufteilung
\@normalgeometry
\fi
\fi
%Option nat auswerten und natbib Package einbinden fᅵr wisenat. Ohne diese Option muss die alte wisealpha.bst benutzt werden.
\if@nat%
\RequirePackage{natbib}
\fi
% Wenn wir ein pdf erzeugen, dann fᅵr das Inhaltsverzeichnis
% ein bookmark einfᅵgen
\if@pdf\if@hyperref
\let\@tableofcontents\tableofcontents
\renewcommand\tableofcontents{%
\hypertarget{tableofcontents.1}{}%
\pdfbookmark[1]{Inhaltsverzeichnis}{tableofcontents}%
\@tableofcontents%
}
\fi\fi
%Neudeutsch laden
\if@ngerman%
\RequirePackage{ngerman}%
\fi
%Da man bei Neudeutsch ebenfalls Zitate in Altdeutsch haben wird,
%Wird das german-Paket auf jeden Fall benoetigt.
\RequirePackage{german}
% Verᅵnderungen in der Gliederungsebene (Einfᅵhrung einer vierten numerierten
% Ebene)
% Dabei werden die Schriftarten des Paragraphen auf die Normalgrᅵᅵe
% reduziert. Der subparagraph wird dann schrᅵg gesetzt.
\if@xlevel
\setcounter{secnumdepth}{4}
\setcounter{tocdepth}{4}
\fi
%Groᅵe ᅵberschriften beginnen stets auf einer neuen Seite, dessen Stil
%empty ist
\addtokomafont{section}{\clearpage\thispagestyle{empty}}
%Abschnitte beginnen auf einer neuen Doppelseite mit leerem Stil und
%2cm vom oberen Rand entfernt
\addtokomafont{partnumber}{\cleardoublepage\thispagestyle{empty}\vspace*{2cm}}
% Festlegen der neuen Schriftarten fᅵr den Paragraphen und den
% Subparagraphen.
\setkomafont{paragraph}{\normalcolor\sffamily\bfseries}
\setkomafont{subparagraph}{\normalcolor\sffamily\slshape}
\RequirePackage[latin1]{inputenc}
\RequirePackage{times}
\RequirePackage{graphicx}
\RequirePackage{url}
%Zeilenabstand 1.5-zeilig
\RequirePackage[onehalfspacing]{setspace}
%Kopfzeile einblenden mit vernᅵnftiger Formatierung (keine
%Silbentrennung und Begrenzung der Textlaufweite
\RequirePackage[headsepline, automark]{scrpage2}
%Wir schalten sᅵmtliche Anhᅵnge erst mal aus
\clearscrheadings\clearscrplain
\ohead{Seite:~\pagemark}\ihead{\scshape\headmark}\chead{}
%Zeichensᅵtze der Kopfzeile setzen
\setkomafont{pagehead}{\normalfont}
\setkomafont{pagenumber}{\normalfont}
%Nummerierung in der Kopfzeile ausblenden
\renewcommand\sectionmarkformat{}
\renewcommand\subsectionmarkformat{}
%Falls die Teilemarkierung in die Kopfzeile soll, mᅵssen wir
%etwas umstᅵndlicher verfahren, da das scrpage2-Paket die Option
%\automark{part} nicht kennt. Wir mᅵssen das also manuell
%bewerkstelligen.
%Dazu definieren wir einfach das subsectionmark um.
\if@partmarking
%Subsectionmark so umschreiben, dass es nun die Teilmarkierung aufnimmt.
\renewcommand{\subsectionmark}[1]{\markright{\partmark}}
%Teilmarkierung initial definieren
\newcommand\partmark{}
%Den part-Befehl kopieren
\let\@my@part\@part
%Und redefinieren, um dabei die rechte Kopfzeile markieren zu kᅵnnen.
\def\@part[#1]#2{
\@my@part[#1]{#2}
\def\partmark{#1}
}
\fi
%Kopfzeile einschalten
\pagestyle{scrheadings}
%%Anhaenge einbauen
\RequirePackage[header, title, toc]{wiseapp}
\renewcommand{\appendixtocname}{Anhang}
%Fᅵr den Vorspann des Werkes, bitte folgende Umgebung nutzen:
\newenvironment{preface}{%
\cleardoublepage
\pagenumbering{roman}
}{%
\cleardoublepage
\pagenumbering{arabic}
}
%Zusatzbefehle------------------------------------------
%
%Einleitung. Beginnt mit Punkt 0 und ab hier gilt die arabische Nummerierung
\newcommand\introduction{%
\setcounter{section}{-1}%
\section{Einleitung}%
}
%Abkᅵrzungsverzeichnis
\newcommand\listofabbreviations{%
\addsec{Abk\"urzungsverzeichnis}
}
%Befehl fᅵr eine Abkᅵrzung
\newcommand\abbreviation[2]{
\noindent%
\setlength{\tabcolsep}{0pt}%
\begin{tabular}{p{4.5cm}p{10cm}}
#1 & #2 \\
\end{tabular}
\newline
}
%Zum Einbinden von Mehrzeiligen Kommentaren mit \begin{comment} Umgebung
\RequirePackage{verbatim}
%Umgebung Laden fᅵr \being{lstlisting} fᅵr die Ausgabe mehrzeilgen Quellcodes
\RequirePackage{listings}
%Kommando zum zitieren von ([FeSi1994], S.12)
%\newcommand\shortcite[2] {(\cite{#1}, S.~#2)}
%Kommando zum Zitieren von (vgl. [FeSi1994], S.15)
%\newcommand\longcite[2] {(vgl.~\cite{#1}, S.~#2)}
%Kommando zum Zitieren von (vgl. [FeSi1994], S.15 f.)
\newcommand\longcitef[2] {(vgl.~\cite{#1}, S.~#2 f.)}
%Kommando zum Zitieren von (vg. [FeSi1994], S.15 ff.)
\newcommand\longciteff[2] {(vgl.~\cite{#1}, S.~#2 ff.)}
%Kommando zum zitieren von ([FeSi1994], S.12 f.)
\newcommand\shortcitef[2] {(\cite{#1}, S.~#2 f.)}
%Kommando zum zitieren von ([FeSi1994], S.12 ff.)
\newcommand\shortciteff[2] {(\cite{#1}, S.~#2 ff.)}
%versuch
\newcommand\opt[3][] {(\cite{#2}, S.~#3#1)}
%Shortcite mit optionalem Parameter Kommando zum zitieren von
% ([FeSi1994], S.12 f.) ODER ([FeSi1994], S.12 ff.) durch \shortcite[, ff.]{Citekey}{Seite}
\newcommand\vgl[1] {(vgl.~\cite{#1})}
\newcommand\shortcite[3][] {(\cite{#2}, S.~#3#1)}
\newcommand\longcite[3][] {(vgl. ~\cite{#2}, S.~#3#1)}
%Zusatzbefehle fuer erweiterte Boxen fuer die roemischen Zahlen
%Da diese Befehle auch in tocloft definiert werden, schreiben wir
%einfach 'wise' davor.
\newcommand{\wisecftsetpnumwidth}[1]{%
\renewcommand{\@pnumwidth}{#1}
}
\newcommand{\wisecftsetrmarg}[1]{%
\renewcommand{\@tocrmarg}{#1}
}
\newcommand{\wisecftlocalchange}[3]{%
\addtocontents{#1}{\protect\wisecftsetpnumwidth{#2}
\protect\wisecftsetrmarg{#3}}
}
%Standardmaessig formatieren wir die Herausgeber eines Werkes mal
%fett. Wer will, kann diesen Befehl einfach ᅵberschreiben und damit
%den Default auᅵer Kraft setzen.
\newcommand{\empheditors}[1]{
\textbf{#1}
}
%Redefinitionen-----------------------------------------
%
% Paragraphen und Subparagraphen werden wie eine ᅵberschrift gesetzt
% und nicht, wie im LaTeX-Standard in den Text integriert.
\renewcommand\paragraph{\@startsection{paragraph}{4}{\z@}%
{-3.25ex\@plus -1ex \@minus -.2ex}%
{1.5ex \@plus .2ex}%
{\raggedsection\normalfont\sectfont\nobreak\size@paragraph\nobreak}}
\renewcommand\subparagraph{\@startsection{subparagraph}{5}{\z@}%
{-3.25ex\@plus -1ex \@minus -.2ex}%
{1.5ex \@plus .2ex}%
{\raggedsection\normalfont\sectfont\nobreak\size@subparagraph\nobreak}}
%Abbildungs- & Tabellenverzeichnisse sollen ganz links beginnen.
\renewcommand*\l@figure{\@dottedtocline{1}{0em}{2.3em}}
%Literaturverzeichnis statt nur Literatur
\renewcommand{\refname}{Literaturverzeichnis}
%Seitenstil der Indexumgebung auf empty zurᅵcksetzen (Standard: plain!)
\renewcommand{\indexpagestyle}{empty}
%Formatierung der Randnotizen, falls ueber die mp oder
%mppdf-Option aktiviert. Anosnsten bleibt der Befehl
%ohne Wirkung
\setlength{\marginparwidth}{1.5cm}
%Umschreiben des \marginpar-Befehls
\let\@mymarginpar\marginpar
\renewcommand\marginpar[1] {%
\if@mp%
\@mymarginpar[\raggedleft{\vspace{1em}\tiny#1}]{\raggedright \vspace{1em}\tiny#1}
% \marginline{\vspace{1em}\tiny#1}
\fi%
}
%Umgebungen------------------------------------
%Abstract Befehl bereitstellen. Ab hier kleine rᅵmische Seitennumerrierung
\renewenvironment{abstract}{%
\section*{Abstract}%
\pagestyle{empty}%
}{%
\pagestyle{scrheadings}
\setcounter{page}{0}
}
%Dann gibt es die entsprechende Umgebung
%Nummerierung Roman, danach wieder arabic
\renewenvironment{appendix}{%
\cleardoublepage
\pagenumbering{Roman}
%Vergroesserung des Platzes fuer Seitenzahlen
\wisecftlocalchange{toc}{4em}{5em}
\wisecftlocalchange{lof}{4em}{5em}
\wisecftlocalchange{lot}{4em}{5em}
}{%
%%Urspruegliche Breiten einstellen
\wisecftlocalchange{toc}{1.55em}{2.55em}
\wisecftlocalchange{lof}{1.55em}{2.55em}
\wisecftlocalchange{lot}{1.55em}{2.55em}
\cleardoublepage
}
%Auswertung der Hyperref Option
\if@hyperref%
\if@pdf
% PDF Option eingeschaltet -> Entsprechenden Backend Treiber fᅵr
% Hyperref laden
\AtEndOfPackage{
\RequirePackage[pdftex,colorlinks=true, linkcolor=black, urlcolor=black,
citecolor=black]{hyperref}
}
\else
% Keine PDF Option -> Standardtreiber fᅵr dvips laden
\AtEndOfPackage{
\RequirePackage[colorlinks=true, linkcolor=black, urlcolor=black,
citecolor=black]{hyperref}
}
\fi
\fi%
\RequirePackage{wisetext}
[/code]
Hier folgt der Inhalt der Datei wisealpha.bst:
[code]
%% ALPHADIN.BST Ausgabe [8.2] 2006-01-02
%%
%% ersetzt ABBRVDIN.BST Ausgabe [8.1b4] 15/12/2004
%% wichtigste Aenderung gegenueber Version [8.1b4]:
%% die Standardergaenzung "Online-Ressource" bei Internetquellen
%% ist ersatzlos gestrichen worden (wegen ueberfluessiger Redundanz).
%%
%
%% K.F.Lorenzen (Copyright 1994-2006) email: lorenzen.marxen@t-online.de
%% ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
%% ALPHADIN.BST wurde entwickelt aus Oren Patashnik's BibTeX standard
%% bibliography style `alpha'. Eine vorgegebene Literaturdatenbank laesst sich
%% somit beliebig nach Us- oder deutscher DIN 1505-Zitierkonvention
%% verarbeiten.
%% Analog zu den 4 US standard styles werden 4 DIN-gerechte bst-style Dateien
%% veroeffentlicht (alphadin.bst, plaindin.bst, unsrtdin.bst, abbrvdin.bst).
%% Die gueltige Version ist am schnellsten aus dem WWW ueber folgende URL zu
%% beziehen:
%% http://www.haw-hamburg.de/pers/Lorenzen/bibtex/
%% Stand: 2006-01-02
%% ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
%% WAS IST ALPHADIN.BST ?
%% Dieser style produziert "deutsche" Literaturzitate in Literaturverzeichnis-
%% sen gemaess der deutschen Norm DIN 1505, Teil 2 vom Jan. 1984.
%% Die Literaturzitate werden alphabetisch nach Verfassern sortiert.
%% Die Zitiermarken im Text und die Ordnungsmarken im Literaturverzeichnis
%% bestehen aus abgekuerzten Verfasserbuchstaben plus Erscheinungsjahr in
%% eckigen Klammern. Die vorliegenden DIN-styles gehen ueber einige bibliogra-
%% phischen Beschraenkungen der Originalstyles hinaus.
%
%% Es werden nun auch Elektronische Online / Offline Ressourcen wie Internet-
%% quellen, CD-ROM usw. verarbeitet. Dazu kommen besondere Publikationsformen
%% wie Patente, Normen, Karten, Fernsehaufzeichnungen, Gesetzesstellen, Spiele.
%
%% Zur Gewaehrleistung der Allgemeingueltigkeit von bib-files gelten in den
%% DIN-styles die in der Tex-Literatur veroeffentlichten originalen
%% Definitionen und Regeln fuer die Publikationstypen (entry-types) und die
%% bibliographischen Felder (fields).
%% Treten kleinere "Schoenheitsfehler" im fertig gesetzten output auf,
%% lassen sich diese so gut wie immer durch eine veraenderte
%% Erfassung im bib-inputfile beseitigen. Oren Patashnik empfiehlt, die
%% Definition der Felder weit auszulegen. Last but not least koennen
%% Sie im output-file < *.bbl > noch letzte Hand zur Korrektur ansetzen.
%
%% WARN- UND FEHLERMELDUNGEN
%% Ursache von Warnmeldungen sind meistens ausgelassene Felder oder
%% Erfassungs-"Fehler". Letztere haengen teilweise mit den gegenueber US-
%% Gepflogenheiten andersartigen bibliographischen Regeln nach DIN 1505
%% zusammen. Sie sind also in Wahrheit keine "Fehler" und duerfen fast immer
%% ignoriert werden. Dennoch pruefen Sie diese Warnungen, um herauszufinden,
%% ob Publikationstyp (=entry-type) und "fields" eventuell unzulaessig
%% kombiniert worden sind.
%% Echte Fehler ("errors") treten nur noch in Verbindung mit falscher
%% Erfassung auf (nach meinen Tests!). Pruefen Sie die Syntax, den entry-type
%% und die fields.
%% Zu guter letzt: Qualitaetsmasstab ist einzig der DIN-konforme output!
%%
%% DANKSAGUNG
%% Hartmut Lueddecke, HAW Hamburg, hat viele Verbesserungsvorschlaege
%% in die frueheren Versionen eingebracht. Ihm danke ich herzlich.
%% Patrick W. Daly, dem Entwickler des Natbib-Stils, verdanke ich viele
%% Anregungen und den steten Ansporn, die DIN-Stile zu verbessern.
%% Viele an dieser Stelle ungenannt bleibende Anwender haben mich in
%% den vergangenen Jahren auf Fehler oder Verbesserungsmoeglichkeiten
%% aufmerksam gemacht und so diesen Stil mitentwickelt. Ihnen gilt mein
%% besonderer Dank. Ihr Feedback ist immer willkommen und eine Ermunterung.
%%
%% Klaus F. Lorenzen
%%
%%
%%
%% HINWEIS: Neben den vier bibliographischen DIN 1505 Standard-Stilen
%% nach den Original-styles von Oren Patashnik
%% gibt es noch vier DIN 1505 Adaptionen der NATBIB-style
%% Emulationen von Patrick W.Daly. Die Fuelle der darin
%% implementierten Zitierweisen geht weit ueber die urspruenglichen
%% Standardstyles hinaus.
%% Naeheres unter URL http://www.haw-hamburg.de/pers/Lorenzen/bibtex/
%%
%%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
%% version 0.99c for BibTeX versions 0.99c or later, LaTeX2e version
%% Copyright (C) 1985, 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
%% alphadin.bst
%% This restriction helps ensure that all standard styles are identical.
%%
%%
%%
%%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
%% NEUE FELDER
%% Zur Erfassung der neuen digitalen Online-Medien z.B. Internetquellen, E-journals, E-books,
%% E-mail u.a. gibt es die zusaetzlichen Felder: doi, url, urn, lastchecked
%% Internetquellen werden vorzugsweise mit dem BOOKLET-Typ erfasst.
%% Normen, Patente, Schutzrechte sind mit dem MISC-Typ zu erfassen.
ENTRY
{ address %% Verlagsort (immer!)
author %% persoenlicher Urheber eines Werkes oder am Zustandekommen
%% beteiligte Personen(=Mitarbeiter, Uebersetzer, Redakteur u.a.)
booktitle %% a) Gesamttitel eines mehrbaendigen Werkes
% %% b) Titel des Sammelwerks, das einzelne selbstaendige
% %% Beitraege mit eigenem Titel enthaelt ->incollection
chapter %% Kapitel in einem Buch (Monographie)
doi %%% Digital Object Identifier ->article
edition %% a) Auflagevermerk
% %% b) bei selbst. elektron. Quellen == Version ->booklet
editor %% Persoenl.Herausgeber oder Koerperschaftlicher Herausgeber
howpublished %% beliebiger Verlegervermerk: veroeffentlicht "von wem, wo"
institution %% Institution, die e.verlagsfreie Veroeffentlichung betreibt
isbn %% Standardnr fuer Buecher
issn %% - " - : Zeitschriften u. Serien
journal %% Titel einer Zeitschrift
key %% Zusaetzlich vergebener Sortierschluessel, mitunter notwend.
lastchecked %% neues Feld fuer das Datum des Online-Abrufs
% %% einer Internetquelle (n. GRAY )
month %% naehere Bestimmung des Erscheinungsjahres -> macro 's
note %% freies Eingabefeld fuer zusaetzliche Informationen z. Quelle
number %% Versch. Bedeutungen in Abhaengigkeit vom Eingabetyp:
% %% a) Bandnummer einer gezaehlten Reihe (series)
% %% b) Heftnummer einer Zeitschrift ->article
% %% c) Nummer eines Forschungsberichts ->techreport
organization %% a) Name der Organisation/des Organisators e. Tagung,Konferenz
% %% b) Name einer Firma/Gesellschaft, die ein ->manual herausgab
pages %% Umfangsangaben, meist Seitenzahlen
publisher %% Verlag
school %% Hochschule/Universitaet, die eine Dipl.-Arb./Dissertation veroeff.
series %% Titel e.Reihe, in der ein best. Buchtitel erschienen ist
title %% Titel einer (namentlich gekennzeichneten) Veroeffentlichung
type %% Zusatzfeld z.Kennzeichnung e.besonderen Publikationstyps
url %% neues Feld URL ( Uniform Resource Locator ):
% %% Serveradresse einer Internetquelle
urn %% neues Feld URN ( Uniform Resource Name ):
% %% Persistent Identifier einer Internetquelle
volume %% a) Zaehlung bei einem mehrbaendigen Werk ->book/->proceedings
% %% b) Jahrgang einer Zeitschrift ->article
year %% Erscheinungsjahr
}
{}
{ label extra.label sort.label short.list }
%%%----------------------------------------------------------------------------
% Einige Standardvorgaben, die vom Benutzer veraendert werden koennen.
%%%----------------------------------------------------------------------------
% Abkuerzung ("... und andere") bei Mehrverfasserquellen:
FUNCTION { ua.etal } { " u.\,a." } %% evtl. auch in eckigen Klammern " [u.\,a.]"
%% oder lateinisch: FUNCTION { ua.etal } { " et~al." }
FUNCTION { und } { " u. " }
%% oder ausgeschrieben: FUNCTION { und } { " und " }
%
% Einige elektronische Medien erhalten nach DIN 1505 eine "Ergaenzende Angabe"
% zusaetzlich zum materiellen Typ, z.B. CD ROM oder DVD u.a.:
FUNCTION { eress } { "Elektronische Ressource" }
%%%-----------------------------------------------------------------------------------
INTEGERS { output.state before.all mid.sentence after.sentence after.block }
INTEGERS { colon.after period.dash }
INTEGERS { after.firstblock }
INTEGERS { zahl lang }
INTEGERS { nameptr namesleft numnames }
INTEGERS { ptr collation collrest }
INTEGERS { len }
INTEGERS { et.al.char.used }
INTEGERS { longest.label.width last.extra.num }
%-------------------------
STRINGS { longest.label last.sort.label next.extra }
STRINGS { h s t u v w }
STRINGS { fkt }
%-------------------------
FUNCTION {init.state.consts}
{ #0 'before.all :=
#1 'mid.sentence :=
#2 'after.sentence :=
#3 'after.block :=
#4 'colon.after :=
#5 'period.dash :=
#6 'after.firstblock :=
}
FUNCTION {output.nonnull}
{ 's :=
output.state after.block =
{ add.period$ write$
newline$
"\newblock " write$
}
{ output.state before.all =
{ write$ }
{ output.state colon.after =
{ ": " * write$
newline$
"\newblock " write$
}
{ output.state period.dash =
{ ". -- " * write$
newline$
"\newblock " write$
}
{ output.state mid.sentence =
{ ", " * write$ }
{ output.state after.sentence =
{ " " * write$ }
{ output.state after.firstblock =
{ add.period$ write$
newline$
"\newblock " write$
}
{ write$
newline$
"\newblock " write$
}
if$
}
if$
}
if$
}
if$
}
if$
}
if$
after.block '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 {new.block}
{ output.state before.all =
'skip$
{ after.block 'output.state := }
if$
}
FUNCTION {not}
{ { #0 }
{ #1 }
if$
}
FUNCTION {and}
{ 'skip$
{ pop$ #0 }
if$
}
FUNCTION {or}
{ { pop$ #1 }
'skip$
if$
}
FUNCTION {output.bibitem}
{ newline$
"\bibitem[" write$
label write$%
"]{" write$
cite$ write$
"}" write$
newline$
""
before.all 'output.state :=
}
FUNCTION {fin.entry}
{ write$
newline$
}
FUNCTION {set.period.dash} %% Wenn ein ". - " die Satzteile trennen soll.!
{ output.state before.all =
'skip$
{ period.dash 'output.state := }
if$
}
FUNCTION {set.period.dash.check}
{ empty$
'skip$
'set.period.dash
if$
}
FUNCTION {set.colon.after} %%$$$ Wenn ein ": " d. Satzteile trennen soll!
{ output.state before.all =
'skip$
{ colon.after 'output.state := }
if$
}
%% Wenn ein " " die Satzteile trennen soll.!
FUNCTION {new.sentence}
{ output.state before.all =
'skip$
{ after.sentence 'output.state := }
if$
}
%% Wenn ein ", " die Satzteile trennen soll.!
FUNCTION { part.of.sentence }
{ output.state before.all =
'skip$
{ mid.sentence 'output.state := }
if$
}
FUNCTION {new.sentence.checka}
{ empty$
'skip$
'new.sentence
if$
}
FUNCTION {field.or.null}
{ duplicate$ empty$
{ pop$ "" }
'skip$
if$
}
FUNCTION {emphasize}
{ duplicate$ empty$
{ pop$ "" }
{ "\emph{" swap$ * "}" * }
if$
}
FUNCTION { capitalize }
{ duplicate$ empty$
{ pop$ "" }
{ "\textsc{" swap$ * "}" * }
if$
}
%% Adelspraedikate beim Sortieren nach den(m) Vornamen auffuehren
%% Abweichend v. DIN !!!
%% AG, 22.08.2000: Vornamen werden ab jetzt abgekuertzt
FUNCTION {format.names}
{ 's :=
"" 'u :=
#1 'nameptr :=
s num.names$ 'numnames :=
numnames 'namesleft :=
{ namesleft #0 > }
{
s nameptr "{vv~}{ll}" format.name$ 't :=%% das ergibt DIN-Ansetzung
%% Lue's Vorschlag s nameptr "{ll}" format.name$ 't :=
t capitalize 't :=
%% dinalpha's Vorschlag: s nameptr "{, ff}" format.name$ 'u :=
s nameptr "{, f.}" format.name$ 'u :=
%% Lue's Vorschlag s nameptr "{, ff}{ vv}" format.name$ 'u :=
u text.length$ 'lang :=
#1 'zahl :=
"" 'v :=
{ zahl lang < }
{ u zahl #1 substring$ "~" =
{ v "" =
{ u #1 zahl #1 - substring$ 'v := }
'skip$
if$
v u zahl #2 substring$ * "." * 'v := }
'skip$
if$
zahl #1 + 'zahl := }
while$
v "" =
{ u 'v := }
'skip$
if$
%% der string fkt enthaelt " (Hrsg.)", wenn Editorfeld nicht leer ist
t v * fkt * 't := %% Komma nach Nachnamen wird oben erledigt!
%% t enthaelt nun d. formatierten Nnamen, Vnamen
nameptr #1 >
{ namesleft #1 >
{ "; " * t * }
{ numnames #2 >
{ "" * }
'skip$
if$
%% %% n. schindle's hinweis 12/1/96 erweitert
t "\textsc{others}" = t "\textsc{others} (Hrsg.)" = or
%%% { " [u.~a.]" * }%% 13/2/94
{ "~et~al." * } %% Geschmackssache, waehle eins von beiden
{ "; " * t * }
if$
}
if$ %% Ende der namesleft-Pruefung
}
't
%% hierdurch wird bei jed. Schleifendurchgang das sich komplet-
%% tierende Zwischen-Namensergebnis wieder auf den sdack gelegt
if$ %% Ende der nameptr-Pruefung
nameptr #1 + 'nameptr :=
namesleft #1 - 'namesleft :=
}
while$ %% Ende von { namesleft #0 > } ganz oben
"" 'fkt := %% fkt wird zurueckgesetzt
}
FUNCTION {format.authors}
{ author empty$
{ "" }
{ author format.names }
if$
}
FUNCTION {format.editors}
{ editor empty$
{ author empty$
{ "empty author and editor in " cite$ * warning$ "" }
'skip$
if$
}
{ author empty$
{ " (Hrsg.)" 'fkt :=
editor format.names
}
{ " (Hrsg.)" 'fkt :=
" ; " * editor format.names *
}
if$
}
if$
}
%% 2005-11-11
FUNCTION { format.authors.organization }
{ type$ "misc" =
{ organization empty$
{ author empty$
{ "" }
{ author format.names " (Erfinder)" * }
if$
}
{ author empty$
{ organization }
{ author format.names " (Erfinder); " *
organization * " (Anmelder)" *
}
if$
}
if$
}
{ type$ "manual" =
{ organization empty$
{ author empty$
{ "" }
{ author format.names }
if$
}
{ author empty$
{ organization capitalize " (Hrsg.)" * }
{ author format.names " ; " *
organization capitalize * " (Hrsg.)" *
}
if$
}
if$
}
'skip$
if$
}
if$
}
FUNCTION { format.editors.organization }
{ organization empty$
'skip$
{ type$ "misc" =
{ organization }
{ * " ; " * organization " (Veranst.)" *}
if$
}
if$
}
FUNCTION { format.tr.institution }
{ institution empty$
'skip$
{ institution capitalize }
if$
}
FUNCTION {format.ed.incoll}
{ editor empty$
{ "" }
{ " (Hrsg.)" 'fkt :=
editor format.names
format.editors.organization
}
if$
}
FUNCTION {article.in.journal}
{ duplicate$ empty$
{ pop$ "" }
{ author missing$ title missing$ and
{ emphasize }
{ emphasize "{In: }" swap$ * }
if$
}
if$
}
FUNCTION {format.title}
{ title empty$
{ "" }
{ title } %% Text so wie er dasteht im Feld title
if$
}
FUNCTION {format.number}
{ number empty$
{ "" }
{ number " " * } %% Text so wie er im Feld number steht plus " "
if$
}
FUNCTION {format.digital.type}
{ type empty$
{ "" }
{ type #-1 #4 substring$ "mail" =
type #1 #4 substring$ "Mail" =
OR
{ "" }
{ type } %% Typ einer digitalen Ressource in Form einer
%% "Ergaenzenden Angabe", so wie er dasteht;
%% Alternativ kann dieser Text auch in NOTE erfasst werden.
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$
}
%% Auflagenvermerke gibt man komplett, einschliesslich Abkuerzungen in
%% das Feld edition ein: ---> EDITION= { 3., erw. und verb. Aufl. }
%% oder fremdsprachlich: EDITION= { 2nd edition }
FUNCTION {format.edition}
{ edition empty$
{ "" }
{ edition }
if$
}
FUNCTION {format.date}
{ year duplicate$ empty$
{ "empty year in " cite$ * warning$
pop$ "" }
'skip$
if$
month empty$
'skip$
{ type$ "book" =
type$ "inbook" =
OR
'skip$
{ month " " * swap$ * }
if$
}
if$
}
FUNCTION {format.edition.or.date}
{ edition empty$ year empty$ and
{ "" }
{ edition empty$
{ type empty$ NOT
{ type #-1 #4 substring$ "mail" =
type #1 #4 substring$ "Mail" =
OR
{ " gesendet: " "-- " type * swap$ *
format.date *
}
{ "\,Version:\,"
format.date *
}
if$
}
{ "\,Version:\,"
format.date *
}
if$
}
{ year empty$
{ "\,Version:\," edition * }
{ "\,Version:\," edition * ", " *
format.date *
}
if$
}
if$
}
if$
}
FUNCTION {format.doi}
{ doi empty$
{ "" }
{ new.block "\url{http://dx.doi.org/" doi * "}" *
%% { new.block "\url{http://dx.medra.org/" doi * "}" *
}
if$
}
FUNCTION {format.url}
{ urn missing$
{ doi missing$
{ url empty$
{ "" }
{ type empty$ NOT
{ type #-1 #4 substring$ "mail" =
type #1 #4 substring$ "Mail" =
OR
{ type$ "incollection" =
{ "" }
{ "\,Absenderadresse: \url{" url * "}" * }
if$
}
{ "\url{" url * "}" * }%% evtl. "URL" oder "<...>"
if$
}
{ "\url{" url * "}" * } %% evtl. "URL" oder "<...>"
if$
}
if$
}
{ format.doi }
if$
}
{ "\url{http://nbn-resolving.de/urn/resolver.pl?urn=" urn * "}" *
}
if$
}
FUNCTION {format.maillist.url}
{ url empty$
{ "" }
{ type empty$
{ "" }
{ type #-1 #4 substring$ "mail" =
type #1 #4 substring$ "Mail" =
OR
{ "\url{" url * "}" * }
{ "" }
if$
}
if$
}
if$
}
FUNCTION {format.version.url}
{ url empty$ doi empty$ urn empty$ and and
{ type$ "techreport" =
{ format.edition }
{ "" }
if$
}
{ format.edition.or.date output format.url }
if$
}
FUNCTION {format.edition.or.version}
{ url empty$ doi empty$ urn empty$ and and
{ format.edition }
{ format.edition.or.date }
if$
}
FUNCTION {format.online.lastcheck}
{ lastchecked empty$
{ url empty$ doi empty$ urn empty$ and and
{ skip$ }
{ "" output }
if$
}
{ url empty$ doi empty$ urn empty$ and and
{ "there's a lastchecked date but no url, urn or doi in "
cite$ * warning$
}
{ part.of.sentence
lastchecked "Abruf: " swap$ * output
}
if$
}
if$
}
FUNCTION {format.maillist.lastcheck}
{ type empty$ NOT
{ type #-1 #4 substring$ "mail" =
type #1 #4 substring$ "Mail" =
OR
{ format.online.lastcheck }
'skip$
if$
}
'skip$
if$
}
FUNCTION {format.address.publisher.year}
{ publisher empty$
{ address empty$
{ year empty$
{ "" }
{ year }
if$
}
{ "there's an address but no publisher in " cite$ * warning$
address ", " * format.date *
}
if$
}
{ address empty$
{ year empty$
{ "neither address nor publication date in " cite$ * warning$
publisher
}
{ publisher ", " * format.date * }
if$
}
{ year empty$
{ address " : " * publisher * }
{ address " : " * publisher * ", " * format.date * }
if$
}
if$
}
if$
}
FUNCTION {format.address.publisher.year.alt}
{ publisher empty$
{ address empty$
{ year empty$
{ "" }
{ url empty$
{ year }
{ "" }
if$
}
if$
}
{ "there's an address but no publisher in " cite$ * warning$
address ", " * format.date *
}
if$
}
{ url empty$%%%% wenn es URL gibt wird nur die service-provider Adresse
%%% ausgegeben, die im publisher-Feld steht
{ address empty$
{ year empty$
{ "neither address nor publication date in " cite$ * warning$
publisher
}
{ publisher ", " * format.date * }
if$
}
{ year empty$
{ address " : " * publisher * }
{ address " : " * publisher * ", " * format.date * }
if$
}
if$
}
{ publisher }
if$
}
if$
}
FUNCTION {format.howpublished}
{ url missing$ urn missing$ doi missing$ AND AND
{ howpublished empty$
{ address empty$
{ type empty$
{ "" }
{ type #-1 #4 substring$ "mail" =
{ "(gesendet: " new.sentence
format.date * ")" *
}
{ "" }
if$
}
if$
format.date *
}
{ address ", " * format.date * }
if$
}
{ address empty$
{ howpublished ", " * format.date * }
{ address " : " * howpublished * ", " * format.date * }
if$
}
if$
}
{ howpublished empty$
{ "" }
{ howpublished }
if$
}
if$
}
FUNCTION {format.lastchecked.or.type}%% nur in misc-Funktion
{ lastchecked empty$
{ url empty$ doi empty$ urn empty$ and and
{ type empty$
{ skip$ }
{ type set.period.dash.check
type output
}
if$
}
{ type empty$
{ skip$ }
{ type #-1 #4 substring$ "mail" =
type #1 #4 substring$ "Mail" =
OR
{ skip$ }
{ type set.period.dash.check
type output }
if$
}
if$
}
if$
}
{ url empty$ doi empty$ urn empty$ and and
{ "there's a lastchecked date but no url, urn or doi in "
cite$ * warning$
}
{ type empty$
{ "there's a URL and a lastchecked date but no type in "
cite$ * warning$
}
{ type set.period.dash.check
type output
part.of.sentence
lastchecked "Abruf: " swap$ * output
}
if$
}
if$
}
if$
}
FUNCTION {format.btitle}
{ title emphasize
}
FUNCTION {tie.or.space.connect}
{ duplicate$ text.length$ #3 <
{ "~" }
{ " " }
if$
swap$ * *
}
FUNCTION {format.btitle.vol}
{ number empty$
{ series empty$
{ volume empty$
{ title emphasize }
{ title emphasize ". Bd." * volume tie.or.space.connect }
if$
}
{ volume empty$
{ title emphasize }%% ein Buch, das zusaetzl. SERIES=Reihentitel besitzt
%% jetzt kommt d. Fall des mehrbaendigen Werkes mit Gesamttitel=SERIES
%% Zaehlung=VOLUME und Bandtitel=TITLE;
{ series emphasize ". Bd." * volume tie.or.space.connect
": " * "{\emph{" * title * "}}" * }
if$
}
if$%% series-test
}
{ title emphasize }%% wenn number ex., dann immer title-Feld
if$%% Ende number-test
}
FUNCTION {format.series.number.din}
{ volume empty$
{ number empty$
{ series empty$
{ "" }
{ "(" series * ")" * } %% d. Seriennr koennte auch gleich hier
%% im SERIES-Feld miterfasst werden
if$
}
{ series empty$
{ "(" number * ")" *
"there's a number but no series in " cite$ * warning$
}
{ "(" series * number tie.or.space.connect ")" * }
if$
}
if$
}
{ series empty$
{ "" }
{ type$ "proceedings" = %% Sonderfall, es darf VOLUME und NUMBER ex. !
type$ "inproceedings" = OR
{ number empty$
{ "(" series * ")" * }
{ "(" series * number tie.or.space.connect ")" * }
if$
}
{ "" }%% Ausstieg mit Nullstring, s. Kommentar
if$
}%% bei gezaehlten Reihen MUSS die Reihennr. im Feld NUMBER stehen!
if$ %% wenn also d. Feld VOLUME nicht leer ist, dann liegt ausser bei
%% Typ PROCEEDINGS falsche
} %% Erfassung vor und es erfolgt d. Ausstieg mit d. Nullstring!
if$
}
FUNCTION {format.tr.series.or.number}
{ number empty$
{ series empty$
{ "" }
{ "(" series * ")" * }
if$
}
{ series empty$
{ "(" number * ")" * }
{ "(" series * number tie.or.space.connect ")" * }
if$
}
if$
}
FUNCTION {format.misc.series}
{ series empty$
{ "" }
{ "(" series * ")" * }
if$
}
FUNCTION { format.doi.urn }
{ urn empty$
{ doi empty$
{ "" }
{ "DOI" doi n.dashify tie.or.space.connect }
if$
}
{ "URN" urn n.dashify tie.or.space.connect }
if$
}
FUNCTION { format.isbn.issn }
{ isbn empty$
{ issn empty$
{ "" }
{ "ISSN" issn n.dashify tie.or.space.connect }
if$
}
{ "ISBN" isbn n.dashify tie.or.space.connect }
if$
}
FUNCTION {format.pages}
{ pages empty$
{ "" }
{ url empty$
{ "S." pages n.dashify tie.or.space.connect }
{ pages }
if$
}
if$
}
FUNCTION {format.pages.book}
{ pages empty$
{ "" }
{ note empty$ isbn empty$ AND
{ "" pages n.dashify tie.or.space.connect " S" *
add.period$ }
{ "" pages n.dashify tie.or.space.connect " S" * }
if$
}
if$
}
FUNCTION {format.pages.bkcollation}
{ pages empty$
{ "" }
{ "" pages n.dashify tie.or.space.connect }
if$
}
FUNCTION {format.bkpages.collat.check}
{ 's :=
#1 'ptr :=
s text.length$ 'collation :=
collation #1 =
{ format.pages.book }
{
collation 'collrest :=
{ collrest #0 > }
{ s ptr #2 substring$ 't :=
t "S." =
{ format.pages.bkcollation
#0 'collrest := }
{ ptr #1 + 'ptr :=
collrest #1 - 'collrest :=
#1 collrest =
{ format.pages.book }
{ skip$ }
if$
}
if$
}
while$
}
if$
}
FUNCTION {format.vol.year.num.pages}
{ volume field.or.null
year empty$
{ "there's no year in " cite$ * warning$ }
{ " (" year * ")" * * }
if$
month empty$
'skip$
{ ", " month * * }
if$
number empty$
'skip$
{ ", Nr. " number * * }
if$
pages empty$
'skip$
{ duplicate$ empty$
{ pop$ "" }
{ title missing$
{ ", " pages format.bkpages.collat.check * *}
{ ", " format.pages * *}
if$
}
if$
}
if$
}
FUNCTION {format.chapter.inbook}
{ duplicate$ empty$
{ pop$ "empty chapter in " cite$ * warning$ }
{ type empty$
{ "\emph{Kapitel\/} " swap$ tie.or.space.connect }
{ type " " * swap$ * }%% wenn keine bes. Abschnittsform gen. werden soll,
%% koennte e. kl. Zwischenraum gewaehlt werden, z.B. " \, "
if$
}
if$
}
FUNCTION {format.chapter.pages}
{ chapter empty$
'format.pages
{ type empty$
{ "Kapitel " }
{ url empty$
{ type }
{ "Kapitel " }
if$
}
if$
chapter tie.or.space.connect
pages empty$
'skip$
{ ", " * format.pages * }
if$
}
if$
}
FUNCTION {format.in.ed.booktitle.din}
{ booktitle empty$
{ "" }
{ editor empty$
{ volume empty$
{ "{In: }" booktitle emphasize * }
{ "{In: }" booktitle emphasize *
" Bd." volume tie.or.space.connect *
}
if$
}
{ volume empty$
{ "{In: }" format.ed.incoll * ": " * booktitle emphasize * }
{ "{In: }" format.ed.incoll * ": " * booktitle emphasize *
" Bd." volume tie.or.space.connect *
}
if$
}
if$
}
if$
}
FUNCTION {format.thesis.tr.type}
{ type empty$
'skip$
{ pop$
type
}
if$
}
FUNCTION {format.article.crossref}
{ key empty$
{ journal empty$
{ "need key or journal for " cite$ * " to crossref " * crossref *
warning$
""
}
{ "{In: }{\emph " journal * "}" * }
if$
}
{ "{In: }" key * }
if$
"\cite{" * crossref * "}" * ", " * format.pages *
}
FUNCTION {format.crossref.editor}
{ editor #1 "{ll}" format.name$ " (Hrsg.)" *
editor num.names$ duplicate$
#2 >
{ pop$ ua.etal * }%% --->u. a.
{ #2 <
'skip$
{ editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
{ ua.etal }
{ " ; " * editor #2 "{vv~}{ll}" format.name$ * " (Hrsg.)" * }
if$
}
if$
}
if$
}
FUNCTION {format.inbk.vol.title}
{ volume empty$
{ " In: " }
{ title empty$
{ " In: Bd." volume tie.or.space.connect
" von " *
}
{ "In: Bd." volume tie.or.space.connect ": " * title emphasize *
" (" * year * ") in " *
}
if$
}
if$
}
FUNCTION {format.book.crossref}
{ type$ "inbook" =
{ format.inbk.vol.title }
{ volume empty$
{ "empty volume in " cite$ * "'s crossref of " * crossref * warning$
" "
}
{ ". -- Bd." volume tie.or.space.connect
" von " *
}
if$
}
if$
editor empty$
editor field.or.null author field.or.null =
or
{ key empty$
{ series empty$
{ "need editor, key, or series for " cite$ * " to crossref " *
crossref * warning$
"" *
}
{ "" * }
if$
}
{ key * }
if$
}
{ "" * }
if$
"\cite{" * crossref * "}" *
}
FUNCTION {format.incoll.inproc.crossref}
{ editor empty$
editor field.or.null author field.or.null =
or
{ key empty$
{ booktitle empty$
{ "need editor, key, or booktitle for " cite$ * " to crossref " *
crossref * warning$
""
}
{ "{In: }{\emph " booktitle * "}" * }%%
if$
}
{ "{In: }" }
if$
}
{ "{In: }" }
if$
"\cite{" * crossref * "}" * %% ", " * format.pages * 5.12.2005
}
FUNCTION {article}
{ output.bibitem
format.authors "author" output.check
set.colon.after
format.title "title" output.check
crossref missing$
{ journal article.in.journal output.nonnull
new.sentence
format.vol.year.num.pages output
format.url output
}
{ format.article.crossref output.nonnull }
if$
format.online.lastcheck
doi set.period.dash.check
urn set.period.dash.check
format.doi.urn output
issn set.period.dash.check
format.isbn.issn output
note set.period.dash.check
note output
fin.entry
}
FUNCTION {book}
{ output.bibitem
author empty$
{ format.editors "author and editor" output.check }
{ format.authors format.editors output.nonnull }
if$
set.colon.after
crossref missing$
{ format.btitle.vol "title" output.check }
{ format.btitle "title" output.check }
if$
format.edition output
format.address.publisher.year "publisher" output.check
new.sentence
crossref missing$
{ format.series.number.din output }
{ format.book.crossref output.nonnull }
if$
pages empty$
{ skip$ }
{ pages set.period.dash.check
pages format.bkpages.collat.check output
}
if$
format.doi output
format.url output
new.block
isbn set.period.dash.check
format.isbn.issn output
note set.period.dash.check
note output
fin.entry
}
FUNCTION {booklet}
{ output.bibitem
author empty$
{ format.editors "author and editor" output.check }
{ format.authors format.editors output.nonnull }
if$
set.colon.after
format.btitle "title" output.check
format.edition.or.version output
format.url output
format.online.lastcheck
format.howpublished output
series new.sentence.checka
format.series.number.din output
pages empty$
{ skip$ }
{ pages set.period.dash.check
pages format.bkpages.collat.check output
}
if$
type set.period.dash.check
format.digital.type output
doi set.period.dash.check
urn set.period.dash.check
format.doi.urn output
note set.period.dash.check
note output
format.isbn.issn output
fin.entry
}
FUNCTION {inbook}
{ output.bibitem
chapter format.chapter.inbook output.nonnull
crossref missing$
{ author empty$
{ format.editors "\,{In:\,}" swap$ * "author and editor" output.check }
{ format.authors "\,{In:\,}" swap$ * output.nonnull }
if$
author empty$ editor empty$ AND
{ before.all 'output.state := }
{ set.colon.after }
if$
format.btitle.vol "title" output.check
format.edition output
format.address.publisher.year "publisher" output.check
new.sentence
format.series.number.din output
isbn set.period.dash.check
format.isbn.issn output
}
{ format.book.crossref output.nonnull }
if$
part.of.sentence
format.pages output
note set.period.dash.check
note output
fin.entry
}
FUNCTION {incollection}
{ output.bibitem
format.authors "author" output.check
set.colon.after
format.title "title" output.check
format.version.url output
type empty$ NOT
{ type #-1 #4 substring$ "mail" =
type #1 #4 substring$ "Mail" =
OR
'skip$
{ format.online.lastcheck }
if$
}
{ format.online.lastcheck }
if$
crossref missing$
{ format.in.ed.booktitle.din "booktitle" output.check
format.edition output
format.address.publisher.year "publisher" output.check
format.maillist.url output
format.maillist.lastcheck
new.sentence
format.series.number.din output
doi set.period.dash.check
urn set.period.dash.check
format.doi.urn output
isbn set.period.dash.check
issn set.period.dash.check
format.isbn.issn output
}
{ format.incoll.inproc.crossref output.nonnull }
if$
part.of.sentence
format.chapter.pages "pages" output.check
note set.period.dash.check
note output
fin.entry
}
FUNCTION {inproceedings}
{ output.bibitem
format.authors "author" output.check
set.colon.after
format.title "title" output.check
crossref missing$
{ format.in.ed.booktitle.din "booktitle" output.check
address empty$
{ organization new.sentence.checka
organization output
part.of.sentence
format.address.publisher.year output
}
{ format.address.publisher.year "publisher" outpu