Ich habe mir für eine folgenden biblatex-Style für meine Literaturausgabe erstellt:

Open in writeLaTeX
\ProvidesFile{_Literaturstyle.bbx}[2012/02/20 v1.0 biblatex bibliography style]
\RequireBibliographyStyle{numeric}

\DeclareNameAlias{mydate}{default}
\DefineBibliographyStrings{english}{version={Rev.}}

\renewcommand*{\newunitpunct}{\addsemicolon\addspace}

\DeclareFieldFormat[report]{title}{\mkbibquote{#1}}

\DeclareBibliographyDriver{report}{%
  \printlist{institution}%
  \newunit%
  \printnames{author}%
  \newunit%
  \printfield{title}%
  \newunit
  \printfield{number}%
  \newunit%
  \printfield{version}%
  \newunit%
  \printfield{day}.\printfield{month} \printfield{year}%
  \finentry%
}

Und meine Bib-Datei sieht wie folgt aus:

Open in writeLaTeX
@REPORT{APOSTO,
  author      = {G. Apostolakis},
  title       = {Data specialization for plant specific risk studies},
  institution = {Nuclear Engineering and Design 56},
  number      = {321-329},
  date        = {1979-07-12}
}

@REPORT{RiskSpectrumTheoryManual,
  author      = {Relcon Scandpower AB},
  title       = {RiskSpectrum Analysis Tools - Theory Manual},
  number      = {BET/07/0286},
  version     = {3.2.1},
  date        = {2012-08}
}

Es kann also vorkommen, dass ab und an kein Eintrag für "version" vorhanden ist, oder bei "date" kein Tag angegeben ist. In diesem Fall hängt er aber dennoch den Punkt vei printfield{day}. an.

Hat jemand eine Lösung wo ich steuern kann, was ausgegeben werden soll, wenn Einträge leer sind oder das Feld gar nicht angegeben wurde?

gefragt 16 Dez '14, 08:56

dzaic's gravatar image

dzaic
721829
Akzeptiert: 85%

bearbeitet 16 Dez '14, 09:22


Auf sowas kannst du mit \iffieldundef{fieldname}{dann}{sonst} testen.

Beispielsweise:

Open in writeLaTeX
\iffieldundef{version}{%
    {\color{red} sorry, no version available}%
}{%
    \printfield{version}%
}%

Im ganzen sähe das ganze dann etwa so aus, allerdings würde ich da noch ein paar Schönheitskorrekturen machen ;-)

dzaicIffieldundef

Open in writeLaTeX
% Filecontents; handle with care!
\begin{filecontents}{\jobname.bbx}
\ProvidesFile{\jobname.bbx}[2014/12/16 v0.1 TeXwelt test]
\RequireBibliographyStyle{numeric}

\DeclareNameAlias{mydate}{default}
\DefineBibliographyStrings{english}{version={Rev.}}

\renewcommand*{\newunitpunct}{\addsemicolon\addspace}

\DeclareFieldFormat[report]{title}{\mkbibquote{#1}}

\DeclareBibliographyDriver{report}{%
    \printlist{institution}%
    \newunit%
    \printnames{author}%
    \newunit%
    \printfield{title}%
    \newunit
    \printfield{number}%
    \newunit%
    \iffieldundef{version}{%
        {\color{red} sorry, no version available}%
    }{%
        \printfield{version}%
    }%
    \newunit%
    \iffieldundef{day}{}{%
        \printfield{day}.\addspace}%
        \printfield{month}
    \printfield{year}%
    \finentry%
}
\endinput
\end{filecontents}
\begin{filecontents}{\jobname.bib}
    @REPORT{APOSTO,
        author      = {G. Apostolakis},
        title       = {Data specialization for plant specific risk studies},
        institution = {Nuclear Engineering and Design 56},
        number      = {321-329},
        date        = {1979-07-12}
    }

    @REPORT{RiskSpectrumTheoryManual,
        author      = {Relcon Scandpower AB},
        title       = {RiskSpectrum Analysis Tools - Theory Manual},
        number      = {BET/07/0286},
        version     = {3.2.1},
        date        = {2012-08}
    }
\end{filecontents}
\documentclass{scrartcl}
\usepackage[bibstyle=\jobname,backend=biber]{biblatex}
\addbibresource{\jobname.bib}
\usepackage{xcolor}
\begin{document}
no version: \cite{APOSTO}\par
no day: \cite{RiskSpectrumTheoryManual}\par
\printbibliography
\end{document}
Permanenter link

beantwortet 16 Dez '14, 11:40

Johannes's gravatar image

Johannes
7.2k132759

bearbeitet 16 Dez '14, 11:41

Deine Antwort auf die Frage (nicht auf andere Antworten)
Knebel-Vorschau

Folge dieser Frage

Per E-Mail:

Wenn Du Dich anmeldest, kannst Du Updates hier abonnieren

Per RSS:

Antworten

Antworten und Kommentare

Aktuelle Buch-Infos

LaTeX Cookbook

LaTeX Beginners Guide

Limitierter Rabatt ebook
50% Coupon code tDRet6Y

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üge einfach zwei Leerzeichen an die Stelle ein, an der die neue Zeile sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Zugeordnete Themen:

×127

Frage gestellt: 16 Dez '14, 08:56

Frage wurde angeschaut: 1,679 Mal

Zuletzt aktualisiert: 16 Dez '14, 11:41