Seite 1 von 1

Formatierung von BIbLatex. Einrückungen im Verzeichnis

Verfasst: So 29. Okt 2017, 20:08
von grumpy-TEXuser
Hallo zusammen.

Ich verwende BibLatex und möchte dort die Namen im Literaturverzeichnis ändern (Vor- und Nachname tauschen). Dabei rückt die erste Zeile des Quellenverweises ein.
[1]      Name, V. Sehr
 langer Titel
anstatt
[1]      Name, V. Sehr
         langer Titel

Lösche ich die entsprechen Zeilen die das tauschen bewirken , ist alles normal.
Kennt jemand eine Methode die Name wie gewünscht zu ändern ohne dieses Problem zu haben?


Minimalbeispiel:
\documentclass[10pt,a4paper]{book}
\usepackage[utf8]{inputenc}
\usepackage[german]{babel}
\usepackage[T1]{fontenc}
\usepackage[
style=numeric-comp
]{biblatex}

%Vertauschen von Vorname Name zu Name, V.
\DeclareNameFormat{usernameshort}{                 %Deklaration
    \nameparts{#1}                              %Parameteruebergabe
    \usebibmacro{name:family-given}              %zuerst Nachname, dann Vorname: im speziellen
        {\namepartfamily}                       %Nachname (volle Form)
        {\namepartgiveni}                       %Vorname (Initialen)
        {\namepartprefix}                       %Namenspräfixe (van..., volle Form)
        {\namepartsuffix}                       %Namenssuffixe (junior..., volle Form)
}

%neues Namensformat für alle Namen anwenden
\DeclareNameAlias{author}{usernameshort}
\DeclareNameAlias{editor}{usernameshort}
\DeclareNameAlias{translator}{usernameshort}


\bibliography{lit.bib} 

\begin{document}
\cite{verweis}
\printbibliography
\end{document}
Und die Datei mit der Literatur
@book{verweis,
title = {Titel},
author = {Name, Vorname},
year = {2013},
note = {N  N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N N},
}

ich bedanke mich für eure Hilfe.

Verfasst: So 29. Okt 2017, 20:33
von Gast
Das liegt daran, dass Deine Definition von zu viele Leerzeichen enthält und Zeilenenden nicht mit % geschützt sind.

Einfacher geht es mit
\documentclass[10pt,a4paper]{book}
\usepackage[utf8]{inputenc}
\usepackage[german]{babel}
\usepackage[T1]{fontenc}
\usepackage[style=numeric-comp, giveninits=true]{biblatex}

%neues Namensformat für alle Namen anwenden
\DeclareNameAlias{author}{family-given}
\DeclareNameAlias{editor}{family-given}
\DeclareNameAlias{translator}{family-given}

\addbibresource{biblatex-examples.bib}

\begin{document}
\cite{sigfridsson}
\printbibliography
\end{document}
Wenn Du mit
giveninits=true[/tt] aus anderen Gründen nicht leben kannst, dann wäre eine gute Definition von [tt]usernameshort[/tt]
[code]\DeclareNameFormat{family-given-init}{%
  \usebibmacro{name:family-given}
    {\namepartfamily}
    {\namepartgiveni}
    {\namepartprefix}
    {\namepartsuffix}}

Verfasst: So 29. Okt 2017, 20:58
von grumpy-TEXuser
Wow :lol:
Krass Danke es funktioniert.

ich hätte nicht gedacht das ich das noch zum laufen bekomme.

Gut:
Noch ein paar Fragen dazu:
-ich habe einfach die Zeilenenden mit % geschützt, dann brauche ich keine Leerzeichen mehr entfernen oder? (also, klar es funktioniert jetzt, aber für einen schönen Latex Stil)
-bitte sag mir jetzt nicht ernsthaft, dass giveninits=true genau der Befehl ist, mit welchen ich Vorname Name zu V. Name setze? Das wäre einfacher gewesen. Gibt es aber nicht auch einen Befehlt für Name, V.?

Verfasst: Mo 30. Okt 2017, 09:20
von Gast
Zu Deinen Fragen
- Das kommt darauf an. Wenn Du direkt vor dem % noch Leerzeichen hast, dann hilft Dir das % für das Zeilenende nicht so viel weiter
\DeclareNameFormat{family-given-init}{     % Kommentar
  \usebibmacro{name:family-given}
    {\namepartfamily}
    {\namepartgiveni}
    {\namepartprefix}
    {\namepartsuffix}}
ist auch Käse, nur
\DeclareNameFormat{family-given-init}{% Kommentar
  \usebibmacro{name:family-given}
    {\namepartfamily}
    {\namepartgiveni}
    {\namepartprefix}
    {\namepartsuffix}}
hilft nachhaltig.

- Naja giveninits=true sorgt dafür, wie der Name sagt, dass alle Vornamen nur noch mit Initialen angezeigt wird und nicht ganz. Zusammen mit \DeclareNameAlias{author}{family-given} gibt das dann 'Name, V.'.