PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Biblatex, Volume Feld



kpboateng
26-07-2012, 14:33
Hallo Lesende,

ich habe eine Frage bezgl. Biblatex. Zum Hintergrund: Ich arbeite mit Lyx 2.0 und leite meinen Latex-Vorspann mit folgendem Code ein:



\usepackage[style=authoryear,doi=false, url=false, isbn=false, natbib=true]{biblatex}
\bibliography{LINKTODATABASE}


Eine daraus resultierende Referenz sieht am Ende des kompilierten Dokuments wie folgt aus:

Drentea, Patricia (2000). “Age, Debt and Anxiety”. Journal of Health and Social Behavior 41[], pp. 437 –450.

Das ist eine Reference im "Article"-Format die soweit in Ordnung ist. Was mich nur stört ist, dass die eckigen Klammer (in Rot markiert) gemacht werden ob das Feld für "Volume" leer ist. Ist es möglich, dass das Volume Feld von Artikeln (sprich die eckigen Klammern) ausgeblendet werden, wenn das Feld leer ist? D.h. auch für alle Artikel deren "Volume" Information ich habe soll es angezeigt werden.

Ist Verständlich was ich meine? Ich wäre über sachdienliche Hinweise sehr froh.

Viele Grüße
Kpboateng

bobmalaria
26-07-2012, 15:27
hi,

mach doch bitte ein minimalbeispiel in tex code das man kopieren und kompilieren kann...
sonst wird es echt schwer zu helfen. auch der code des eintrages aus der datenbak ist wichtig.

ansonsten als hinweis, biblatex kann mit \iffieldundef{eintrag}{dann}{sonst} pruefen ob ein bestimmter eintrag vorhanden ist und was dann im jeweiligen fall passieren/ausgegeben werden soll.

gruss

kpboateng
18-08-2012, 14:33
Hallo, leider etwas verspätet, aber hier kommt mein Minimalbeispiel:

mini.tex


\documentclass[ngerman]{scrartcl}

\usepackage[latin9]{inputenc}
\usepackage{babel,csquotes}
\usepackage[style=authoryear,doi=false, url=false, isbn=false, backref=false, backrefstyle=all+, natbib=true]{biblatex}
\bibliography{test}

\DeclareFieldFormat{sentencecase}{\MakeSentenceCas e*{#1}}
\renewbibmacro{title}{%
\ifthenelse{\iffieldundef{title}\AND\iffieldundef{ subtitle}}{}
{\ifthenelse{\ifentrytype{article}\OR\ifentrytype{ inbook}%
\OR\ifentrytype{incollection}\OR\ifentrytype{inpro ceedings}}
{\printtext[title]{%
\printfield[sentencecase]{title}%
\setunit{\subtitlepunct}%
\printfield[sentencecase]{subtitle}}%
\newunit}%
{\printtext[title]{%
\printfield[titlecase]{title}%
\setunit{\subtitlepunct}%
\printfield[titlecase]{subtitle}}%
\newunit}}%
\printfield{titleaddon}}

\newbibmacro*{volume+number+eid}{%
\printfield{volume}%
% \setunit*{\adddot}%
\mkbibbrackets{\printfield{number}}%
\setunit{\addcomma\space}%
\printfield{eid}}

\renewbibmacro{in:}{%
\ifentrytype{article}{}{%
\printtext{\bibstring{in}\intitlepunct}}}



\begin{document}
Dies ist nur ein kleines Testdokument.

\textcite{Drentea2000}

\nocite{*}
\printbibliography
\end{document}


test.bib


@ARTICLE{Drentea2000,
author = {Drentea, Patricia},
title = {Age, Debt and Anxiety},
journal = {Journal of Health and Social Behavior},
year = {2000},
volume = {41},
pages = {437 -- 450},
month = {December},
timestamp = {2012.06.04}
}


Hoffe es hilft. Vielen Dank!

kpboateng
20-08-2012, 13:41
Ich habe die Zeile:


\mkbibbrackets{\printfield{number}}%

durch diese ersetzt:


\iffieldundef{number} {} {(\printfield{number})}%

und es funktioniert. Viele Grüße