Zusätzlichen Normenverzeichnis

Erstellung eines Literaturverzeichnisses mit BibTeX, Biber, BibLaTeX und Co.


Fragenius
Forum-Anfänger
Forum-Anfänger
Beiträge: 46
Registriert: Mo 4. Jan 2021, 14:16

Zusätzlichen Normenverzeichnis

Beitrag von Fragenius »

Hallo zusammen,

Innerhalb meiner Arbeit habe ich mein Literaturverzeichnis wie folgt eingebunden:

\KOMAoptions{bibliography=totoc}

\bibliographystyle{alphadin}
\bibliography{Literaturverzeichnis}

Ich bin mit der Zitation soweit recht zufrieden und würde daran auch nichts ändern wollen. Das einzige Problem ist das Zitieren von Normen. Bei dem Verzeichnis mit alphadin kommt für die Norm bspw. [DIN20] heraus.

Kann man evtl. ein zusätzliches Normenverzeichnis anlegen, was unter meinem eigentlichen Literaturverzeichnis ist und somit nicht dessen Formatierung zerstört? Ähnlich dem im Anhang ohne, dass die Zitation im Text mit Klammern ist.

Am besten wäre als Chapter Literaturverzeichnis und dann "Primärliteratur" (alphadin) und "Sekundärlitertur" (wie in der Abbildung).

Dateianhänge
Screenshot 2021-02-26 100324.png

MoeWe
Forum-Meister
Forum-Meister
Beiträge: 801
Registriert: Fr 30. Aug 2019, 15:35
Kontaktdaten:

Re: Zusätzlichen Normenverzeichnis

Beitrag von MoeWe »

Standard-BibTeX kann das ohne weiteres nicht. Auch natbib und Co. helfen an der Stelle nicht weiter.

Aber es gibt Zusatzpakete, die geteilte Literaturverzeichnisse mit BibTeX ermöglichen: https://ctan.org/pkg/bibtopic, https://ctan.org/pkg/multibib. Eventuell sind auch https://ctan.org/pkg/nmbib und https://ctan.org/pkg/multibbl interessant.

---

biblatex kann geteilte Literaturverzeichnisse ganz einfach "out of the box" ohne Zusatzpakete. Z.B. hier mit @patent und nicht Normen, da es für letztere keinen eigenen Driver und keine Beispiele in der biblatex-examples.bib gibt

\documentclass[ngerman]{article}
\usepackage[T1]{fontenc}
\usepackage{babel}
\usepackage{csquotes}

\usepackage[backend=biber, style=authoryear]{biblatex}

\addbibresource{biblatex-examples.bib}

\nocite{*}

\begin{document}
Lorem \autocite{sigfridsson}

\printbibliography[nottype=patent, title={Alles außer Patente}]
\printbibliography[type=patent, title={Patente}]
\end{document}

Fragenius
Forum-Anfänger
Forum-Anfänger
Beiträge: 46
Registriert: Mo 4. Jan 2021, 14:16

Re: Zusätzlichen Normenverzeichnis

Beitrag von Fragenius »

Okay, in einem Beispielprogramm funktioniert das schon einmal:

\documentclass[ngerman]{article}
\usepackage[T1]{fontenc}
\usepackage{babel}
\usepackage{csquotes}

\usepackage[backend=biber]{biblatex}

\addbibresource{Literaturverzeichnis.bib}


\begin{document}
\cite{AMPOLYMERS.2020}

\cite{Schnetzler.2007}

\printbibliography[nottype=misc, title={Alles}]
\printbibliography[type=misc, title={Internet}]

Ist es auch möglich den Zwei Verzeichnissen unterschiedliche Styles zuzuweisen?

\end{document}

Ist es auch möglich den zwei Verzeichnissen unterschiedliche Styles zuzuweisen?
Der erste quasi alphabetic und der zweite authoryear.

Dateianhänge
Literaturverzeichnis.bib
(918 Bytes) 143-mal heruntergeladen

Fragenius
Forum-Anfänger
Forum-Anfänger
Beiträge: 46
Registriert: Mo 4. Jan 2021, 14:16

Re: Zusätzlichen Normenverzeichnis

Beitrag von Fragenius »

Der Stand wie er jetzt ist gefällt mir ziemlich gut, aber wie gesagt:

