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, 14:56

dzaic's gravatar image

dzaic
631104853
Akzeptiert-Rate: 42%

bearbeitet 16 Dez '14, 15: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, 17:40

Johannes's gravatar image

Johannes
7.3k294566
Akzeptiert-Rate: 43%

bearbeitet 16 Dez '14, 17:41

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

gestellte Frage: 16 Dez '14, 14:56

Frage wurde gesehen: 7,013 Mal

zuletzt geändert: 16 Dez '14, 17:41