Ich habe bei den article und book bereits diverse Anpassungen unternommen, um den Vorgaben der Universität Ulm zu folgen (Merkblatt). Jetzt möchte ich diese gerne auf phdthesis anwenden:

Open in Online-Editor
\documentclass{article}
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage[babel, german=quotes]{csquotes}
\usepackage[backend=biber,citestyle=numeric,bibstyle=authoryear,firstinits=true,terseinits=true,maxbibnames=99]{biblatex}

\renewbibmacro{in:}{} %http://projekte.dante.de/DanteFAQ/BiblatexInBeiArticleUnterdr%fccken

\AtEveryBibitem{\clearfield{note}} %http://projekte.dante.de/DanteFAQ/BiblatexFeldUnterdr%fccken
\AtEveryBibitem{\clearfield{url}}
\AtEveryBibitem{\clearfield{number}}
\AtEveryBibitem{\clearfield{abstract}}
\AtEveryBibitem{\clearlist{language}}

%http://de.comp.text.tex.narkive.com/d5x9LIG5/biblatex-anpassung-eines-bibliography-styles
\DeclareFieldFormat{journaltitle}{#1\isdot} %journal titel nicht kursiv

\DeclareFieldFormat[article]{pages}{#1} %Seite weglassen.
\DeclareFieldFormat[article]{title}{#1} % keine anführungszeichen um Titel bei allen Artikeln
\DeclareFieldFormat[book]{title}{#1} %titel bei book nicht kursiv und keine Anführungszeichen

\renewcommand{\labelnamepunct}{\addcolon\space} % Doppelpunkt nach letztem Autor

%http://tex.stackexchange.com/questions/17583/biblatex-remove-commas-between-last-and-first-names-in-bibliography
\renewcommand*{\revsdnamepunct}{} %Komma zwischen Nachnamen und Vornamen weg

% Schlüssel als Zahlen in eckigen Klammern
\DeclareFieldFormat{bibentrysetcount}{\mkbibparens{\mknumalph{#1}}}
\DeclareFieldFormat{labelnumberwidth}{\mkbibbrackets{#1}}
\defbibenvironment{bibliography}
  {\list
     {\printtext[labelnumberwidth]{%
    \printfield{prefixnumber}%
    \printfield{labelnumber}}}
     {\setlength{\labelwidth}{\labelnumberwidth}%
      \setlength{\leftmargin}{\labelwidth}%
      \setlength{\labelsep}{\biblabelsep}%
      \addtolength{\leftmargin}{\labelsep}%
      \setlength{\itemsep}{\bibitemsep}%
      \setlength{\parsep}{\bibparsep}}%
     \renewcommand*{\makelabel}[1]{\hss##1}}
  {\endlist}
  {\item}
\DeclareNameAlias{sortname}{last-first}

% Doppelpunkt nach journal 
%http://tex.stackexchange.com/questions/249010/adding-comma-after-journal-name-in-biblatex
\renewbibmacro*{journal+issuetitle}{
  \usebibmacro{journal}%
  \setunit*{\addcolon\space}%
  \iffieldundef{series}
    {}
    {\newunit
     \printfield{series}%
     \setunit{\addspace}}%
  \usebibmacro{volume+number+eid}%
  \setunit{\addspace}%
  \usebibmacro{issue+date}%
  \setunit{\addcolon\space}%
  \usebibmacro{issue}%
  \newunit}

% mit terseinits=true in den Optionen für biblatex -> enfernt die Punkte nach den Initialen
%http://tex.stackexchange.com/questions/65438/removing-full-stop-after-first-name-initial-in-biblatex-for-all-authors
\renewbibmacro*{name:last-first}[4]{
  \ifuseprefix
    {\usebibmacro{name:delim}{#3#1}%
     \usebibmacro{name:hook}{#3#1}%
     \ifblank{#3}{}{%
       \ifcapital
         {\mkbibnameprefix{\MakeCapital{#3}}\isdot}
     {\mkbibnameprefix{#3}\isdot}%
       \ifpunctmark{'}{}{\bibnamedelimc}}%
     \mkbibnamelast{#1}\isdot
     \ifblank{#4}{}{\bibnamedelimd\mkbibnameaffix{#4}\isdot}%
%      \ifblank{#2}{}{\addcomma\bibnamedelimd\mkbibnamefirst{#2}\isdot}}% DELETED
     \ifblank{#2}{}{\bibnamedelimd\mkbibnamefirst{#2}\isdot}}% NEW
    {\usebibmacro{name:delim}{#1}%
     \usebibmacro{name:hook}{#1}%
     \mkbibnamelast{#1}\isdot
     \ifblank{#4}{}{\bibnamedelimd\mkbibnameaffix{#4}\isdot}%
%      \ifblank{#2#3}{}{\addcomma}% DELETED
     \ifblank{#2}{}{\bibnamedelimd\mkbibnamefirst{#2}\isdot}%
     \ifblank{#3}{}{\bibnamedelimd\mkbibnameprefix{#3}\isdot}}}

\renewcommand*{\finalnamedelim}{\addcomma\space}

\DeclareNameAlias{sortname}{last-first}

% Zuerst das Datum aus dem Autor entfernen:
\renewbibmacro*{author}{%
  \ifboolexpr{
    test \ifuseauthor
    and
    not test {\ifnameundef{author}}
  }
    {\usebibmacro{bbx:dashcheck}
       {\bibnamedash}
       {\usebibmacro{bbx:savehash}%
        \printnames{author}%
        \iffieldundef{authortype}
          {\setunit{\printdelim{nameyeardelim}}}
          {\setunit{\addcomma\space}}}%
     \iffieldundef{authortype}
       {}
       {\usebibmacro{authorstrg}%
        \setunit{\printdelim{nameyeardelim}}}}%
    {\global\undef\bbx@lasthash
     \usebibmacro{labeltitle}%
     \setunit*{\printdelim{nonameyeardelim}}}%
%  \usebibmacro{date+extrayear}%
}
% Dann das Jahr am Ende wieder einfügen und den Punkt am Ende weglassen:
\usepackage{xpatch}
\xpatchbibdriver{article}{\usebibmacro{finentry}}{\nopunct\usebibmacro{date+extrayear}\nopunct\usebibmacro{finentry}}{}{}

%nochmal für Buch
\xpatchbibdriver{book}{\usebibmacro{finentry}}{\nopunct\usebibmacro{date+extrayear}\nopunct\usebibmacro{finentry}}{}{}

%punkt in abgekürzten journaltiteln entfernen und mit leerzeichen ersetzen
\DeclareSourcemap{ 
    \maps[datatype=bibtex]{
      \map{
           \step[fieldsource=journal, match=\regexp{\.}, replace={\space}]
          }
    }      
}

%Med. Dissertation anstatt Diss.
\DefineBibliographyStrings{ngerman}{phdthesis = {Med Dissertation}}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\RequirePackage{filecontents}
\begin{filecontents}{bib.bib}

@book{RefWorks:1,
    author={X. Wiesengrund and M. Zeppelin},
    year={1990},
    title={Die Anatomie der gemeinen Hausfliege},
    publisher={Springer},
    address={Berlin Heidelberg New York},
    pages={21-40},
}

@article{RefWorks:2,
    author={H. Müller and R. Meier and X. Schultze},
    year={2013},
    title={Möglichkeiten zur Proliferation von Dissertationen},
    journal={J.Comp.Neurol.},
    volume={55},
    pages={11-55},
}

@phdthesis{RefWorks:3,
    title    = {Immunologische Diagnostik bei Kindern},
    school   = {Universität Bonn},
    author   = {D.W. Lorenz},
    year     = {2010}, 
}

\end{filecontents}

\nocite{*} %nur bibliographie ausgeben
\addbibresource{bib.bib}

\begin{document}
 \printbibliography
\end{document}

Was ergibt:

alt text

Warum funktioniert

Open in Online-Editor
%nochmal für phdthesis
\xpatchbibdriver{phdthesis}{\usebibmacro{finentry}}
{\nopunct\usebibmacro{date+extrayear}\nopunct\usebibmacro{finentry}}{}{}

zum Einfügen des Jahres am Ende/zum Löschen des Punktes

bzw.

Open in Online-Editor
\DeclareFieldFormat[phdthesis]{title}{#1} %titel bei phdthesis nicht kursiv und keine Anführungszeichen

nicht bei phdthesis?

gefragt 12 Okt '16, 12:09

tobsen's gravatar image

tobsen
66510
Akzeptiert-Rate: 0%

bearbeitet 12 Okt '16, 19:44

2

Weil es keinen Treiber für phdthesis gibt, du musst thesis ändern.

(12 Okt '16, 12:59) Ulrike Fischer

In der biblatex-Anleitung findest Du, dass es zu einigen Datensätzen Untertypen gibt. Diese werden normalerweise über das Feld type ausgewählt, können aber in der Regel auch über spezielle Datensatzarten gewählt werden. Allerdings sind diese Datensatzarten dann nicht durch eigene Treiber realisiert, sondern Aliase für die Grundarten mit entsprechend gesetztem type. Daraus ergibt sich, dass man für solche Datensatz-Untertypen den Grundtyp ändern muss, also beispielsweise

Open in Online-Editor
\xpatchbibdriver{thesis}{\usebibmacro{finentry}}
{\nopunct\usebibmacro{date+extrayear}\nopunct\usebibmacro{finentry}}{}{}

verwenden müsste.

Unterscheidungen zwischen Untertypen müssen ggf. über Verzweigungen nach dem Feld type vorgenommen werden, also beispielsweise

Open in Online-Editor
\xpatchbibdriver{thesis}{\usebibmacro{finentry}}
{\nopunct\usebibmacro{date+extrayear}\iffieldequalstr{type}{phdthesis}{\nopunct}{}\usebibmacro{finentry}}{}{}

wenn der Punkt nur für type=phdthesis entfernt werden soll.

Permanenter link

beantwortet 12 Okt '16, 16:47

saputello's gravatar image

saputello
11.1k154365
Akzeptiert-Rate: 51%

bearbeitet 13 Okt '16, 11:19

Deine Antwort
Vorschau umschalten

Folgen dieser Frage

Per E-Mail:

Wenn sie sich anmelden, kommen Sie für alle Updates hier in Frage

Per RSS:

Antworten

Antworten und Kommentare

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs fügen Sie einfach zwei Leerzeichen an die Stelle an der die neue Linie sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Frage-Themen:

×220
×103
×50
×1

gestellte Frage: 12 Okt '16, 12:09

Frage wurde gesehen: 9,532 Mal

zuletzt geändert: 13 Okt '16, 11:19