Ich habe jetzt zwei Verzeichnisse mit dem gleichen Stil. Kann ich beiden einen unterschiedlichen Stil zuweisen?

\usepackage[backend=biber, style=alphabetic]{biblatex}
\addbibresource{Literaturverzeichnis.bib}

\printbibheading[heading=bibintoc, title=Literaturverzeichnis]
\printbibliography[nottype=misc, heading=subbibliography, title={Primärliteratur}] 
\printbibliography[type=misc, heading=subbibliography, title={Normen und Richtlinien}]

MoeWe
Forum-Meister
Forum-Meister
Beiträge: 801
Registriert: Fr 30. Aug 2019, 15:35
Kontaktdaten:

Re: Zusätzlichen Normenverzeichnis

Beitrag von MoeWe »

Im Allgemeinen ist es nicht möglich, mit biblatex verschiedene Stile in einem Dokument zu nutzen. Oft gibt es aber Wege, um diese Beschränkung zu umgehen, die kommen aber immer auf den Kontext und das gewünschte Resultat an.

Ich frage mich, ob Du hier wirklich in Deinem Normenverzeichnis einen Autor-Jahr-Stil haben möchtest. Es scheint mir sinnvoller, Normen mit ihrer Bezeichnung zu zitieren. Sonst wären ja alle ISO-Normen aus diesem Jahr "DIN 2021", das hilft niemandem. Die Normbezeichnung kannst Du dann einfach als shorthand in die .bib-Datei schreiben.

\documentclass[ngerman]{article}
\usepackage[T1]{fontenc}
\usepackage{babel}
\usepackage{csquotes}

\usepackage[backend=biber, style=alphabetic]{biblatex}

