Normen mit biblatex

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smilies
:D :) :( :o :shock: :? 8) :lol: :-x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Wenn du eine Datei oder mehrere Dateien anhängen möchtest, gib die Details unten ein.

Ansicht erweitern Die letzten Beiträge des Themas: Normen mit biblatex

von Gast » Mo 17. Aug 2015, 07:26

OK eleganter ist Deiner alter Code \printfield{year}-\printfield{month}\addcomma% in Verbindung mit
\DeclareFieldFormat[norm]{month}{#1}
In der Lösung einen weiter oben war außerdem das \stripzeros zu viel.

Die anderen Anmerkungen gelten aber immer noch.

von Gast » Mo 17. Aug 2015, 07:22

Die Lösung
\stripzeros{\thefield{month}}
die ich aus den \printdate Definitionen geklaut habe ist zwar weder schön, noch besonders elegant, aber sie scheint zu tun, was sie tun soll.
\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 = {DIN40110-1:1994-03}
   date = {1994-03},
}
@NORM{DIN1338,
   label = {DIN 1338},
   title = {Formelschreibweise und Formelsatz},
   sortkey = {DIN01338:2011-03}
   date = {2011-03},
}
\end{filecontents}
\addbibresource{norm1.bib}

\DeclareDatamodelEntrytypes{norm}
\DeclareDatamodelEntryfields[norm]{
  label,
  sortkey,
  year
  }
\DeclareBibliographyDriver{norm}{%
  \usebibmacro{bibindex}%
  \usebibmacro{begentry}%
  \printfield{label}%
  \addcolon
  \printfield{year}-\stripzeros{\thefield{month}}\addcomma%
  \newunit\newblock
  \printfield{title}%
  }

\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}
Die Zeile \newcommand*{\citenorm}{\addspace} ist übrigens höchst unnötig und verwirrt den geneigten Leser nur. Im m sortkey mit Leerzeichenbefehlen wie \, zu spielen verstehe ich übrigens nicht, sortkey = {DIN40110-1:1994-03} und sortkey = {DIN01338:2011-03} reichen doch völlig.

Normen mit biblatex

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.

Nach oben