Meine Vorgabe ist es zuerst nach dem Nachnamen des Erstautors, dann nach den Initialen des Erstautors, dann nach dem Jahr zu sortieren. Nächstes Kriterium ist erst dann der Zweitautor.

Mein Beispielcode, der alles Referenzen von Kjaergaard J enthält, damit alle Fallstricke bzgl sorting abgedeckt sind:

Open in Online-Editor
\documentclass{article}
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage[babel, german=quotes]{csquotes}
\usepackage[backend=biber,citestyle=numeric,bibstyle=authoryear,firstinits=true,terseinits=true,maxbibnames=99,sorting=nyt]{biblatex}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\RequirePackage{filecontents}
\begin{filecontents}{bib.bib}

@article{ref1,
    author={J. Kjaergaard},
    year={2012},
    title={abc}
}
@article{ref2,
    author={J. Kjaergaard and C. L. Petersen and A. Kjaer and B. K. Schaadt and J. K. Oh and C. Hassager},
    year={2006},
    title={def}
}
@article{ref3,
    author={J. Kjaergaard and E. M. Snyder and C. Hassager and J. K. Oh and B. D. Johnson},
    year={2006},
    title={ghi}
}
@article{ref4,
    author={J. Kjaergaard and P. Sogaard and C. Hassager},
    year={2006},
    title={jkl}
}
@article{ref5,
    author={J. Kjaergaard and J. Hastrup Svendsen and P. Sogaard and X. Chen and H. Bay Nielsen and L. Kober and A. Kjaer and C. Hassager},
    year={2007},
    title={mno}
}
@article{ref6,
    author={J. Kjaergaard and E. M. Snyder and C. Hassager and T. P. Olson and J. K. Oh and B. D. Johnson and R. P. Frantz},
    year={2007},
    title={qrs}
}
@article{ref7,
    author={J. Kjaergaard and D. Akkan and K. K. Iversen and L. Kober and C. Torp-Pedersen and C. Hassager},
    year={2007},
    title={tuv}
}
@article{ref8,
    author={J. Kjaergaard and J. Korinek and M. Belohlavek and J. K. Oh and P. Sogaard and C. Hassager},
    year={2006},
    title={wxy}
}    
\end{filecontents}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\nocite{*} %nur bibliographie ausgeben
\addbibresource{bib.bib}

\begin{document}
 \printbibliography
\end{document}

ergibt

alt text

NB: Wie entferne ich noch die kleinen Buchstaben, die nach den Jahreszahl eingefügt wurden? (Diese sollen nach der Vorgabe erst auftauchen, wenn alle Kriterien bis zum Zweitautor identisch sind. Hier ist dies nicht der Fall.)

gefragt 12 Okt '16, 20:08

tobsen's gravatar image

tobsen
66510
Akzeptiert-Rate: 0%

bearbeitet 13 Okt '16, 07:18

1

Beispielcode sollte einfach sein und sich auf das Problem konzentrieren. Ich will nicht dauernd durch all deine Änderungen waten. Abgesehen davon ist die Sortierung absurd. Man sollte nicht etwas am Ende des Eintrags für die Sortierung verwenden.

