Ich möchte in Literaturverzeichniseinträgen, die aus mehreren Quellen bestehen und mittels biblatex's Befehl \defbibentryset (mit biber als backend) gruppiert wurden, Zusatztext hinzufügen, wie z.B. "reprinted as" oder "eine überarbeitete Version erschien in". Ein Beispiel wäre der folgende Fall:

[1] E. H. Lieb, „Density Functionals for Coulomb Systems“ in Physics as Natural Philosophy: Essays in Honor of Laszlo Tisza on His 75th Birthday (Eds.: A. Shimony, H. Feshbach), MIT Press, Cambridge, MA, 1982, pp. 111–149; eine überarbeitete Version erschien in E. H. Lieb, Int. J. Quantum Chem. 1983, 24, 243.

Ich habe diese Frage bereits einmal bei TeX.SX gestellt (Add additional text to grouped bibliography entries with biblatex), damals allerdings eher einen "hack" als eine richtige Lösung erhalten. Allerdings gab es in einem Kommentar den Hinweis, dass eine zukünftige Version von biblatex diese Funktionalität enthalten würde. Dies ist wohl mittlerweile auch geschehen und ich denke, dass Kapitel 4.9 "Localization Modules" (oder noch genauer: 4.9.2.10 "Publication Details") der biblatex Dokumentation die Lösung zu meiner Frage enthält. Leider kenne ich mich in biblatex nur sehr schlecht aus (Joseph Wright hat mir mit seinem biblatex-chem Paket, die Arbeit des Kreierens eines eigenen Stils in biblatex quasi abgenommen, deshalb hab ich mich damit bis heute nicht eingehender beschäftigt) und weiß nicht, wie ich die Informationen aus der Dokumentation für die Lösung meines Problems nutzen kann (auch scheint der Spezialfall: "a revised version appeared in" noch nicht standardmäßig vordefiniert zu sein). Insbesondere, wäre für mich zusätzlich auch interessant, wie man die Lösung zweisprachig gestalten kann, also die gleiche .bib-Datei für deutsche wie auch für englische Dokumente nutzen zu können, z.B. "a revised version appeared in" in englischen und "eine überarbeitete Version erschien in" in deutschen Texten erscheinen zu lassen.

P.S. Der Titel ist wahrscheinlich suboptimal. Mir ist leider kein klarerer eingefallen, also wenn jemand einen besseren Vorschlag hat, wäre ich dankbar.

Edit:

Entschuldigung, dass bisher kein MWE dabei war. Ich hatte gedacht, dass es auf Grund der Art der Frage, wenig hilfreich sein dürfte. Aber da Marco danach gefragt hat, stelle ich natürlich gern eines bereit.

Open in writeLaTeX
\documentclass{article}

\usepackage{filecontents}

