goLaTeX - Mein LaTeX-Forum

Mein LaTeX-Forum


Login  | Registrieren
Direktlinks:
Zuletzt aktive Beiträge
Unbeantwortete Beiträge
[Erweitert]

Forenstatistik:
Beiträge: 100358
Top-Poster: Johannes_B (5064)

Wir begrüßen unseren neuesten Benutzer Jonas94.

Links:


Mit Unterstützung von DANTE e.V.: Deutschsprachige Anwendervereinigung TeX. Danke den Mitgliedern!





Forum
      Option
[Erweitert]
  • Diese Seite weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

xref und backref

 

Miou
Gast

Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 20.09.2019, 18:54     Titel: xref und backref
  Antworten mit Zitat      
Hi ihr Latex-Verrückten,

vielleicht finde ich hier jemanden, der eine Idee hat. Es geht um die backref-Funktion in Biblatex beim Style footnote-dw. Ich benutze xref und die Verweise auf die zitierten Seiten erscheinen bei Sammelwerken hinter den parent-Einträgen, die selbst aber nicht zitiert werden. Außerdem verweisen sie auf den child-Eintrag im Literaturverzeichnis an sich.

Ich hätte gerne, dass nur die child-Einträge die backref Funktion nutzen, solange der Sammelband nicht selbst zitiert wird und, dass nicht auf das Lit-Verzeichnis selbst verwiesen wird.

Mit crossref geht das prima automatisch, nur bekomme ich da die shorttitle-Funktion nicht eingestellt. Bin für jede Hilfe sehr dankbar.

Beste Grüße und vieln Dank im Voraus
Marcus
Code
%
\begin{filecontents*}{TestBibliographie.bib}

@incollection{Edelmann.2001,
 xref = {Boch.2001
},
 author = {Edelmann, Heidrun},
 title = {{Der Umgang mit dem Rückstand. Deutschlands Automobilindustrie in der Zwischenkriegszeit}},
 pages = {41--48},
 bookpagination = {page},
 publisher = {Steiner},
 isbn = {3-515-07866-5},
 editor = {Boch, Rudolf},
 booktitle = {{Geschichte und Zukunft der deutschen Automobilindustrie}},
 date = {2001},
 address = {Stuttgart}
}

@book{Erhard.1962,
 author = {Erhard, Ludwig
},
 date = {1962},
 title = {{Deutsche Wirtschaftspolitik: Der Weg der Sozialen Marktwirtschaft}},
 address = {Düsseldorf and Wien and Frankfurt a.\,Main},
 publisher = {Econ and Knapp},
 shorttitle = {Wirtschaftspolitik}
}


@incollection{Erhard.1962b,
 xref = {Erhard.1962
},
 author = {Erhard, Ludwig},
 title = {{Der Weg in die Zukunft: Rede vor der 14.\,Vollversamm\-lung des Wirtschaftsrates des Vereinigten Wirtschaftsgebietes am 21.\,April 1948 in Frankfurt a.\,M.}},
 pages = {37--61},
 bookpagination = {page},
 publisher = {Econ and Knapp},
 booktitle = {{Deutsche Wirtschaftspolitik}},
 date = {1962},
 address = {Düsseldorf and Wien and Frankfurt a.\,Main},
 bookauthor = {Erhard, Ludwig}
}

@incollection{Stieniczka.2001,
 xref = {Boch.2001
},
 author = {Stieniczka, Norbert},
 title = {{Vom fahrbaren Untersatz zur Chromkarosse mit innerer Sicherheit - der Wandel der Nutzeranforderungen an das Automobil in den 50er und 60er Jahren}},
 pages = {177--200},
 bookpagination = {page},
 publisher = {Steiner},
 isbn = {3-515-07866-5},
 editor = {Boch, Rudolf},
 booktitle = {{Geschichte und Zukunft der deutschen Automobilindustrie}},
 date = {2001},
 address = {Stuttgart}
}
@collection{Boch.2001,
 date = {2001
},
 title = {{Geschichte und Zukunft der deutschen Automobilindustrie: Tagung im Rahmen der Chemnitzer Begegnungen 2000}},
 address = {Stuttgart},
 publisher = {Steiner},
 isbn = {3-515-07866-5},
 editor = {Boch, Rudolf},
 shorttitle = {Automobilindustrie}
}
\end{filecontents*}

\documentclass{book}
\usepackage[style=footnote-dw,xref=true,backref=true,minxrefs=1]{biblatex}
\addbibresource{TestBibliographie.bib}
\begin{document}
test test\footcite{Stieniczka.2001} test test\footcite{Edelmann.2001} test test\footcite{Erhard.1962b}
\printbibliography
\end{document}
 

MoeWe
Forum-Fortgeschrittener
Forum-Fortgeschrittener

Beiträge: 75
Anmeldedatum: 30.08.19
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 21.09.2019, 14:19     Titel:
  Antworten mit Zitat      
Dieses Verhalten ist recht tief in biblatex-dw verankert und hat primär zwei Ursachen.

Zunächst nutzt biblatex-dw an einigen Stellen einen internen Zitierbefehl, der von biblatex als ein solcher erkannt wird und daher auch den pageref/backref-Tracker auslöst. Das führt dazu, dass die Elterneinträge so aufgeführt werden, als sein sie an den Stellen zitiert worden, an denen die Kindeintträge zitiert wurden. Da dieser interne Zitierbefehl auch im Literaturverzeichnis genutzt wird, wird die Seitenzahl auch immer aufgeführt. Die Lösung hier ist es, biblatex explizit zu sagen, dass dieser interne Befehl nicht getrackt werden soll.

