von kasiii » So 16. Aug 2015, 22:42
Hallo,
ich muss Normen zitieren... Soweit klappt das auch ganz gut. Allerdings wird das month-Feld ausgeschrieben ausgegeben (das soll im APA-Stil auch so sein).
Ich habe mir mit Hilfe von einigen Foreneinträgen den folgenden Code zusammengeschustert.
\documentclass[]{scrartcl}
\usepackage[T1]{fontenc}
\usepackage[utf8,]{inputenc}
\usepackage[ngerman]{babel}
\usepackage[style=apa, backend=biber,]{biblatex}
\DeclareLanguageMapping{ngerman}{ngerman-apa}
\DefineBibliographyStrings{ngerman}{andothers={et\addabbrvspace al\adddot}} % Bei mehreren Autoren wird et~al. verwendet.
\usepackage{filecontents}
\begin{filecontents}{norm1.bib}
@NORM{DIN40110,
label = {DIN 40\,110-1},
title = {Wechselstromgrößen -- Teil 1: Zweileiter-Stromkreiese},
sortkey = {DIN 40\;110-1:1994-03},
year = {1994},
month = {03},
}
@NORM{DIN1338,
label = {DIN 1338},
title = {Formelschreibweise und Formelsatz},
sortkey = {DIN 1338:2011-03},
year = {2011},
month = {03},
}
\end{filecontents}
\addbibresource{norm1.bib}
\DeclareDatamodelEntrytypes{norm}
\DeclareDatamodelEntryfields[norm]{
label,
sortkey,
year
}
\DeclareBibliographyDriver{norm}{%
\usebibmacro{bibindex}%
\usebibmacro{begentry}%
\printfield{label}%
\addcolon
\printfield{year}-\printfield{month}\addcomma%
\newunit\newblock
\printfield{title}%
}
\newcommand*{\citenorm}{\addspace}
\DeclareCiteCommand{\citenorm}{}{\printfield{label}}{}{} % {\addcolon\printfield{year}}
\begin{document}
\citenorm{DIN40110} \\ \citenorm{DIN1338}
\printbibheading[title={Literaturverzeichnis}]
\printbibliography[type=norm, heading=subbibliography, title={Normen}]
\end{document}
Im Literaturverzeichnis erhalte ich zum Beispiel den Eintrag:
DIN 1338:2011-
März,
Formelschreibweise und Formelsatz
Wenn Normen Zitiert werden, sollte der Monat allerdings nur als Zahl ausgegeben werden:
DIN 1338:2011-
03,
Formelschreibweise und Formelsatz
Wie erreiche ich das gewünsche Verhalten? Alle anderen Quellen sollen weiterhin den ausgeschriebenen Monatsnamen enthalten.
Hallo,
ich muss Normen zitieren... Soweit klappt das auch ganz gut. Allerdings wird das month-Feld ausgeschrieben ausgegeben (das soll im APA-Stil auch so sein).
Ich habe mir mit Hilfe von einigen Foreneinträgen den folgenden Code zusammengeschustert.
[code]\documentclass[]{scrartcl}
\usepackage[T1]{fontenc}
\usepackage[utf8,]{inputenc}
\usepackage[ngerman]{babel}
\usepackage[style=apa, backend=biber,]{biblatex}
\DeclareLanguageMapping{ngerman}{ngerman-apa}
\DefineBibliographyStrings{ngerman}{andothers={et\addabbrvspace al\adddot}} % Bei mehreren Autoren wird et~al. verwendet.
\usepackage{filecontents}
\begin{filecontents}{norm1.bib}
@NORM{DIN40110,
label = {DIN 40\,110-1},
title = {Wechselstromgrößen -- Teil 1: Zweileiter-Stromkreiese},
sortkey = {DIN 40\;110-1:1994-03},
year = {1994},
month = {03},
}
@NORM{DIN1338,
label = {DIN 1338},
title = {Formelschreibweise und Formelsatz},
sortkey = {DIN 1338:2011-03},
year = {2011},
month = {03},
}
\end{filecontents}
\addbibresource{norm1.bib}
\DeclareDatamodelEntrytypes{norm}
\DeclareDatamodelEntryfields[norm]{
label,
sortkey,
year
}
\DeclareBibliographyDriver{norm}{%
\usebibmacro{bibindex}%
\usebibmacro{begentry}%
\printfield{label}%
\addcolon
\printfield{year}-\printfield{month}\addcomma%
\newunit\newblock
\printfield{title}%
}
\newcommand*{\citenorm}{\addspace}
\DeclareCiteCommand{\citenorm}{}{\printfield{label}}{}{} % {\addcolon\printfield{year}}
\begin{document}
\citenorm{DIN40110} \\ \citenorm{DIN1338}
\printbibheading[title={Literaturverzeichnis}]
\printbibliography[type=norm, heading=subbibliography, title={Normen}]
\end{document}[/code]
Im Literaturverzeichnis erhalte ich zum Beispiel den Eintrag:
DIN 1338:2011-[color=red]März[/color], [i]Formelschreibweise und Formelsatz[/i]
Wenn Normen Zitiert werden, sollte der Monat allerdings nur als Zahl ausgegeben werden:
DIN 1338:2011-[color=red]03[/color], [i]Formelschreibweise und Formelsatz[/i]
Wie erreiche ich das gewünsche Verhalten? Alle anderen Quellen sollen weiterhin den ausgeschriebenen Monatsnamen enthalten.