(12 Okt '16, 22:47) Ulrike Fischer

beispiel verkürzt

http://tex.stackexchange.com/questions/203185/order-by-first-author-only-not-all-names-than-by-year-or-sort-by-a-partial-ent

müsste so ähnlich wie hier funktionieren. Konnte es aber leider bislang nicht anpassen.

(13 Okt '16, 06:58) tobsen
3

Das Beispiel in tex.sx sortiert m.E. nur nach dem ersten Autor. Du müsstest den ersten Namen in ein eigenes Feld überführen -- entweder manuell oder über eine Sourcemap und dann zuerst nach diesem Feld sortieren. Aber ich werde das nicht umsetzen. Es ist doch albern, dass Kjaergaard/Petersen plötzlich vor Kjaergaard und Kjaergaard/Akkan steht. Wenn die Vorlage das wirklich verlangt, solltest du sie ignorieren oder darauf hinwirken, dass sie geändert wird, statt sklavisch alles zu befolgen.

(13 Okt '16, 10:04) Ulrike Fischer

Ich halte es zwar für groben Unfug ein Sortierschema zu verwenden, bei dem der Leser erst einmal eine Anleitung studieren muss, um es überhaupt zu verstehen und selbst nachdem er es verstanden hat noch ständig Datum und Autorenliste im Auge behalten muss, um mit der Sortierung klar zu kommen, aber ich habe trotzdem versucht, es halbwegs umzusetzen. Dabei habe ich schlicht das Jahr als weiteren Autorenname in die Sortierliste sortname nach dem ersten Autor eingefügt. Das ist also genau genommen eher ein Hack als eine saubere Umsetzung der gewünschten Sortierung.

Open in Online-Editor
\documentclass{article}
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage[babel, german=quotes]{csquotes}
\usepackage[backend=biber,citestyle=numeric,bibstyle=authoryear,firstinits=true,terseinits=true,maxbibnames=99,sorting=sortname]{biblatex}

\DeclareStyleSourcemap{
    \maps[datatype=bibtex]{
      \map{
        \step[fieldsource=author, match=\regexp{(.+?)\sand}, final]
        \step[fieldset=sortname, fieldvalue=$1, final]%$
      }
      \map[overwrite]{
        \step[fieldset=sortname,fieldvalue={\space and },append]
        \step[fieldset=sortname,fieldsource=year,origfieldval,append,final]
      }
      \map[overwrite]{
        \step[fieldsource=author, match=\regexp{(\sand\s.+)}, final]
        \step[fieldset=sortname, fieldvalue={$1}, append, final]%$
      }
}}

\DeclareSortingScheme{sortname}{%
  \sort[final]{\field{sortname}}
  \sort{\field{title}}
}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\RequirePackage{filecontents}
\begin{filecontents}{bib.bib}

@article{ref1,
    author={J. Kjaergaard},
    year={2012},
    title={abc}
}
@article{ref2,
    author={J. Kjaergaard and C. L. Petersen and A. Kjaer and B. K. Schaadt and J. K. Oh and C. Hassager},
    year={2006},
    title={def}
}
@article{ref3,
    author={J. Kjaergaard and E. M. Snyder and C. Hassager and J. K. Oh and B. D. Johnson},
    year={2006},
    title={ghi}
}
@article{ref4,
    author={J. Kjaergaard and P. Sogaard and C. Hassager},
    year={2006},
    title={jkl}
}
@article{ref5,
    author={J. Kjaergaard and J. Hastrup Svendsen and P. Sogaard and X. Chen and H. Bay Nielsen and L. Kober and A. Kjaer and C. Hassager},
    year={2007},
    title={mno}
}
@article{ref6,
    author={J. Kjaergaard and E. M. Snyder and C. Hassager and T. P. Olson and J. K. Oh and B. D. Johnson and R. P. Frantz},
    year={2007},
    title={qrs}
}
@article{ref7,
    author={J. Kjaergaard and D. Akkan and K. K. Iversen and L. Kober and C. Torp-Pedersen and C. Hassager},
    year={2007},
    title={tuv}
}
@article{ref8,
    author={J. Kjaergaard and J. Korinek and M. Belohlavek and J. K. Oh and P. Sogaard and C. Hassager},
    year={2006},
    title={wxy}
}    
\end{filecontents}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\addbibresource{bib.bib}

\begin{document}
\section{test}
\cite{ref1} and \cite{ref2} and \cite{ref3} and \cite{ref4} and \cite{ref5} and \cite{ref6} and
\cite{ref7} and \cite{ref8}.
\printbibliography
\end{document}

seltsame Sortierung

Das Beispiel zeigt auch gleich Probleme der Vermischung zweier gänzlich unterschiedlichen Stile für die Zitierung und das Literaturverzeichnis. Für sich genommen wäre es bezüglich der Frage sicher sinnvoller, sich für einen Stil zu entscheiden. Also citestyle=numeric,bibstyle=authoryear zu entfernen und entweder durch style=numeric oder style=authoryear zu ersetzen. Dabei kann man auch gleich die veraltete Option firstinits durch giveninits ersetzen. Mit

Open in Online-Editor
\documentclass{article}
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage[babel,german=quotes]{csquotes}
\usepackage[backend=biber,style=numeric,giveninits=true,terseinits=true,maxbibnames=99,sorting=sortname]{biblatex}

\DeclareStyleSourcemap{
    \maps[datatype=bibtex]{
      \map{
        \step[fieldsource=author, match=\regexp{(.+?)\sand}, final]
        \step[fieldset=sortname, fieldvalue=$1, final]%$
      }
      \map[overwrite]{
        \step[fieldset=sortname,fieldvalue={\space and },append]
        \step[fieldset=sortname,fieldsource=year,origfieldval,append,final]
      }
      \map[overwrite]{
        \step[fieldsource=author, match=\regexp{(\sand\s.+)}, final]
        \step[fieldset=sortname, fieldvalue={$1}, append, final]%$
      }
}}

\DeclareSortingScheme{sortname}{%
  \sort[final]{\field{sortname}}
  \sort{\field{title}}
}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%\RequirePackage{filecontents}
\begin{filecontents}{\jobname.bib}

@article{ref1,
    author={J. Kjaergaard},
    year={2012},
    title={abc}
}
@article{ref2,
    author={J. Kjaergaard and C. L. Petersen and A. Kjaer and B. K. Schaadt and J. K. Oh and C. Hassager},
    year={2006},
    title={def}
}
@article{ref3,
    author={J. Kjaergaard and E. M. Snyder and C. Hassager and J. K. Oh and B. D. Johnson},
    year={2006},
    title={ghi}
}
@article{ref4,
    author={J. Kjaergaard and P. Sogaard and C. Hassager},
    year={2006},
    title={jkl}
}
@article{ref5,
    author={J. Kjaergaard and J. Hastrup Svendsen and P. Sogaard and X. Chen and H. Bay Nielsen and L. Kober and A. Kjaer and C. Hassager},
    year={2007},
    title={mno}
}
@article{ref6,
    author={J. Kjaergaard and E. M. Snyder and C. Hassager and T. P. Olson and J. K. Oh and B. D. Johnson and R. P. Frantz},
    year={2007},
    title={qrs}
}
@article{ref7,
    author={J. Kjaergaard and D. Akkan and K. K. Iversen and L. Kober and C. Torp-Pedersen and C. Hassager},
    year={2007},
    title={tuv}
}
@article{ref8,
    author={J. Kjaergaard and J. Korinek and M. Belohlavek and J. K. Oh and P. Sogaard and C. Hassager},
    year={2006},
    title={wxy}
}    
\end{filecontents}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\addbibresource{\jobname.bib}

\begin{document}
\section{test}
\cite{ref1} and \cite{ref2} and \cite{ref3} and \cite{ref4} and \cite{ref5} and \cite{ref6} and \cite{ref7} and \cite{ref8}.
 \printbibliography
\end{document}

Erhält man dann:

Besser

Dabei stehen dann auch die Jahreszahlen bereits wie (laut Nebenbemerkung aus einem Kommentar) gewünscht am Ende und tragen keine zusätzlichen Kleinbuchstaben. Die Nebenbedingung aus der Frage ist also ebenfalls unmittelbar erfüllt. Gleichzeitig gibt es wieder eine sichtbare Korrelation zwischen den Verweisen und dem Literaturverzeichnis in Form der im Literaturverzeichnis vorangestellten Zahlen in eckigen Klammern.

Selbst mit style=authoryear erhielte man mit

nicht gut aber brauchbar

ein brauchbareres Ergebnis als mit dem Mischmasch. Auch dabei entfallen die Kleinbuchstaben nach den Jahreszahlen automatisch. Trotzdem wäre schon aufgrund der seltsamen Sortierung ein authoryear-Stil im konkreten Beispiel in meinen Augen dem numeric-Stil bezüglich der Übersichtlichkeit deutlich unterlegen. Ich empfehle daher die Verwendung des numeric-Stils sowohl für die Verweise als auch das Literaturverzeichnis.

Permanenter link

beantwortet 13 Okt '16, 11:01

saputello's gravatar image

saputello
11.1k154365
Akzeptiert-Rate: 51%

bearbeitet 14 Okt '16, 11:12

Der Vollständigkeit halber noch: Wie entferne ich die eingefügten kleinen Buchstaben nach den Jahreszahlen: z.B. (2006a)?

(13 Okt '16, 11:20) tobsen

@tobsen: Keine Ahnung. Müsste ich auch erst in der Anleitung nachlesen. IMHO ist das auch eine neue Frage, die mich aber eher noch weniger interessiert als die hier. Es gibt schon viel zu viele Dokumente mit schlechten Verzeichnissen.

(13 Okt '16, 11:21) saputello

makeatletter AtEveryBibitem{% globalundefbbx@lasthash% clearfield{extrayear}} makeatother

von http://tex.stackexchange.com/questions/52588/suppressing-em-dashs-for-recurrent-authors-and-letter-suffixes-for-years-when-us

scheint die buchstaben generell auszuschalten...

(13 Okt '16, 11:46) tobsen

@tobsen: Da Du numerisch zitierst, also in der Form [1], [2] etc. wäre es sicher sinnvoll, die Nummern auch im Verzeichnis zu haben, also \usepackage[backend=biber,style=numeric,firstinits=true,terseinits=true,maxbibnames=99,sorting=sortname]{biblatex} zu verwenden. Damit entfällt das Problem mit den kleinen Buchstaben bei den Jahreszahlen.

(13 Okt '16, 12:59) saputello

@saputello Du kannst dich jetzt aber nicht beschweren, dass es ein weiteres schlechtes Dokument gibt. Das hast du jetzt freiwillig in die Welt gesetzt .... Das Ganze funktioniert übrigens nicht, wenn year nicht da ist, oder wenn stattdessen date benutzt wurde.

(13 Okt '16, 14:12) Ulrike Fischer

@Ulrike: Klar. Aber ich muss nicht auch noch schlimmer machen.

(13 Okt '16, 14:15) saputello

@saputello: das funktioniert zwar bezüglich der Nummern, aber wirft durch die Änderung des style in numeric meine anderen Anpassungen durcheinander, so dass ich erst vorerst so lasse.

(14 Okt '16, 07:43) tobsen

@tobsen: Aber wenn du numerische Verweise im Text hast ohne die Nummern im Literaturverzeichnis auch als Labels aufzuführen, wie soll der Leser dann die zu einer Nummer gehörenden Literatur finden? Da kann man sich den Literaturverweis gleich schenken. Deshalb rate ich schon, entweder die Verweise (citestyle) ebenfalls im authoryear-Stil zu machen oder das Verzeichnis (bibstyle) ebenfalls im numeric-Stil.

(14 Okt '16, 08:38) saputello

Den Code um Nummern zu bekommen hab ich aus dem "Minimalbeispiel" eliminiert. Er funktioniert aber in meiner Version. Er ist zu lang um ihn hier einzuführen, siehe aber: http://texwelt.de/wissen/fragen/18724/anpassungen-fur-literaturtyp-phdthesis "% Schlüssel als Zahlen in eckigen Klammern"

(14 Okt '16, 09:05) tobsen

@tobsen: Wenn Du gleich einen numeric-Stil verwendest, kannst Du Dir den sparen. Ich sehe keinen Vorteil, erst einen authoryear-Stil zu verwenden und den dann auf numeric umzupatchen. Ich sehe aber, dass es zu unnötiger Verwirrung und zusätzlichen Problemen führt.

(14 Okt '16, 09:13) saputello

Sehe ich (mittlerweile) ein, andererseits wirft es dann die anderen erarbeiteten Formatierungsänderungen wie Jahreszahl ganz ans Ende, Nachname Initialen Reihenfolge usw. durcheinander und fügt z.B. einen langen Strich an den Beginn des Eintrags(Sortname?). Und so funktioniert es aktuell? Aufwand wert?

(14 Okt '16, 09:29) tobsen
1

@tobsen: Wenn Du die bisherigen Änderungen verstanden hast, sollte es (insbesondere bei konsequenter Verwendung von xpatch statt kompletter Neudefinierung) kein allzu großer Aufwand sein. Ob es Dir den Aufwand wert ist, sauber aufgebauten Code von einer sauberen Ausgangsbasis zu bekommen, musst Du selbst entscheiden. Schau dir einfach einmal die Vorteile an, die ich in meiner erweiterten Antwort aufgezeigt habe.

(14 Okt '16, 09:47) saputello

Beim Testkompilieren ergeben sich trotzdem noch einige Baustellen. Ich denke ich belasse es erst mal beim alten Code mit der Standardsortierung und missachte erst mal die eigentümliche Sortiervorgabe. We will see.

(14 Okt '16, 14:46) tobsen
Ergebnis 5 von 13 show 8 more comments
Deine Antwort
Vorschau umschalten

Folgen dieser Frage

Per E-Mail:

Wenn sie sich anmelden, kommen Sie für alle Updates hier in Frage

Per RSS:

Antworten

Antworten und Kommentare

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs fügen Sie einfach zwei Leerzeichen an die Stelle an der die neue Linie sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Frage-Themen:

×220
×7
×1

gestellte Frage: 12 Okt '16, 20:08

Frage wurde gesehen: 7,190 Mal

zuletzt geändert: 14 Okt '16, 14:47