Seite 1 von 2

Autoren in Großbuchstaben

Verfasst: Mo 4. Apr 2016, 14:11
von kannstmasehn
Moin,

habe mal biber bei mir aktualisiert bzw. es auf einem neuen Rechner installiert und nun funktioniert mein alter Code nicht mehr. Ich möchte lediglich den Autorennamen in Großbuchstaben haben. Das hat bisher mit dem u.g. Code funktioniert. Hat sich da etwas geändert bei biber? Die Reihenfolge und Sortierung etc. passt. Wie bekomme ich das mit den Großbuchstaben hin? Danke!
\begin{filecontents}{\jobname.bib}
@BOOK{author1998,
  title = {titel des buches},
  year = {1998},
  author = {Wurst, Hans}
}

@BOOK{author2000,
  title = {titel des Werkes},
  year = {2000},
  author = {Bärbel, Klaus and Hans, Wurst and Fritz, Walt and Hund, Katze}
}

@BOOK{author2001,
  title = {titel des Werkes},
  year = {2000},
  author = {ABärbel, Klaus and Hans, Wurst and Fritz, Walt and Hund, Katze}
}
\end{filecontents}

\documentclass[a4paper]{scrartcl}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}

\usepackage[backend=biber,citestyle=numeric-comp,bibstyle=numeric-comp, sorting=none, bibwarn=true, bibencoding=utf8]{biblatex}
\usepackage[babel,german=quotes]{csquotes}
\DeclareNameFormat{author}{%
   \usebibmacro{name:last-first}{#1}{#3}{#5}{#7}%
   \usebibmacro{name:andothers}}
\addbibresource{\jobname}
\DefineBibliographyStrings{ngerman}{
   andothers = {{et\,al\adddot}},            
}  
\renewcommand*{\mkbibnamelast}[1]{\textsc{#1}}

\begin{document}

\textcite{author2001}
\cite{author1998} \\
\textcite{author2000} \\

\printbibliography
\end{document}

Viele Grüße

Verfasst: Mo 4. Apr 2016, 14:39
von Johannes_B

Verfasst: Mo 4. Apr 2016, 15:04
von kannstmasehn
Gut, danke. Das beantwortet meine erste Frage. Die zweite ist dann die Durchführung.
\renewcommand*{\mkbibnamelast}[1]{\textsc{#1}} 
Dieser ursprüngliche Befehl muss ja nun angepasst werden. Aber ich steige da nicht so durch. Was muss ich ändern bzw. wie ist der Befehl, damit Vor- und Nachname in Großbuchstaben sowohl im Text, als auch in der Bibliographie erscheinen?

Danke sehr.

Verfasst: Mo 4. Apr 2016, 15:15
von Johannes_B
\begin{filecontents}{\jobname.bib}
	@BOOK{author1998,
		title = {titel des buches},
		year = {1998},
		author = {Wurst, Hans}
	}

	@BOOK{author2000,
		title = {titel des Werkes},
		year = {2000},
		author = {Bärbel, Klaus and Hans, Wurst and Fritz, Walt and Hund, Katze}
	}

	@BOOK{author2001,
		title = {titel des Werkes},
		year = {2000},
		author = {ABärbel, Klaus and Hans, Wurst and Fritz, Walt and Hund, Katze}
	}
\end{filecontents}

\documentclass[a4paper]{scrartcl}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}

\usepackage[backend=biber,citestyle=numeric-comp,bibstyle=numeric-comp, sorting=none, bibwarn=true, bibencoding=utf8]{biblatex}
\usepackage[babel,german=quotes]{csquotes}
\DeclareNameFormat{author}{%
	\nameparts{#1}
	\usebibmacro{name:family-given}{\namepartfamily}{\namepartgiven}{\namepartprefix}{\namepartsuffix}%
	\usebibmacro{name:andothers}}
	\addbibresource{\jobname}
	\DefineBibliographyStrings{ngerman}{
		andothers = {{et\,al\adddot}},            
	}  
	\renewcommand*{\mkbibnamefamily}[1]{\textsc{#1}}

	\begin{document}

	\textcite{author2001}
	\cite{author1998} \\
	\textcite{author2000} \\

	\printbibliography
	\end{document}

Falls das nicht stimmt, wird sich unser fliegender Gast sicher melden und den Fehler korrigieren.

Verfasst: Mo 4. Apr 2016, 15:26
von kannstmasehn
Vielen Dank schonmal. Nah dran. Es werden jedoch lediglich die Nachnamen mit Großbuchstaben dargestellt und bei einem alphabetischen Zitierstil sind die Buchstaben der Quellenangaben auch nicht groß. Zusätzlich wäre eine Abkürzung des Vornamens zu "Wurst, H." sehr gut. Wie kann man das umsetzen, ohne großartig in der .bib-Datei die Vornamen zu kürzen?

Danke sehr.

Verfasst: Mo 4. Apr 2016, 15:51
von Johannes_B
Im Folgenden der Vergleich von altem biblatex (noch verfügbar im Online Editor) und aktuellem biblatex.

Overleaf:

Bild

biblatex 3.3;
Bild

Das ist exakt, was du vorher hattest und nicht nah dran.

Verfasst: Mo 4. Apr 2016, 15:55
von kannstmasehn
Das ist richtig. Nur manchmal ändert sich etwas, so dass auch Quellenangaben verändert werden müssen ;)

Also:
1) Was ist einfacher? In der .bib alles händisch ändern oder gibt es eine einfache Möglichkeit die Vornamen abzukürzen? Wenn zweites, wie?

2) Großbuchstaben hätte ich auch gerne in den eckigen Klammern.

\begin{filecontents}{\jobname.bib}
   @BOOK{author1998,
      title = {titel des buches},
      year = {1998},
      author = {Wurst, Hans}
   }

   @BOOK{author2000,
      title = {titel des Werkes},
      year = {2000},
      author = {Bärbel, Klaus and Hans, Wurst and Fritz, Walt and Hund, Katze}
   }

   @BOOK{author2001,
      title = {titel des Werkes},
      year = {2003},
      author = {ABärbel, Klaus and Hans, Wurst and Fritz, Walt and Hund, Katze}
   }
\end{filecontents}

\documentclass[a4paper]{scrartcl}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}

\usepackage[backend=biber,citestyle=alphabetic,bibstyle=alphabetic, sorting=none, bibwarn=true, bibencoding=utf8]{biblatex}
\usepackage[babel,german=quotes]{csquotes}
\DeclareNameFormat{author}{%
   \nameparts{#1}
   \usebibmacro{name:family-given}{\namepartfamily}{\namepartgiven}{\namepartprefix}{\namepartsuffix}%
   \usebibmacro{name:andothers}}
   \addbibresource{\jobname}
   \DefineBibliographyStrings{ngerman}{
      andothers = {{et\,al\adddot}},            
   }  
   \renewcommand*{\mkbibnamefamily}[1]{\textsc{#1}}

   \begin{document}

   \textcite{author2001}
   \cite{author1998} \\
   \textcite{author2000} \\

   \printbibliography
   \end{document}

Verfasst: Mo 4. Apr 2016, 16:02
von Johannes_B
Füge an namepartgiven ein i an und es wird namepartgiveni.

\DeclareFieldFormat{labelalpha}{\textsc{#1}}

Verfasst: Mo 4. Apr 2016, 16:07
von kannstmasehn
Passt, danke!
\begin{filecontents}{\jobname.bib}
   @BOOK{author1998,
      title = {titel des buches},
      year = {1998},
      author = {Wurst, Hans}
   }

   @BOOK{author2000,
      title = {titel des Werkes},
      year = {2000},
      author = {Bärbel, Klaus and Hans, Wurst and Fritz, Walt and Hund, Katze}
   }

   @BOOK{author2001,
      title = {titel des Werkes},
      year = {2003},
      author = {ABärbel, Klaus and Hans, Wurst and Fritz, Walt and Hund, Katze}
   }
\end{filecontents}

\documentclass[a4paper]{scrartcl}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}

\usepackage[backend=biber,citestyle=alphabetic,bibstyle=alphabetic, sorting=none, bibwarn=true, bibencoding=utf8]{biblatex}
\usepackage[babel,german=quotes]{csquotes}
\DeclareNameFormat{author}{%
   \nameparts{#1}
   \usebibmacro{name:family-given}{\namepartfamily}{\namepartgiveni}{\namepartprefix}{\namepartsuffix}%
   \usebibmacro{name:andothers}}
   \addbibresource{\jobname}
   \DefineBibliographyStrings{ngerman}{
      andothers = {{et\,al\adddot}},            
   }  
   \renewcommand*{\mkbibnamefamily}[1]{\textsc{#1}}
   \DeclareFieldFormat{labelalpha}{\textsc{#1}}

   \begin{document}

   \textcite{author2001}
   \cite{author1998} \\
   \textcite{author2000} \\

   \printbibliography
   \end{document}

Verfasst: Mo 4. Apr 2016, 19:14
von Gast
Du kannst Dir den Eingriff in \DeclareNameFormat wahrscheinlich ganz sparen. Entweder mit
\DeclareNameAlias{default}{family-given}
was alle Namen zu "Nachname, Vorname" ändert, oder mit
\DeclareNameAlias{author}{family-given}
\DeclareNameAlias{editor}{family-given}
\DeclareNameAlias{translator}{family-given}
um für andere Stile ganz sicher zu gehen, kannst Du auch noch \DeclareNameAlias{sortname}{family-given} hinzufügen, das sollte mit alphabetic aber nicht nötig sein (schaden kann es aber auch nicht).
Beachte dass der Code dann nicht nur das Format von Autoren, sondern auch das von Herausgebern ändert, wenn sie an der Stelle der Autoren stehen. Vergleiche das Ergebnis des Codes unten, wenn Du gaonkar zitierst, mit Deinem Code.
Bei Deinem Code fehlt außerdem ein % hinter dem \nameparts{#1}, was für ungewollte Leerzeichen sorgt.

Du bekommst die Initialen für die Vornamen dann mit der Option giveninits=true.

Mich wundert, dass Du sorting=none bei einem alphabetic-Stil benutzt, gibt das in der Bibliographie nicht ein heilloses Chaos, kannst Du das Referenzen vernünftig finden? Die bei style=alphabetic automatisch gewählte Sortierung anyt scheint mir irgendwie sinnvoller.

Statt citestyle=alphabetic,bibstyle=alphabetic ist style=alphabetic kürzer aber äquivalent.

Wenn wir bei Sachen sind, die ich sinnvoll finde, möchte ich Dir ans Herz legen, in der Bibliographie ein paar Namen mehr anzugeben. Ich finde es etwas unschön in der Bibliographie Namen mit "et al." unter den Tisch fallen zu lassen. Daher gibt es in dem Beispiel unten auch maxbibnames=999, auf die Zitate hat das keinen Einfluss.
\documentclass[a4paper]{scrartcl}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}

\usepackage[backend=biber, style=alphabetic, giveninits=true, maxbibnames=999]{biblatex}
\usepackage[babel,german=quotes]{csquotes}

\DeclareNameAlias{author}{family-given}
\DeclareNameAlias{editor}{family-given}
\DeclareNameAlias{translator}{family-given}
\DeclareNameAlias{sortname}{family-given}

\addbibresource{biblatex-examples.bib}

\DefineBibliographyStrings{ngerman}{
  andothers = {{et\,al\adddot}},            
}  
\renewcommand*{\mkbibnamefamily}[1]{\textsc{#1}}
\DeclareFieldFormat{labelalpha}{\textsc{#1}}

\begin{document}
  \textcite{sigfridsson,gaonkar}
  \cite{aksin}
  \textcite{geer}

  \printbibliography
\end{document}