Seite 1 von 1

BibLaTeX APA kein ISBN dargestellt

Verfasst: Mi 22. Jul 2015, 20:35
von sla89
Hallo,

ich habe ein Problem mit BibLaTeX, APA und Biber.

Ich habe in meiner Litearturverzeichnis einige Bücher mit ISBN/ISSN/..-Angaben. Allerdings werden sie bei mir nicht dargestellt.

Hier ein Minicodebeispiel:
\begin{filecontents}{\jobname.bib} 

@book{sauter_grundkurs_2013,
	location = {Wiesbaden},
	edition = {5., überarb. und erw. Aufl. 2013},
	title = {{Grundkurs Mobile Kommunikationssysteme: {UMTS}, {HSPA} und {LTE}, {GSM}, {GPRS}, Wireless {LAN} und Bluetooth}},
	isbn = {9783658014605},
	shorttitle = {Grundkurs Mobile Kommunikationssysteme},
	pagetotal = {409},
	publisher = {Springer Vieweg},
	author = {Sauter, Martin},
	date = {2013}
}

\end{filecontents} 

\documentclass[bibliography=totoc]{scrartcl} 
\usepackage[ngerman]{babel} % language 
\usepackage[T1]{fontenc} 
\usepackage[utf8]{inputenc} 
\usepackage{csquotes}% Recommended 
\usepackage[
	style=apa,
	backend=biber,
	maxcitenames=1,
	isbn=true,
	sortlocale=de_DE,
	natbib=true,
	url=true, 
	doi=true
]{biblatex}

\DeclareLanguageMapping{ngerman}{ngerman-apa} 
\NewBibliographyString{from} 
\NewBibliographyString{retrieved} 
\NewBibliographyString{nodate} 
\DefineBibliographyStrings{ngerman}{ 
   bibliography = {Literaturverzeichnis}, 
  andothers ={et\addabbrvspace al\adddot}, 
  andmore   ={et\addabbrvspace al\adddot}, 
   from = {Online\space im\space Internet:}, 
   retrieved = {Zugriff\space am:}, 
   nodate = {o\adddot\space {J}\adddot} 
} 
\addbibresource{\jobname.bib}%jobname NICHT ersetzen 
\begin{document} 

asdfasdf \cite{sauter_grundkurs_2013} 

\printbibliography 
\end{document} 
Ausgabe:
Bild

Woran könnte das liegen? Die Verwendung von APA ist leider eine Vorgabe und laut Leitfaden für Literaturverzeichnisse, muss ich die ISBN angeben (macht auch Sinn).

Vielen Dank und schöne Grüße,
Stefan

PS: ich habe erst vor kurzem ein Thema zu BibLaTeX aufgemacht, doch das dort geschilderte Problem ist bereits gelöst und hat wenig mit dem aktuellen Problem zu tun. Hoffe es ist in Ordnung, dass ich ein neues Thema aufgemacht habe.

Verfasst: Do 23. Jul 2015, 07:26
von Gast
Das Paket biblatex-apa scheint tatsächlich überhaupt keine Anlage für die ISBN geschaffen zu haben, da den Vorgaben der APA aber sehr genau gefolgt wird, gehe ich davon aus, dass auch die auf ISBNs weitgehend verzichtet. Daher die Warnung, dass mit der Änderung strikte APA-Compliance eventuell verloren geht.

Wir können den Code für die ISBN in das Makro doi+eprint+url, das von allen Typ-Treibern aufgerufen wird, integrieren; ich habe hier genau das Verhalten der anderen Felder kopiert, sodass nach einer ISBN kein Punkt kommt, sollte sie am Ende eines Eintrages stehen.
\renewbibmacro*{doi+eprint+url}{%
  \iftoggle{bbx:doi}
    {\printfield{doi}%
     \iffieldundef{doi}{}{\renewcommand*{\finentrypunct}{\relax}}}
    {}%
  \newunit\newblock
  \iftoggle{bbx:eprint}
    {\usebibmacro{eprint}%
     \iffieldundef{eprint}{}{\renewcommand*{\finentrypunct}{\relax}}}
    {}%
  \newunit\newblock
  \iftoggle{bbx:isbn}
    {\printfield{isbn}%
     \iffieldundef{isbn}{}{\renewcommand*{\finentrypunct}{\relax}}}
    {}%
  \newunit\newblock
  \iftoggle{bbx:url}
    {\usebibmacro{url+urldate}%
     \iffieldundef{url}{}{\renewcommand*{\finentrypunct}{\relax}}}
    {}}
MWE
\begin{filecontents}{\jobname.bib}