\begin{filecontents}{\jobname.bib}
@misc{AMPOLYMERS.2020,
  editor = {{AM POLYMERS GmbH}},
  date   = {2020-11-27},
  title  = {Polypropylen - PP},
  url    = {https://www.am-polymers.de/polypropylen-pp/},
}
@misc{DINEN603351.2020,
  year      = {2020},
  title     = {DIN EN 60335-1:
               Sicherheit elektrischer Geräte für den Hausgebrauch
               und ähnliche Zwecke:
               Teil 1: Allgemeine Anforderungen},
  author    = {{Deutsches Institut für Normung}},
  shorthand = {DIN~EN~60335-1},
}
@book{Klahn.2018,
  author    = {Klahn, Christoph},
  year      = {2018},
  title     = {Entwicklung und Konstruktion für die additive Fertigung},
  address   = {Würzburg},
  publisher = {Vogel},
  isbn      = {978-3-8343-3395-7},
}
\end{filecontents}
\addbibresource{\jobname.bib}


\begin{document}
\cite{AMPOLYMERS.2020,DINEN603351.2020}

\cite{Klahn.2018}

\printbibheading[heading=bibintoc, title=Literaturverzeichnis]
\printbibliography[nottype=misc, heading=subbibliography, title={Primärliteratur}] 
\printbibliography[type=misc, heading=subbibliography, title={Normen und Richtlinien}]
\end{document}

Fragenius
Forum-Anfänger
Forum-Anfänger
Beiträge: 46
Registriert: Mo 4. Jan 2021, 14:16

Re: Zusätzlichen Normenverzeichnis

Beitrag von Fragenius »

Das Problem dabei wäre nur, dass die Norm in der Eckigen Klammer [] wesentlich länger als die Normalen Abkürzungen von Bücher etc. ist (bspw. [ABC21], [DIN EN ISO]).

Somit vergrößert sich der Abstand von der Klammer zum Quelleninhalt aller Quellen. Deswegen war meine Idee ja, das alle Quellen außer den Normen normal wie bei alphabetic dargestellt werden, außer die Normen wie oben in meinem Angehangenen Bild.


MoeWe
Forum-Meister
Forum-Meister
Beiträge: 801
Registriert: Fr 30. Aug 2019, 15:35
Kontaktdaten:

Re: Zusätzlichen Normenverzeichnis

Beitrag von MoeWe »

Dann wirf locallabelwidth drauf

\documentclass[ngerman]{article}
\usepackage[T1]{fontenc}
\usepackage{babel}
\usepackage{csquotes}

\usepackage[backend=biber, style=alphabetic, locallabelwidth]{biblatex}

\begin{filecontents}{\jobname.bib}
@misc{AMPOLYMERS.2020,
  editor = {{AM POLYMERS GmbH}},
  date   = {2020-11-27},
  title  = {Polypropylen - PP},
  url    = {https://www.am-polymers.de/polypropylen-pp/},
}
@misc{DINEN603351.2020,
  year      = {2020},
  title     = {DIN EN 60335-1:
               Sicherheit elektrischer Geräte für den Hausgebrauch
               und ähnliche Zwecke:
               Teil 1: Allgemeine Anforderungen},
  author    = {{Deutsches Institut für Normung}},
  shorthand = {DIN~EN~60335-1},
}
@book{Klahn.2018,
  author    = {Klahn, Christoph},
  year      = {2018},
  title     = {Entwicklung und Konstruktion für die additive Fertigung},
  address   = {Würzburg},
  publisher = {Vogel},
  isbn      = {978-3-8343-3395-7},
}
\end{filecontents}
\addbibresource{\jobname.bib}


\begin{document}
\cite{AMPOLYMERS.2020,DINEN603351.2020}

\cite{Klahn.2018}

\printbibheading[heading=bibintoc, title=Literaturverzeichnis]
\printbibliography[nottype=misc, heading=subbibliography, title={Primärliteratur}] 
\printbibliography[type=misc, heading=subbibliography, title={Normen und Richtlinien}]
\end{document}

oder gleich mit Überschriften statt labels

\documentclass[ngerman]{article}
\usepackage[T1]{fontenc}
\usepackage{babel}
\usepackage{csquotes}

\usepackage[backend=biber, style=alphabetic, locallabelwidth]{biblatex}

\defbibenvironment{headerbreakbib}
  {\list
     {}
     {\setlength{\leftmargin}{\bibhang}%
      \setlength{\itemindent}{-\leftmargin}%
      \setlength{\itemsep}{\bibitemsep}%
      \setlength{\parsep}{\bibparsep}}}
  {\endlist}
  {\item
   \printtext[bold]{%
     \printfield{labelprefix}%
     \printfield{labelalpha}%
     \printfield{extraalpha}}
   \newline}

\begin{filecontents}{\jobname.bib}
@misc{AMPOLYMERS.2020,
  editor = {{AM POLYMERS GmbH}},
  date   = {2020-11-27},
  title  = {Polypropylen - PP},
  url    = {https://www.am-polymers.de/polypropylen-pp/},
}
@misc{DINEN603351.2020,
  year      = {2020},
  title     = {DIN EN 60335-1:
               Sicherheit elektrischer Geräte für den Hausgebrauch
               und ähnliche Zwecke:
               Teil 1: Allgemeine Anforderungen},
  author    = {{Deutsches Institut für Normung}},
  shorthand = {DIN~EN~60335-1},
}
@book{Klahn.2018,
  author    = {Klahn, Christoph},
  year      = {2018},
  title     = {Entwicklung und Konstruktion für die additive Fertigung},
  address   = {Würzburg},
  publisher = {Vogel},
  isbn      = {978-3-8343-3395-7},
}
\end{filecontents}
\addbibresource{\jobname.bib}


\begin{document}
\cite{AMPOLYMERS.2020,DINEN603351.2020}

\cite{Klahn.2018}

\printbibheading[heading=bibintoc, title=Literaturverzeichnis]
\printbibliography[nottype=misc, heading=subbibliography, title={Primärliteratur}] 
\printbibliography[type=misc, heading=subbibliography, title={Normen und Richtlinien}, env=headerbreakbib]
\end{document}

Gastname ungültig

Re: Zusätzlichen Normenverzeichnis

Beitrag von Gastname ungültig »

Im shorthand kann man DIN EN ISO leicht auf EN verkürzen. Entscheidend ist hier ja, dass es sich um eine europäische Norm handelt. Entsprechend würde ich bei DIN ISO Normen, die keine europäischen Normen sind, im shorthand nur ISO schreiben. DIN würde ich dagegen verwenden, wenn eine Norm keine ISO- (und natürlich auch keine EN-)Entsprechung hat. Da die Bestrebung ist, alle ISO-Normen als EN-Normen zu übernehmen, dürften die meisten Normen dann als shorthand EN XXXXX-NN:YYYY-MM anzugeben sein. Das ist beispielweise bei EN 1335-1:2002-08 natürlich noch immer mehr als lang. Wenn man keine unterschiedlichen Fassungen der gleichen Normen im Verzeichnis hat, kann man natürlich den Teil hinter dem Doppelpunkt auch noch weglassen. Dann wäre es im Beispiel einfach EN 1335-1. Natürlich sollte man dann im Verzeichnis selbst, die komplette Nummern zusätzlich angeben. Das ist ja im Beispiel bereits der Fall. Damit hat man dann trotzdem eindeutige, aber bereits deutlich kürzere Labels.

Ich würde übrigens in Erwägung ziehen, in den Normennummern kein volles Leerzeichen, sondern mit \, ein verkürztes zu verwenden. Damit zerfällt die Einheit nicht so sehr in Buchstabengruppe und Nummer, sondern der Buchstabenpräfix wird eher als Teil des Ganzen erfasst.


Fragenius
Forum-Anfänger
Forum-Anfänger
Beiträge: 46
Registriert: Mo 4. Jan 2021, 14:16

Re: Zusätzlichen Normenverzeichnis

Beitrag von Fragenius »

Danke für die Vorschläge.

Ich habs jetzt aber ganz anders gemacht. Und zwar habe ich mich von "alphabetic" verabschiedet und bin zu "numeric" gewechselt. Uns blieb es von der Uni offen was von beiden wir wählen, obwohl ich erstes eigentlich übersichtlicher fand, aber sei es drum. Mein Code sieht nun wie folgt aus:

\usepackage[backend=biber, style=numeric, sorting=none]{biblatex}
\addbibresource{Literaturverzeichnis.bib}							


\printbibheading[heading=bibintoc, title=Literaturverzeichnis]
\printbibliography[nottype=misc, nottype=booklet, heading=subbibliography, title={Primärliteratur}] 
\printbibliography[type=misc, heading=subbibliography, title={Internetquellen}]
\printbibliography[type=booklet, heading=subbibliography, title={Normen und Richtlinien}]

(p.s. ja, man hätte die einzelnen Bibliografien auch über Keywords unterscheiden können, aber da ich sie über Citavi importiere ist das so einfacher)

Eine Kleinigkeit wäre noch, dass die Klammern [] nicht am linken Rand ausgerichtet sind (siehe Anhang). Kann man das ändern?

Dateianhänge
Screenshot 2021-03-04 100943.png
Screenshot 2021-03-04 100943.png (5.86 KiB) 4457 mal betrachtet

MoeWe
Forum-Meister
Forum-Meister
Beiträge: 801
Registriert: Fr 30. Aug 2019, 15:35
Kontaktdaten:

Re: Zusätzlichen Normenverzeichnis

Beitrag von MoeWe »

Um die Zahlen anders auszurichten, musst Du die bibliography environment umdefinieren.

\documentclass[ngerman]{article}
\usepackage[T1]{fontenc}
\usepackage{babel}
\usepackage{csquotes}

\usepackage[backend=biber, style=numeric, sorting=none]{biblatex}

\defbibenvironment{bibliography}
  {\list
     {\printtext[labelnumberwidth]{%
        \printfield{labelprefix}%
        \printfield{labelnumber}}}
     {\setlength{\labelwidth}{\labelnumberwidth}%
      \setlength{\leftmargin}{\labelwidth}%
      \setlength{\labelsep}{\biblabelsep}%
      \addtolength{\leftmargin}{\labelsep}%
      \setlength{\itemsep}{\bibitemsep}%
      \setlength{\parsep}{\bibparsep}}%
      \renewcommand*{\makelabel}[1]{##1\hss}}
  {\endlist}
  {\item}

\begin{filecontents}{\jobname.bib}
@misc{AMPOLYMERS.2020,
  editor = {{AM POLYMERS GmbH}},
  date   = {2020-11-27},
  title  = {Polypropylen - PP},
  url    = {https://www.am-polymers.de/polypropylen-pp/},
}
@booklet{DINEN603351.2020,
  year      = {2020},
  title     = {DIN EN 60335-1:
               Sicherheit elektrischer Geräte für den Hausgebrauch
               und ähnliche Zwecke:
               Teil 1: Allgemeine Anforderungen},
  author    = {{Deutsches Institut für Normung}},
}
@book{Klahn.2018,
  author    = {Klahn, Christoph},
  year      = {2018},
  title     = {Entwicklung und Konstruktion für die additive Fertigung},
  address   = {Würzburg},
  publisher = {Vogel},
  isbn      = {978-3-8343-3395-7},
}
\end{filecontents}
\addbibresource{\jobname.bib}
\addbibresource{biblatex-examples.bib}

\begin{document}
\cite{AMPOLYMERS.2020}

\cite{Klahn.2018,sigfridsson,worman,geer}

\nocite{knuth:ct:a,nussbaum,moraux,gaonkar:in,aksin}

\cite{DINEN603351.2020}

\printbibheading[heading=bibintoc, title=Literaturverzeichnis]
\printbibliography[nottype=misc, nottype=booklet, heading=subbibliography, title={Primärliteratur}] 
\printbibliography[type=misc, heading=subbibliography, title={Internetquellen}]
\printbibliography[type=booklet, heading=subbibliography, title={Normen und Richtlinien}]
\end{document}

Im Gegensatz zur Originaldefinition in numeric.bbx haben wir nur \renewcommand*{\makelabel}[1]{\hss##1} zu \renewcommand*{\makelabel}[1]{##1\hss} geändert.

Ich bin übrigens der Meinung, dass ein geteiltes Literaturverzeichnis mit sorting=none, nur bedingt funktioniert.

So wie es hier oben im Beispiel ist, ist es fast unmöglich zu wissen, in welchem der Verzeichnisse ich nach einer Zahl suchen muss.

Mit defernumbers=true, wird es etwas besser, da mit dieser Einstellungen die Nummerierung in den geteilten Verzeichnissen kontinuierlich ist. Aber dann sind die Zitatnummern neuer Quellen im Text nicht mehr streng monoton steigend.

\documentclass[ngerman]{article}
\usepackage[T1]{fontenc}
\usepackage{babel}
\usepackage{csquotes}

\usepackage[backend=biber, style=numeric, sorting=none, defernumbers=true]{biblatex}

\defbibenvironment{bibliography}
  {\list
     {\printtext[labelnumberwidth]{%
        \printfield{labelprefix}%
        \printfield{labelnumber}}}
     {\setlength{\labelwidth}{\labelnumberwidth}%
      \setlength{\leftmargin}{\labelwidth}%
      \setlength{\labelsep}{\biblabelsep}%
      \addtolength{\leftmargin}{\labelsep}%
      \setlength{\itemsep}{\bibitemsep}%
      \setlength{\parsep}{\bibparsep}}%
      \renewcommand*{\makelabel}[1]{##1\hss}}
  {\endlist}
  {\item}

\begin{filecontents}{\jobname.bib}
@misc{AMPOLYMERS.2020,
  editor = {{AM POLYMERS GmbH}},
  date   = {2020-11-27},
  title  = {Polypropylen - PP},
  url    = {https://www.am-polymers.de/polypropylen-pp/},
}
@booklet{DINEN603351.2020,
  year      = {2020},
  title     = {DIN EN 60335-1:
               Sicherheit elektrischer Geräte für den Hausgebrauch
               und ähnliche Zwecke:
               Teil 1: Allgemeine Anforderungen},
  author    = {{Deutsches Institut für Normung}},
}
@book{Klahn.2018,
  author    = {Klahn, Christoph},
  year      = {2018},
  title     = {Entwicklung und Konstruktion für die additive Fertigung},
  address   = {Würzburg},
  publisher = {Vogel},
  isbn      = {978-3-8343-3395-7},
}
\end{filecontents}
\addbibresource{\jobname.bib}
\addbibresource{biblatex-examples.bib}

\begin{document}
\cite{AMPOLYMERS.2020}

\cite{Klahn.2018,sigfridsson,worman,geer}

\nocite{knuth:ct:a,nussbaum,moraux,gaonkar:in,aksin}

\cite{DINEN603351.2020}

\printbibheading[heading=bibintoc, title=Literaturverzeichnis]
\printbibliography[nottype=misc, nottype=booklet, heading=subbibliography, title={Primärliteratur}] 
\printbibliography[type=misc, heading=subbibliography, title={Internetquellen}]
\printbibliography[type=booklet, heading=subbibliography, title={Normen und Richtlinien}]
\end{document}

Antworten