\begin{filecontents}{testbibfile.bib}
@article {Lieb_1983_Int.J.Quantum.Chem._24_p.243,
author = {Lieb, Elliott H.},
title = {Density Functionals for Coulomb Systems},
journal = {Int. J. Quantum Chem.},
volume = {24},
number = {3},
publisher = {John Wiley & Sons, Inc.},
issn = {1097-461X},
url = {http://dx.doi.org/10.1002/qua.560240302},
doi = {10.1002/qua.560240302},
pages = {243--277},
year = {1983}
}

@incollection{Lieb_1982_InBook_Physics.as.Natural.Philosophy_p.111,
author      = {Lieb, Elliott H.},
editor      = {Shimony, Abner and Feshbach, Herman},
booktitle   = {Physics as Natural Philosophy: Essays in Honor of Laszlo Tisza on His Seventy-Fifth Birthday},
title       = {Density Functionals for Coulomb Systems},
year        = {1982},
publisher   = {MIT Press},
address     = {Cambridge, MA},
pages       = {111--149}
}
\end{filecontents}

\usepackage[
backend=biber,
language=german,
style=chem-angew,
pageranges=false,
articletitle=true
]{biblatex}

\bibliography{testbibfile.bib}

\defbibentryset{Lieb_constrained_search}{Lieb_1982_InBook_Physics.as.Natural.Philosophy_p.111,Lieb_1983_Int.J.Quantum.Chem._24_p.243}

\begin{document}

Die ``constrained search'' Formulierung der Dichtefunktionaltheorie stammt von Levy und Lieb\cite{Lieb_constrained_search}.

\printbibliography

\end{document}

gefragt 30 Jun '13, 15:35

carlton87's gravatar image

carlton87
2541711
Akzeptiert-Rate: 66%

bearbeitet 18 Jul '14, 10:02

gast3's gravatar image

gast3
(ausgesetzt)

Dein Link funktioniert nicht. Zudem wäre ein komplettes Minimalbeispiel hilfreich.

(30 Jun '13, 17:46) Marco_D

@Marco Daniel Ich habe ein MWE hinzugefügt. Das mit dem Link war ein Versehen von mir: Ich wusste nicht, dass ein Hyperlink, der sich auf zwei Wörter bezieht, offenbar nicht wie gewünscht funktioniert. Ich hab es in meiner Frage ausgebessert.

(30 Jun '13, 19:06) carlton87

Der von die angegebene Abschnitt zeigt nur, welche Wörter in verschiedenen Sprachen existieren. Diese können dann mittels \bibstring aufgerufen werden. Was du scheinbar möchtest, ist ein neues Feld im Literaturverzeichnis (also in der bib-Datei), welches dann durch biber bearbeitet wird. Das kannst du mit \DeclareDatamodelEntrytypes tun, welches aber dann von dir selbst bearbeitet werden muss. Ich könnte mir also ein Eintrag mit dem Namen revised={} vorstellen. Ist es das was du möchtest?

(30 Jun '13, 20:34) Marco_D

@Marco Daniel Idealerweise hätte ich gerne die Möglichkeit die bib-Datei nur soweit zu verändern, dass der Zusatztext nur erscheint, wenn ich sie in gruppierter Form (also über \defbibentryset) nutze, nicht aber wenn ich sie als Einzelquelle verwende. Allerdings habe ich keine Einschätzung davon, ob das illusorisch ist oder nicht. Ein neues Feld in der bib-Datei wär also absolut in Ordnung bzw. sogar ideal, wenn sich damit das eben Beschriebene umsetzen ließe. Es wäre mir nur wichtig, dass die Änderung an der bib-Datei nicht so "invasiv" ist, wie in der Antwort auf TeX.SE.

(30 Jun '13, 21:16) carlton87

@Marco Daniel Alternativ schwebte mir eine eventuelle Lösung durch eine abgewandelte Form des \defbibentryset-Befehls vor, in welcher man spezifizieren kann, welcher Eintrag mit einem entsprechenden Zusatztext am Beginn oder Ende zu versehen ist. Dies hätte den Vorteil, dass ich an der bib-Datei nichts ändern müsste. Auch hier fehlt mir jedoch das Wissen, um einzuschätzen wie schwierig so etwas ist.

(30 Jun '13, 21:17) carlton87

@carlton87: Der Weg über die .bib bzw. über die erzeugte .bbl-Datei geht nur, wenn man ein Feld wie "revised" vorsieht und dazu noch die "biblatex.bst" ergänzt - schon etwas aufwendiger.

Dein zuletzt genannter Weg sollte aber einfacher sein. Der Zusatztext wird ja mit dem Cite-Key assoziiert. Wenn die bibentry-Einträge gesetzt werden, wird dies abgefragt und dann beim passenden Cite-Key der assoziierte Text ergänzt. Der Text könnte dann auch wiederum ein cite enthalten - führte dann nur dazu, dass man noch 1-2 Kompilierdurchgänge mehr benötigt.

(30 Jun '13, 22:52) bernd

@bernd Mit mehr Kompilierdurchgängen könnt ich leben :)

(01 Jul '13, 00:19) carlton87
Ergebnis 5 von 8 show 3 more comments

Ich will die Antwort in mehrere Schritte untergliedern, um so einzelne Fähigkeiten von biblatex nach und nach zu einem Ganzen zusammen zu führen.

1. Text zwischen zwei Titel einer entry set einfügen:

Wenn es lediglich darum geht, zwischen die Titel jeder entry set den Text »eine überarbeitete Version erschienen in« zu setzen, dann müsste das durch Umdefinierung von \entrysetpunct möglich sein:

\documentclass{article}
\usepackage{selinput}
\SelectInputMappings{
  adieresis={ä},
  germandbls={ß},
}
\usepackage{filecontents}

\begin{filecontents}{testbibfile.bib}
@article {Lieb_1983_Int.J.Quantum.Chem._24_p.243,
author = {Lieb, Elliott H.},
title = {Density Functionals for Coulomb Systems},
journal = {Int. J. Quantum Chem.},
volume = {24},
number = {3},
publisher = {John Wiley & Sons, Inc.},
issn = {1097-461X},
url = {http://dx.doi.org/10.1002/qua.560240302},
doi = {10.1002/qua.560240302},
pages = {243--277},
year = {1983}
}

@incollection{Lieb_1982_InBook_Physics.as.Natural.Philosophy_p.111,
author      = {Lieb, Elliott H.},
editor      = {Shimony, Abner and Feshbach, Herman},
booktitle   = {Physics as Natural Philosophy: Essays in Honor of Laszlo Tisza on His Seventy-Fifth Birthday},
title       = {Density Functionals for Coulomb Systems},
year        = {1982},
publisher   = {MIT Press},
address     = {Cambridge, MA},
pages       = {111--149}
}
\end{filecontents}

\usepackage[
backend=biber,
language=german,
style=chem-angew,
pageranges=false,
articletitle=true,
chaptertitle=true,
]{biblatex}

\renewcommand*{\entrysetpunct}{; eine überarbeitete Version erschienen in }

\bibliography{testbibfile.bib}

\defbibentryset{Lieb_constrained_search}{Lieb_1982_InBook_Physics.as.Natural.Philosophy_p.111,Lieb_1983_Int.J.Quantum.Chem._24_p.243}

\begin{document}

Die ``constrained search'' Formulierung der Dichtefunktionaltheorie stammt von Levy und Lieb\cite{Lieb_constrained_search}.

\printbibliography

\end{document}

ergibt:

Beispiel mit Text zwischen set-Elementen

2. Sprachabhängigen Terminus für den eingefügten Text verwenden:

Schöner wäre natürlich, wenn man einen neuen sprachabhängigen Terminus definieren und diesen verwenden würde, um bei Einträgen in unterschiedlichen Sprachen ggf. einen Text in der jeweiligen Sprache zu haben. Dazu muss man eine eigene .lbx-Datei für jede relevante Sprache anlegen, in der man den entsprechenden Terminus definiert und das Mapping für die Sprache entsprechend ändern. Das könnte beispielsweise für Deutsch so aussehen:

\documentclass{article}
\usepackage{selinput}
\SelectInputMappings{
  adieresis={ä},
  germandbls={ß},
}
\usepackage{filecontents}

\begin{filecontents}{testbibfile.bib}
@article {Lieb_1983_Int.J.Quantum.Chem._24_p.243,
author = {Lieb, Elliott H.},
title = {Density Functionals for Coulomb Systems},
journal = {Int. J. Quantum Chem.},
volume = {24},
number = {3},
publisher = {John Wiley & Sons, Inc.},
issn = {1097-461X},
url = {http://dx.doi.org/10.1002/qua.560240302},
doi = {10.1002/qua.560240302},
pages = {243--277},
year = {1983}
}

@incollection{Lieb_1982_InBook_Physics.as.Natural.Philosophy_p.111,
author      = {Lieb, Elliott H.},
editor      = {Shimony, Abner and Feshbach, Herman},
booktitle   = {Physics as Natural Philosophy: Essays in Honor of Laszlo Tisza on His Seventy-Fifth Birthday},
title       = {Density Functionals for Coulomb Systems},
year        = {1982},
publisher   = {MIT Press},
address     = {Cambridge, MA},
pages       = {111--149}
}
\end{filecontents}

\begin{filecontents}{revised-german.lbx}
\InheritBibliographyExtras{german}
\NewBibliographyString{revised}
\DeclareBibliographyStrings{%
  revised = {{eine überarbeitete Version erschienen in}{eine überarbeitete Version erschienen in}}%
}
\end{filecontents}

\usepackage[
backend=biber,
language=german,
style=chem-angew,
pageranges=false,
articletitle=true,
chaptertitle=true,
]{biblatex}

\DeclareLanguageMapping{german}{revised-german}

\renewcommand*{\entrysetpunct}{; \bibstring{revised} }

\bibliography{testbibfile.bib}

\defbibentryset{Lieb_constrained_search}{Lieb_1982_InBook_Physics.as.Natural.Philosophy_p.111,Lieb_1983_Int.J.Quantum.Chem._24_p.243}

\begin{document}

Die ``constrained search'' Formulierung der Dichtefunktionaltheorie stammt von Levy und Lieb\cite{Lieb_constrained_search}.

\printbibliography

\end{document}

Näheres zu .lbx-Dateien und sprachabhängigen Bezeichnern ist der biblatex-Anleitung zu entnehmen.

3. Revisionen als eigene Spezialform von entry sets:

Das ist leider etwas aufwändiger. Am einfachsten wäre, wenn man für ein entry set einfach eine neue Option revised setzen könnte. Während für normale Einträge ins Literaturverzeichnis eine Option einfach über das option-Feld des Eintrags gesetzt werden kann, ist das für eine entry set leider nicht möglich, die per \defbibentryset definiert wird, weil sie ja keinen eigenen Eintrag in der Literaturdatenbank hat.

Als erstes muss also die Möglichkeit geschaffen werden, trotzdem eine Option zu setzen. Dazu muss man etwas tiefer in biblatex wühlen und findet dann, dass Optionen eines Eintrags als Makro \abx@field@options während der Verarbeitung des Eintrags definiert sind. Leider können wir \abx@field@options nicht direkt bei der Verarbeitung des Eintrags setzen, weil dies ja innerhalb der .bbl-Datei erfolgt, die von biber erzeugt wird. Stattdessen definieren wir wieder eine neue Anweisung

\newcommand*{\defrevisedset}[2]{%
  % Kleiner Umweg, um auch für eine entry set eine Option definieren zu können.
  \@namedef{\detokenize{#1}.dorevise}{\def\abx@field@options{revised}}%
  \defbibentryset{#1}{#2}%
}

Diese neue Anweisung wird mit denselben Parametern aufgerufen wie \defbibentryset, definiert aber zusätzlich eine Anweisung, die aus dem Namen der entry set und der Endung .dorevise besteht.

Zusätzlich wird der Befehl zur Verarbeitung von Einträgen \blx@bbl@entry gepatcht:

\patchcmd[\protected]{\blx@bbl@entry}{%
  \begingroup
}{%
  \begingroup
    % Hier die Option von \defrevisedset für den Eintrag setzen:
    \@nameuse{\detokenize{#1}.dorevise}%
}{}{\@latexerr{sorry patch failed}\@eha}

Das erste Argument dieses Befehls ist wieder der Name des Eintrags, also im Falle einer entry set der Name der entry set. Die Änderung besteht nun darin, dass unmittelbar nach dem initialen \begingroup die zuvor definierte Anweisung ausgeführt wird, falls sie definiert ist. Falls sie nicht definiert ist, erzeugt \@nameuse lediglich ein \relax, das nicht weiter stört.

Damit ist schon einmal sichergestellt, dass für alle revised entry sets die Option revised ausgeführt ist. Jetzt muss diese Option nur noch so definiert werden, dass sie das toggle blx@revised setzt:

\define@key{blx@opt@ent}{revised}[true]{% Neue Option für Einträge
  \@nameuse{toggle#1}{blx@revised}%
}

Dabei ist blx@opt@ent die keyvalue-Klasse, die biblatex für Optionen von Einträgen verwendet.

Zum Schluss muss \blx@finentry@inset noch so gepatcht werden, dass im Falle einer revised entry set, also wenn toggle blx@revised gesetzt ist, direkt im Anschluss an \entrysetpunct, auch noch der revised-Terminus ausgegeben wird:

\patchcmd[\protected]\blx@finentry@inset{% zu \patchcmd siehe etoolbox
  \entrysetpunct
}{%
  {% Argumentklammer auf
    \entrysetpunct
  % Wenn der Schalter blx@revised gesetzt ist, zusätzlich den revised-Terminus ausgeben:
    \iftoggle{blx@revised}{\bibstring{revised}}{}%
  }% Argumentklammer zu
}{}{\@latexerr{sorry patch failed}\@eha}

Die zusätzlichen Klammern um \entrysetpunct und \iftoggle mit Argumenten wurden hier für den Fall eingefügt, dass \entrysetpunct ein nicht geklammertes Argument eines Befehls (gegenwärtig von \blx@setunit) ist, damit der neu eingefügte Teil dann ebenfalls zu einem Teil dieses Arguments wird.

Alles zusammen ergibt nun also beispielsweise:

\documentclass{article}
\usepackage{selinput}
\SelectInputMappings{
  adieresis={ä},
  germandbls={ß},
}
\usepackage{filecontents}

\begin{filecontents}{testbibfile.bib}
@article {Lieb_1983_Int.J.Quantum.Chem._24_p.243,
author = {Lieb, Elliott H.},
title = {Density Functionals for Coulomb Systems},
journal = {Int. J. Quantum Chem.},
volume = {24},
number = {3},
publisher = {John Wiley & Sons, Inc.},
issn = {1097-461X},
url = {http://dx.doi.org/10.1002/qua.560240302},
doi = {10.1002/qua.560240302},
pages = {243--277},
year = {1983}
}

@incollection{Lieb_1982_InBook_Physics.as.Natural.Philosophy_p.111,
author      = {Lieb, Elliott H.},
editor      = {Shimony, Abner and Feshbach, Herman},
booktitle   = {Physics as Natural Philosophy: Essays in Honor of Laszlo Tisza on His Seventy-Fifth Birthday},
title       = {Density Functionals for Coulomb Systems},
year        = {1982},
publisher   = {MIT Press},
address     = {Cambridge, MA},
pages       = {111--149}
}
\end{filecontents}

\begin{filecontents}{revised-german.lbx}
\InheritBibliographyExtras{german}
\NewBibliographyString{revised}
\DeclareBibliographyStrings{%
  revised = {{eine überarbeitete Version erschienen in }%
             {eine überarbeitete Version erschienen in }}%
}
\end{filecontents}

\usepackage[
backend=biber,
language=german,
style=chem-angew,
pageranges=false,
articletitle=true,
chaptertitle=true,
]{biblatex}

\makeatletter
\newtoggle{blx@revised}% Neuer Schalter
% einige Anweisungen von biblatex erweitern:
% \blx@finentry@inset gibt zwischen den Titeln einer Menge \entrysetpunct aus:
\patchcmd[\protected]\blx@finentry@inset{% zu \patchcmd siehe etoolbox
  \entrysetpunct
}{%
  % Für den Fall, dass \entrysetpunct ein nicht geklammertes Argument von
  % \blx@setunit ist, werden zusätzliche Klammern eingefügt:
  {\entrysetpunct
  % Wenn der Schalter blx@revised gesetzt ist, zusätzlich den revised-Terminus ausgeben:
    \iftoggle{blx@revised}{\bibstring{revised}}{}}%
}{}{\@latexerr{sorry patch failed}\@eha}
% \blx@bbl@entry Verarbeitet die einzelnen Einträge des Literaturverzeichnisses:
\patchcmd[\protected]{\blx@bbl@entry}{%
  \begingroup
}{%
  \begingroup
    % Hier die Option von \defrevisedset für den Eintrag setzen:
    \@nameuse{\detokenize{#1}.dorevise}%
}{}{\@latexerr{sorry patch failed}\@eha}

\define@key{blx@opt@ent}{revised}[true]{% Neue Option für Einträge
  \@nameuse{toggle#1}{blx@revised}%
}
% Und eine neue Anweisung für revised entry sets
\newcommand*{\defrevisedset}[2]{%
  % Kleiner Umweg, um auch für eine entry set eine Option definieren zu können.
  \@namedef{\detokenize{#1}.dorevise}{\def\abx@field@options{revised}}%
  \defbibentryset{#1}{#2}%
}
\makeatother

\DeclareLanguageMapping{german}{revised-german}

\bibliography{testbibfile.bib}

\defbibentryset{Lieb_constrained_search_notrevised}{Lieb_1982_InBook_Physics.as.Natural.Philosophy_p.111,Lieb_1983_Int.J.Quantum.Chem._24_p.243}
\defrevisedset{Lieb_constrained_search_revised}{Lieb_1982_InBook_Physics.as.Natural.Philosophy_p.111,Lieb_1983_Int.J.Quantum.Chem._24_p.243}
\defrevisedset{Lieb_constrained_search_revised2}{Lieb_1982_InBook_Physics.as.Natural.Philosophy_p.111,Lieb_1983_Int.J.Quantum.Chem._24_p.243}
\defbibentryset{Lieb_constrained_search_notrevised2}{Lieb_1982_InBook_Physics.as.Natural.Philosophy_p.111,Lieb_1983_Int.J.Quantum.Chem._24_p.243}

\begin{document}

Die ``constrained search'' Formulierung der Dichtefunktionaltheorie stammt von
Levy und Lieb\cite{Lieb_constrained_search_notrevised}
bzw. \cite{Lieb_constrained_search_revised} (revised)
\cite{Lieb_constrained_search_revised2} (revised) bzw. 
\cite{Lieb_constrained_search_notrevised2}
\printbibliography

\end{document}

Mit der Ausgabe:

einige *revised* andere nicht

Dass ich zur Demonstration nur auf zwei Literaturdatenbankeinträge zurückgegriffen habe, hat seine Ursache darin, dass ich den Beispielcode klein halten wollte. Natürlich ergibt es keinen Sinn, die gleiche Menge zweimal als entry set und zweimal als revised entry set zu definieren. Das diente lediglich der Demonstration. Selbstverständlich geht es auch mit ganz unterschiedlichen Mengen, von denen einige entry sets und einige revised entry sets sind.

Näheres zu den Befehlen zum Patchen und zu toggles ist der Anleitung zu etoolbox zu entnehmen. Näheres zu keyvalue-Optionen ist der Anleitung zum Paket keyvalue zu entnehmen. Beide Pakete werden von biblatex intern verwendet.

Letztlich ist das ganze zwar ein Hack – immerhin werden interne Makros von biblatex gepatcht –, aber ich hoffe, dass er Dank der Verwendung von etoolbox eine gewisse Robustheit gegen kleinere Änderungen in biblatex besitzt. Sollte ein Patch schief gehen, gibt es auf jeden Fall eine Fehlermeldung.

Permanenter link

beantwortet 26 Aug '13, 11:35

saputello's gravatar image

saputello
11.1k154365
Akzeptiert-Rate: 51%

bearbeitet 29 Aug '13, 09:18

+1 Sehr gute Idee. Allerdings verändert deine Methode sämtliche \defbibentrysets im Dokument, was häufig nicht dem gewünschten Ergebnis entspricht. Kann man deine Antwort evtl. so anpassen, dass man, statt \defbibentryset global zu verändern, einen neuen Befehl erstellt, der genauso funktioniert bis auf den veränderten \entrysetpunct oder dass man \defbibentryset quasi "patched", damit es ein optionales Argument annimmt, mit welchem man die Definition von \entrysetpunct lokal ändern kann?

(26 Aug '13, 21:24) carlton87

@carlton87 Ich hatte Deine Frage so verstanden, dass die entrysets entsprechend dargestellt werden sollen. Das nur auf einige davon zu beschränken dürfte schwierig werden, weil ja nicht \defbibentryset den Eintrag im Verzeichnis formatiert, sondern lediglich biber mitteilt, dass ein solcher zu erstellen ist. Daher kann etwas wie

\newcommand*{\defrevisedset}[2]{%
  \begingroup
    \renewcommand*{\entrysetpunct}{; \bibstring{revised} }%
    \defbibentryset{#1}{#2}%
  \endgroup
}

leider nicht funktionieren. Aber es gibt vielleicht eine andere Lösung (siehe oben).

(27 Aug '13, 07:37) saputello

Vielen, vielen Dank für den hohen Aufwand. Leider bekomme ich immer noch nicht ganz das Verhalten, das ich mir wünschen würde. Sollte das daran liegen, dass ich mich in meiner Frage oder meinen Kommentaren unklar ausgedrückt habe, tut mir das sehr Leid. Mit der momentan von Dir vorgeschlagenen Lösung kann ich entweder nur gepatchte oder nur ungepatchte entrysets im Dokument haben (ich habe ein Beispiel mit zwei entrysets zu meiner Frage hinzugefügt. Ich würde jedoch gerne beides nebeneinander haben können, da man die gepatchte Version ja nur für spezielle Fälle benötigt.

(27 Aug '13, 17:35) carlton87

@carlton87: Grml, was ich nicht wusste: biblatex liest erst alle Einträge des Literaturverzeichnisses ein und gibt dann alle Einträge aus. Deshalb werden erst die \blx@bbl@inset-Anweisungen für alle entry sets ausgeführt und erst danach die \blx@finentry@inset. Da letztere kein Argument besitzen, ist es schwierig Informationen von \blx@bbl@inset nach \blx@finentry@inset zu bringen. Ich muss da noch einmal drüber nachdenken.

(27 Aug '13, 19:23) saputello

Nochmals danke, dass du Dir so viel Mühe machst. Ich selbst hätte nicht das Wissen um TeX Manipulationen auf diesem Level hinzubekommen.

(27 Aug '13, 19:49) carlton87

@carlton87 Irgendwie hatte ich aber ein Brett vor dem Kopf. Nachdem ich mich etwas tiefer in den Code von biblatex eingewühlt hatte, war die Lösung fast schon zu leicht. Ich hoffe, dass sie trotzdem zur Zufriedenheit funktioniert. Anderenfalls hätte ich lediglich ein paar Stunden, Du aber eine Lösung verloren und das wäre sicher weit schlimmer.

(28 Aug '13, 19:29) saputello

So ein Brett hätt ich auch gern mal vor dem Kopf :). Deine Lösung "works like a charm", wie der Lateiner sagt :). Deine Stunden waren definitiv nicht verloren. Ich hatte zunächst einen Schreck bekommen, als es in meinem Hauptdokument fehlschlug, aber das hat sich (Gott sei Dank) schnell geklärt: man muss anscheinend darauf achten die entry sets in der Präambel und nicht innerhalb des documents zu definieren. Leider hab ich nicht genug Reputation um dir einen angemessenen Punktebonus für diese vorzügliche Antwort zu geben. Aber meine Dankbarkeit und Bonuspunkte für dein Karma sind dir gewiss.

(28 Aug '13, 20:20) carlton87

@carlton87 Mach Dir keinen Kopf wegen der Punkte, davon habe ich mehr als genug. Mir ist wichtiger, dass Du eine Lösung hast, mit der Du arbeiten kannst. Und wenn Du dann noch ansatzweise verstehen würdest, was ich da eigentlich tue, dann wäre das natürlich das Sahnetüpfelchen.

BTW: Ein Lob für die Mühe, die Du Dir inzwischen mit den Beispielen in der Fragestellung gemacht hast. Wenn ich das zweite Beispiel früher gesehen hätte, hätte ich es vielleicht sogar verwendet. Da war ich aber zu sehr mit der Problemlösung beschäftigt.

(28 Aug '13, 20:53) saputello

Jetzt bricht mir ein wenig das Herz, wenn ich Dir mitteilen muss, dass es doch noch ein Problem gibt, dass mir zunächst gar nicht aufgefallen ist. Es zeigt sich sogar in deinem Beispieloutput: Am Ende der gruppierten Einträge, die durch \defrevisedset definiert wurden, wird nochmals der revised string, also "eine überarbeitete Version erschienen in" gesetzt, ohne dass darauf noch eine Referenz folgt. Ist das auch behebbar?

P.S.: Ich hoffe ich war nicht zu voreilig mit dem Löschen meines zweiten Beispiels. Da dieses Problem ja gelöst war, dachte ich es wäre nicht mehr nötig.

(28 Aug '13, 21:05) carlton87

@carlton87 Außer Punkten ist der beste Dank, weitere so interessante Fragen zu posten. ;-) Generiert weiteres Karma und, viel wesentlicher, bringt interessante Problemstellungen und mehr Wissen.

(28 Aug '13, 21:06) stefan ♦♦

@stefan Da Wissen ja bekanntlich Macht ist, will ich gern versuchen dabei zu helfen, dass diese Seite die Mächtigste des ganzen Internets wird :) (naja, nach Tolkien Wiki vielleicht, der Eine Ring ist schwer zu schlagen...)

(28 Aug '13, 21:25) carlton87

@carlton87 Da fehlten schlicht Argumentklammern. War in wenigen Minuten gefunden und behoben. Ein Gutes hat es, dass die Antwort immer wieder angefasst werden muss: In der Zahl der Ansichten und bei den aktiven Themen schiebt sich sich das Thema immer weiter nach vorn. ;)

(29 Aug '13, 09:01) saputello

Dann sollten wir den Dialog hier fortsetzen bis mindestens 10 upvotes zu Stande gekommen sind ;) Freut mich, dass das Problem leicht zu beheben war. Deine Lösung funktioniert jetzt einwandfrei. Ich kann mich gar nicht oft genug bedanken.

(29 Aug '13, 14:27) carlton87

@carlton87 Ich fände es toll, wenn Du weiter so gute und gut ausgeführte Fragen stellen würdest. Leider kann man für gute Fragen offenbar keine Punkte verschenken, wie für Antworten.

Übrigens ist damit zu rechnen, dass @stefan irgendwann die überflüssig gewordenen Kommentare – diesen beispielsweise – abräumt.

(29 Aug '13, 16:49) saputello

Ich würd mal sagen, die beste Belohnung für gute Fragen sind gute Antworten ;)

(29 Aug '13, 20:12) carlton87
Ergebnis 5 von 15 show 10 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
×17

gestellte Frage: 30 Jun '13, 15:35

Frage wurde gesehen: 11,490 Mal

zuletzt geändert: 18 Jul '14, 10:02