Dann stellt sich aber heraus, dass bei den Kindeinträgen die Seiten, auf denen sie zitiert wurden, nicht aufgeführt werden, wenn xref im Spiel ist. Das ist tatsächlich so im Driver festgelegt. Ob das nur ein Versehen oder Absicht war, kann ich nicht sagen. Aber mit etwas Aufwand und der großzügigen Hilfe von xpatch können wir die relevanten Makros in den relevanten Stellen hinzufügen.

Code
\documentclass[ngerman]{book}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\usepackage{csquotes}
\usepackage[style=footnote-dw,xref=true,backref=true,minxrefs=1]{biblatex}

\usepackage{xpatch}

\DeclareCiteCommand{\bbx@xref}
  {\boolfalse{backtracker}}
  {\usebibmacro{cite:xref}}
  {}
  {
}

\makeatletter
\newcommand*{\getbackpageref
}[1]{%
  \xpatchbibdriver{#1}
    {\usebibmacro{pages}}
    {\usebibmacro{pages}%
     \newunit\newblock
     \usebibmacro{pageref}}
    {}
    {\blx@error
       {Failed to patch driver for @#1
}
       {The driver for @#1 does not have the expected format.\MessageBreak
        Are you really using biblatex-dw?
}}
}
\makeatother

\forcsvlist{\getbackpageref}{inbook,incollection,inproceedings,inreference}

%\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@incollection{Edelmann.2001,
  xref      = {Boch.2001
},
  author    = {Edelmann, Heidrun},
  title     = {Der Umgang mit dem Rückstand. Deutschlands Automobilindustrie in der Zwischenkriegszeit},
  pages     = {41--48},
  bookpagination = {page},
  publisher = {Steiner},
  isbn      = {3-515-07866-5},
  editor    = {Boch, Rudolf},
  booktitle = {Geschichte und Zukunft der deutschen Automobilindustrie},
  date      = {2001},
  address   = {Stuttgart}
}
@book{Erhard.1962,
  author     = {Erhard, Ludwig
},
  date       = {1962},
  title      = {Deutsche Wirtschaftspolitik: Der Weg der Sozialen Marktwirtschaft},
  address    = {Düsseldorf and Wien and Frankfurt a.\,Main},
  publisher  = {Econ and Knapp},
  shorttitle = {Wirtschaftspolitik}
}
@incollection{Erhard.1962b,
  xref       = {Erhard.1962
},
  author     = {Erhard, Ludwig},
  title      = {Der Weg in die Zukunft: Rede vor der 14.\,Vollversamm\-lung des Wirtschaftsrates des Vereinigten Wirtschaftsgebietes am 21.\,April 1948 in Frankfurt a.\,M.},
  pages      = {37--61},
  bookpagination = {page},
  publisher  = {Econ and Knapp},
  booktitle  = {Deutsche Wirtschaftspolitik},
  date       = {1962},
  address    = {Düsseldorf and Wien and Frankfurt a.\,Main},
  bookauthor = {Erhard, Ludwig}
}
@incollection{Stieniczka.2001,
  xref      = {Boch.2001
},
  author    = {Stieniczka, Norbert},
  title     = {Vom fahrbaren Untersatz zur Chromkarosse mit innerer Sicherheit~--
               der Wandel der Nutzeranforderungen an das Automobil in den 50er und 60er Jahren
},
  pages     = {177--200},
  bookpagination = {page},
  publisher = {Steiner},
  isbn      = {3-515-07866-5},
  editor    = {Boch, Rudolf},
  booktitle = {Geschichte und Zukunft der deutschen Automobilindustrie},
  date      = {2001},
  address   = {Stuttgart}
}
@collection{Boch.2001,
  date       = {2001
},
  title      = {Geschichte und Zukunft der deutschen Automobilindustrie:
                Tagung im Rahmen der Chemnitzer Begegnungen 2000
},
  address    = {Stuttgart},
  publisher  = {Steiner},
  isbn       = {3-515-07866-5},
  editor     = {Boch, Rudolf},
  shorttitle = {Automobilindustrie}
}
\end{filecontents}

\addbibresource{\jobname.bib}
\begin{document}
test test\footcite{Stieniczka.2001} test test\footcite{Edelmann.2001} test test\footcite{Erhard.1962b}
\printbibliography
\end{document}
Private Nachricht senden Benutzer-Profile anzeigen

Bartman
Forum-Meister
Forum-Meister


Beiträge: 1955
Anmeldedatum: 16.07.09
Wohnort: Hessische Provinz
Version: ---
     Beitrag Verfasst am: 21.09.2019, 17:18     Titel: Off-Topic-Bemerkung zur Worttrennung
  Antworten mit Zitat      
@Miou

Das Festlegen der Trennstelle durch das babel-Shorthand in 14.\,Vollversamm\-lung mag funktionieren, ist aber unflexibel. Wenn Du das Shorthand "- an der ersten Trennstelle einfügst, kann LaTeX ab dieser Stelle wieder ohne weiteres Eingreifen bestimmen, wo umbrochen werden soll: 14.\,Voll"-versammlung.
Private Nachricht senden Benutzer-Profile anzeigen

Miou
Gast

Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 21.09.2019, 19:06     Titel:
  Antworten mit Zitat      
Wow MoeWe, funktioniert 1a, super und vielen Dank für den Trennungstipp Bartman.

Viele Grüße aus Köln

Thread kann geschlossen werden!

Neues Thema eröffnen Neue Antwort erstellen



Options and Permissions
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen
.

goLaTeX ist Teil der goForen
goForen.de goMATLAB.de goLaTeX.de


  Datenschutzerklärung | Impressum | FAQ | goLaTeX RSS Button RSS-Feed

Copyright © 2008 - 2019 goLaTeX.de