LukasCBossert / biblatex-arthistory-bonn

Zitier- und Bibliographieregeln gemäß der Kunstgeschichte Universität Bonn
3 stars 1 forks source link

H-ArtHist ist ein Newsletter und müsste mit ganzem Datum in der Bib erscheinen #17

Closed AlfonsoMuskedunder closed 7 years ago

AlfonsoMuskedunder commented 7 years ago

Zur Zeit wird nur das Jahr ausgegeben.

LukasCBossert commented 7 years ago

@moewew : Kann man für einen Eintragstyp das Datumsformat ändern, sodass es als bspw. 12.11.2016 ausgegeben wird?

@Review{vonengelberg,
  author       = {von Engelberg, Meinrad},
  journaltitle = {H-ArtHist},
  related      = {Brossette2002},
  relatedtype  = {reviewof},
  arthist      = {35},
  date         = {2003-11-12},
}

Momentan wird @review als @article ausgegeben (was man bei Bedarf ändern kann):

\newbibmacro{journal+number+year}{%
 \usebibmacro{journal}%
 \iffieldundef{volume}
   {\setunit{\addspace}}
   {\setunit{\jourvoldelim}%
   \printfield{volume}}%
  \iffieldundef{number}
    {}
    {\newunit\bibstring{number}%
     \setunit{\addthinspace}%
     \printfield{number}}% 
  \iffieldundef{issue}
    {}
    {\setunit{\volissuedelim}
     \printfield{issue}}% 
 \setunit{\addspace}%
\usebibmacro{pubstate+year}}

\newbibmacro{pubstate+year}{%
 \iffieldundef{pubstate}%
  {\iffieldundef{year}
    {\usebibmacro{date+extrayear}}%
    {\printfield{year}}}%
 {\printfield{pubstate}}}

\DeclareBibliographyAlias{review}{article}
%-----------------------
\DeclareBibliographyDriver{article}{%
  \usebibmacro{bibindex}%
  \usebibmacro{begentry}%
  \usebibmacro{author}%
  \setunit{\nametitledelim}\newblock
  \iftoggle{bbx:related}
    {\usebibmacro{related:init}%
     \usebibmacro{related}}
    {}%
  \usebibmacro{title}%
  \newunit\newblock
  \usebibmacro{byauthor}%
  \newunit\newblock
  \usebibmacro{bytranslator+others}%
  \newunit\newblock
  \printfield{version}%
  \newunit\newblock
  \usebibmacro{in:}%
  \usebibmacro{journal+number+year}%
  \newunit
  \usebibmacro{byeditor+others}%
  \newunit
  \usebibmacro{note+pages}%
  \newunit\newblock
  \iftoggle{bbx:isbn}
    {\printfield{issn}}
    {}%
  \newunit\newblock
  \usebibmacro{doi+eprint+url}%
  \newunit\newblock
  \usebibmacro{addendum+pubstate}%
  \setunit{\bibpagerefpunct}\newblock
  \usebibmacro{pageref}%
  \usebibmacro{finentry}}

Könnte man das über \iftoggle{bbx:arthist}, dann spucke date-Feld mit Tag, Monat, Jahr aus?

\newbibmacro{pubstate+year}{%
 \iffieldundef{pubstate}%
  {\iffieldundef{year}
    {\iftoggle{bbx:arthist}
     {\printdate}
     {\usebibmacro{date+extrayear}}}%
    {\printfield{year}}}%
 {\printfield{pubstate}}}

Das Ergebnis ändert sich nicht und ich verstehe nicht, wie man \print<datetype>date anpassen kann.

Als MWE kann arthistory-test.tex dienen oder

\documentclass[ngerman]{scrbook}
\usepackage{babel}
\usepackage{libertine}

\usepackage{csquotes}
\usepackage{filecontents}

\begin{filecontents}{\jobname.bib}
@Review{vonengelberg,
  author       = {von Engelberg, Meinrad},
  journaltitle = {H-ArtHist},
  related      = {Brossette2002},
  relatedtype  = {reviewof},
  arthist      = {35},
  date         = {2003-11-12},
}
@Book{Brossette2002,
  author   = {Brossette, Ursula},
  title    = {Inszenierung des Sakralen},
  subtitle = {Das Theatralische Raum- und Ausstattungsprogramm süddeutscher Barockkirchen in seinem liturgischen und zeremoniellen Kontext},
  location = {Weimar},
  year     = {2002},
  series   = {Marburger Studien zur Kunst- und Kulturgeschichte},
  number   = {4},
}

\end{filecontents}
\usepackage[           
  backend=biber,
 style=arthistory,
]{biblatex}

\addbibresource{\jobname.bib}
\begin{document}
\nocite{*}
\printbibliography
\end{document}
moewew commented 7 years ago

Meines Wissens ist \printdate nicht out-of-the-box typspezifisch anzupassen. Das ginge möglicherweise mit einem unglaublichen Gefrickel in den Interna.

Eventuell kann man mit einem direkten Aufruf der lower-level Makros wie \mkdaterangefullextra/\mkdaterangeshort/\mkdaterangelong etwas reißen. In dem neuen Datumskram von 3.5 bin ich aber noch nicht so drin, da müsstest Du ein bisschen experimentieren.