@book{sauter_grundkurs_2013,
   location = {Wiesbaden},
   edition = {5., überarb. und erw. Aufl. 2013},
   title = {{Grundkurs Mobile Kommunikationssysteme: {UMTS}, {HSPA} und {LTE}, {GSM}, {GPRS}, Wireless {LAN} und Bluetooth}},
   isbn = {978-3-658-01460-5},
   shorttitle = {Grundkurs Mobile Kommunikationssysteme},
   pagetotal = {409},
   publisher = {Springer Vieweg},
   author = {Sauter, Martin},
   date = {2013}
}

\end{filecontents}
\documentclass[bibliography=totoc]{scrartcl}
\usepackage[ngerman]{babel} % language
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{csquotes}% Recommended
\usepackage[
   style=apa,
   backend=biber,
   maxcitenames=1,
   isbn=true,
   sortlocale=de_DE,
   natbib=true,
   url=true,
   doi=true
]{biblatex}

\DeclareLanguageMapping{ngerman}{ngerman-apa}
\NewBibliographyString{from}
\NewBibliographyString{retrieved}
\NewBibliographyString{nodate}
\DefineBibliographyStrings{ngerman}{
   bibliography = {Literaturverzeichnis},
  andothers ={et\addabbrvspace al\adddot},
  andmore   ={et\addabbrvspace al\adddot},
   from = {Online\space im\space Internet:},
   retrieved = {Zugriff\space am:},
   nodate = {o\adddot\space {J}\adddot}
}
\addbibresource{\jobname.bib}%jobname NICHT ersetzen



\renewbibmacro*{doi+eprint+url}{%
  \iftoggle{bbx:doi}
    {\printfield{doi}%
     \iffieldundef{doi}{}{\renewcommand*{\finentrypunct}{\relax}}}
    {}%
  \newunit\newblock
  \iftoggle{bbx:eprint}
    {\usebibmacro{eprint}%
     \iffieldundef{eprint}{}{\renewcommand*{\finentrypunct}{\relax}}}
    {}%
  \newunit\newblock
  \iftoggle{bbx:isbn}
    {\printfield{isbn}%
     \iffieldundef{isbn}{}{\renewcommand*{\finentrypunct}{\relax}}}
    {}%
  \newunit\newblock
  \iftoggle{bbx:url}
    {\usebibmacro{url+urldate}%
     \iffieldundef{url}{}{\renewcommand*{\finentrypunct}{\relax}}}
    {}}


\begin{document}

asdfasdf \cite{sauter_grundkurs_2013}

\printbibliography
\end{document}
Ich würde empfehlen, die ISBN mit Strichen zu gliedern, das macht sie etwas leichter lesbar.

Alternativ, wenn der Punkt beibehalten werden soll, wäre natürlich auch
\renewbibmacro*{doi+eprint+url}{%
  \iftoggle{bbx:doi}
    {\printfield{doi}%
     \iffieldundef{doi}{}{\renewcommand*{\finentrypunct}{\relax}}}
    {}%
  \newunit\newblock
  \iftoggle{bbx:eprint}
    {\usebibmacro{eprint}%
     \iffieldundef{eprint}{}{\renewcommand*{\finentrypunct}{\relax}}}
    {}%
  \newunit\newblock
  \printfield{isbn}%
  \newunit\newblock
  \iftoggle{bbx:url}
    {\usebibmacro{url+urldate}%
     \iffieldundef{url}{}{\renewcommand*{\finentrypunct}{\relax}}}
    {}}
ausreichend.

Verfasst: Do 23. Jul 2015, 08:22
von sla89
Vielen, vielen herzlichen Dank!

Funktioniert so einwandfrei.

Meine Hochschule hat leider noch keinen eigenen LaTeX-Zitierstil... Es wurde uns gesagt, dass der APA mit ein paar Modifikationen am ehesten die Vorgaben einhaltet...

Danke :)

Mit den ISBN's hast du ebenfalls recht - werde sie anpassen. Ist deutlich lesbarer.

Verfasst: Do 23. Jul 2015, 09:30
von Gast
Ah... Sei aber gewarnt, dass biblatex-apa sich sehr genau an die APA-Vorgaben hält und, um das zu erreichen, auch sehr viel teils sehr komplizierten Code enthält. Dadurch ist er lang nicht so leicht anzupassen wie die Standardstile.

Je nach dem wie viel Du modifizieren musst, um Deine Uni zufriedenzustellen, kann es sinnvoller sein, mit einem Standardstil wie authoryear zu starten. (In meiner Erfahrung sind den meisten Dozenten viele Details egal, solange man nur ihre ein oder zwei Sonderwünsche berücksichtigt.)

Verfasst: Do 23. Jul 2015, 15:09
von sla89
Zum Glück waren die fehlenden ISBN das einzige, was meinem Betreuer noch gefehlt hat. :)