Zitieren von DIN-Normen / unterteilte Literaturverzeichnisse

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


LarsR
Forum-Anfänger
Forum-Anfänger
Beiträge: 35
Registriert: Mi 18. Aug 2010, 21:47

Zitieren von DIN-Normen / unterteilte Literaturverzeichnisse

Beitrag von LarsR »

Hallo,

ich arbeite mich gerade in LaTeX bzw. speziell biblatex zur Erstellung eines Literaturverzeichnisses ein. Leider ist das für mich nicht so ganz trivial, vieles habe ich schon hinbekommen, an manchen Punkten verzweifele ich aber.

Ich benutze einen angepassten Authoryear-Stil für citestyle (Verweis in eckigen Klammern, maxnames=1, kein "u.a.", Name in Kapitälchen), also z. B. [MUSTERMANN 2008a]

Hierfür habe ich in der LR-authoyear.cbx die Einträge für cite, parencite usw. wie folgt geändert:
\DeclareCiteCommand*{\cite}[\mkbibbrackets]

Außerdem folgendes eingefügt:
\renewcommand*{\andothersdelim}{}
\DefineBibliographyStrings{ngerman}{andothers={}}
\renewcommand*{\mkbibnamelast}[1]{\textsc{#1}}

Das klappt soweit auch schon gut, es wäre aber besser wenn im eigentlichen Literaturverzeichnis die Nachnamen nicht in Kapitälchen gesetzt würde, in der Wiederholung der Referenz darüber hingegen schon. Da ich ja mit \renewcommand*{\mkbibnamelast}[1]{\textsc{#1}} alle Nachnamen in Kapitälchen setzte, funktioniert das natürlich so nicht.


edit: Den mittlerweile überflüssigen Code habe ich mal weg editiert, da habe ich vor lauter Bäumen den Wald nicht sehen können.
Zuletzt geändert von LarsR am Do 19. Aug 2010, 19:30, insgesamt 1-mal geändert.

LarsR
Forum-Anfänger
Forum-Anfänger
Beiträge: 35
Registriert: Mi 18. Aug 2010, 21:47

Beitrag von LarsR »

Hallo nochmal,

das mit den Normen hat sich anscheinend weitestgehend erledigt, ich hatte wohl Tomaten auf den Augen. Ich habe das Autoren-Feld leer gelassen (Was für eine Idee, dort DIN 1000 einzutragen ...) und stattdessen ein Feld label eingefügt. Damit sieht schon viel besser aus.

Ich glaube, ich muss morgen noch einmal mit klarem Kopf darüber nachdenken.
Tipps zu der anderen Frage sind aber weiterhin willkommen. :)

LarsR
Forum-Anfänger
Forum-Anfänger
Beiträge: 35
Registriert: Mi 18. Aug 2010, 21:47

Beitrag von LarsR »

Bis auf die Sache mit den Kapitälchen habe ich jetzt alles hinbekommen, ich werde beim nächsten Mal auch ein vollständiges Minimalbeispiel posten - allerdings ist das nicht so einfach, wenn ich die cbx- und bbx-Dateien direkt verändert habe, oder?

Vielleicht hat ja auch jemand eine Idee, wie ich das Datumsformat im Literaturverzeichnis auf das sog. ISO-Format umstellen kann? Durch die Benutzung von babel mit ngerman wird das Datum ja entsprechend deutschen Verhältnissen angepasst.
Ich müsste für die DIN-Normen aber das Format YYYY-MM-DD haben.

Ich habe es schon mit dem hier von Philipp Lehman geposteten Code versucht, allerdings ändert der bei mir nur von 1. Sept. 2010 auf 01.09.2010, wenn ich für date = 2010-09-01 angegeben habe.

Benutzeravatar
domwass
TeX-Entwickler
TeX-Entwickler
Beiträge: 617
Registriert: Di 26. Aug 2008, 12:44
Kontaktdaten:

Beitrag von domwass »

LarsR hat geschrieben:Bis auf die Sache mit den Kapitälchen habe ich jetzt alles hinbekommen, ich werde beim nächsten Mal auch ein vollständiges Minimalbeispiel posten - allerdings ist das nicht so einfach, wenn ich die cbx- und bbx-Dateien direkt verändert habe, oder?
Ich hoffe, du hast nicht die Dateien selbst direkt geändert, denn dann
würden deine Änderungen beim nächsten Paket-Update verloren gehen.
Du solltest am besten eigene cbx- und bbx-Dateien erstellen (wie man das
macht, habe ich in meinen biblatex-Artikeln in der TeXnischen Komödie
beschrieben – siehe Link in meiner Signatur).

Externe Dateien kann man übrigens auch aus einem Minimalbeispiel
heraus erstellen. Wie das geht, habe ich hier erklärt.
Vielleicht hat ja auch jemand eine Idee, wie ich das Datumsformat im Literaturverzeichnis auf das sog. ISO-Format umstellen kann? Durch die Benutzung von babel mit ngerman wird das Datum ja entsprechend deutschen Verhältnissen angepasst.
Ich müsste für die DIN-Normen aber das Format YYYY-MM-DD haben.

Ich habe es schon mit dem hier von Philipp Lehman geposteten Code versucht, allerdings ändert der bei mir nur von 1. Sept. 2010 auf 01.09.2010, wenn ich für date = 2010-09-01 angegeben habe.
Hier bräuchte man tatsächlich ein Minimalbeispiel zum überprüfen.

Gruß,
Dominik.-

LarsR
Forum-Anfänger
Forum-Anfänger
Beiträge: 35
Registriert: Mi 18. Aug 2010, 21:47

Beitrag von LarsR »

Hallo!
domwass hat geschrieben: Ich hoffe, du hast nicht die Dateien selbst direkt geändert, denn dann
würden deine Änderungen beim nächsten Paket-Update verloren gehen.
Du solltest am besten eigene cbx- und bbx-Dateien erstellen (wie man das
macht, habe ich in meinen biblatex-Artikeln in der TeXnischen Komödie
beschrieben – siehe Link in meiner Signatur).
Ja, habe ich auch genau so anhand der Anleitung gemacht (und es funktioniert)! :)
Externe Dateien kann man übrigens auch aus einem Minimalbeispiel
heraus erstellen. Wie das geht, habe ich hier erklärt.
Ja, danke dafür. Habe ich für unten auch mal versucht, allerdings stellt sich mir bei .cbx und .bbx den gesamten Inhalt hinein kopieren muss? Das sind ja einige Zeilen und hätte wohl mit einem Minimalbeispiel nicht mehr viel zu tun.
Vielleicht hat ja auch jemand eine Idee, wie ich das Datumsformat im Literaturverzeichnis auf das sog. ISO-Format umstellen kann? Durch die Benutzung von babel mit ngerman wird das Datum ja entsprechend deutschen Verhältnissen angepasst.
Ich müsste für die DIN-Normen aber das Format YYYY-MM-DD haben.

Ich habe es schon mit dem hier von Philipp Lehman geposteten Code versucht, allerdings ändert der bei mir nur von 1. Sept. 2010 auf 01.09.2010, wenn ich für date = 2010-09-01 angegeben habe.
Hier bräuchte man tatsächlich ein Minimalbeispiel zum überprüfen.
Ich hoffe, dieses hier tut, diesmal mit authoryear, das macht da keinen Unterschied:
\documentclass[a4paper,12pt,oneside]{scrartcl}

\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@misc{test1,
	author		=	{},
	label		=	{DIN 1000},
	title		=	{Normen - Anforderungen, Prüfung},
	publisher		= 	{Beuth-Verlag},
	date		=	{2010-09-01},
	location		=	{Berlin},
	}
\end{filecontents}


\usepackage[T1]{fontenc}
\usepackage[latin1]{inputenc}
\usepackage[ngerman]{babel}
\usepackage[autostyle,german=quotes]{csquotes}

\usepackage[
style=authoryear,
backend=bibtex8,
%date=short,
urldate=short
]{biblatex}
 
\DefineBibliographyExtras{ngerman}{% 
  \def\bibdateshort{% 
    \thefield{year}-\thefield{month}-\thefield{day}}% 
  \def\biburldateshort{% 
    \thefield{urlyear}-\thefield{urlmonth}-\thefield{urlday}}% 
}

\bibliography{\jobname}

\begin{document}

\section{Test}
In der DIN 1000 steht außerdem "`Blabla"' \parencite{test1}

\printbibliography

\end{document}
Dort habe ich den Code aus dem Link hineinkopiert. Das Auskommentieren von date=short schaltet zwischen der Darstellung 01. 09. 2010 (mit Leerzeichen nach den Punkten?!) und 1. Sep. 2010 um, das Datumsformat wird aber nicht auf 2010-09-01 geändert.


Eine weitere Frage: Ich habe für die DIN-Norm ja jetzt die Klasse @misc genommen, keinen Eintrag für den Autor gewählt, dafür ein label angegeben. Beim Sortieren wird jetzt die DIN-Norm anscheinend nach allen anderen Einträgen mit Autoren eingefügt, kann man es irgendwie einstellen, dass die Normen mit DIN an alphabetisch passender Stelle zwischen den Autoren erscheinen?

Danke und Gruß vom Niederrhein
Lars

Benutzeravatar
domwass
TeX-Entwickler
TeX-Entwickler
Beiträge: 617
Registriert: Di 26. Aug 2008, 12:44
Kontaktdaten:

Beitrag von domwass »

LarsR hat geschrieben:Das Auskommentieren von date=short schaltet zwischen der Darstellung 01. 09. 2010 (mit Leerzeichen nach den Punkten?!) und 1. Sep. 2010 um, das Datumsformat wird aber nicht auf 2010-09-01 geändert.
Die Behandlung von Datumsangaben hat sich seit der Lösung von Philipp
geändert. Folgendes sollte aber funktionieren:
\AtBeginDocument{%
  \protected\def\mkbibdateshort#1#2#3{%
    \thefield{#1}%
      \iffieldundef{#2}
        {}
        {-\thefield{#2}%
         \iffieldundef{#3}
          {}
          {-\thefield{#3}}}}
}
Eine weitere Frage: Ich habe für die DIN-Norm ja jetzt die Klasse @misc genommen, keinen Eintrag für den Autor gewählt, dafür ein label angegeben. Beim Sortieren wird jetzt die DIN-Norm anscheinend nach allen anderen Einträgen mit Autoren eingefügt, kann man es irgendwie einstellen, dass die Normen mit DIN an alphabetisch passender Stelle zwischen den Autoren erscheinen?
Nimm das Feld sortname.

Gruß,
Dominik.-

LarsR
Forum-Anfänger
Forum-Anfänger
Beiträge: 35
Registriert: Mi 18. Aug 2010, 21:47

Beitrag von LarsR »

domwass hat geschrieben: Die Behandlung von Datumsangaben hat sich seit der Lösung von Philipp
geändert. Folgendes sollte aber funktionieren:
Klappt, danke!

Eine weitere Frage: Ich habe für die DIN-Norm ja jetzt die Klasse @misc genommen, keinen Eintrag für den Autor gewählt, dafür ein label angegeben. Beim Sortieren wird jetzt die DIN-Norm anscheinend nach allen anderen Einträgen mit Autoren eingefügt, kann man es irgendwie einstellen, dass die Normen mit DIN an alphabetisch passender Stelle zwischen den Autoren erscheinen?
Nimm das Feld sortname.
Problem: Wenn ich sortname nehme und parallel label verwende, wird anscheinend der Wert von label genommen (es ändert sich jedenfalls an der Sortierung nichts), wenn ich nur Sortname nehme und author und label frei lasse, wird gar kein Eintrag geschrieben. Author kann ich aber nicht nehmen, da dann aus DIN 1000 [1000] wird (weil nur der Nachname referenziert wird) und im Literaturverzeichnis wegen NACHNAME, Vorname "1000, DIN" steht.

Vermutlich habe ich die Syntax hinter sortname irgendwie nicht verstanden. Gibt es da vielleicht einen Zusammenhang mit sortcase (wg. DIN)? Ich habe in der Präambel "backend=bibtex8" stehen, reicht das, um bibtex8 zu nutzen?

Benutzeravatar
domwass
TeX-Entwickler
TeX-Entwickler
Beiträge: 617
Registriert: Di 26. Aug 2008, 12:44
Kontaktdaten:

Beitrag von domwass »

Zur Sortierung steht in der biblatex-Doku recht ausführlich, wann was greift.
Vielleicht hilft sortkey. Aber sicher bin ich nicht.

Gruß,
Dominik.-

LarsR
Forum-Anfänger
Forum-Anfänger
Beiträge: 35
Registriert: Mi 18. Aug 2010, 21:47

Beitrag von LarsR »

Hmm, eigentlich hatte ich mir die Doku schon mehrmals angeguckt, aber wohl etwas übersehen. Jedenfalls klappt jetzt alles (mit Sortkey, ich hatte in der Präambel noch sorting=anyt stehen, das war wohl der Fehler).

Ich danke jedenfalls für all die Mühe!

Antworten