Seite 1 von 1

Buchverzeichnis ausdruck ohne kürzel (Teilweise)

Verfasst: Di 12. Jul 2022, 20:28
von vinc14
Hallo
ich habe eine möglichkeit gefunden, das Buchverzeichnis, zu spliten in dem ich Bücher habe welche "cited" sind und "nocited" das klappt. viewtopic.php?f=15&t=24511
Was cited ist hat ein kürzel [Gur98] als Beispiel
\printbibliography[
category=cited,
heading=bibintoc,
title={Literaturverzeichnis}
]

\nocite{*}
\printbibliography[
notcategory=cited,
heading=bibintoc,
title={Weiterführende, Ergänzende Literatur}
]
gibt es eine möglichkeit das die nocited Bücher mit allen Angaben erscheinen ausser dem Code?
hoffe ihr versteht was ich meine...
gruss
vinc

Re: Buchverzeichnis ausdruck ohne kürzel (Teilweise)

Verfasst: Di 12. Jul 2022, 21:54
von MoeWe
Für ein möglichst sauberes Ergebnis würde ich
\documentclass[ngerman]{article}
\usepackage[T1]{fontenc}
\usepackage{babel}
\usepackage{csquotes}

\usepackage[backend=biber, style=alphabetic]{biblatex}

\DeclareSourcemap{
  \maps[datatype=bibtex, overwrite]{
    \map{
      \step[starnocited=true, final]
      \step[fieldset=keywords, fieldvalue={, }, appendstrict]
      \step[fieldset=keywords, fieldvalue=nocited, append]
      \step[fieldset=options, fieldvalue={, }, appendstrict]
      \step[fieldset=options, fieldvalue=skiplab, append]
    }
  }
}

\defbibenvironment{nolabbib}
  {\list
     {}
     {\setlength{\leftmargin}{\bibhang}%
      \setlength{\itemindent}{-\leftmargin}%
      \setlength{\itemsep}{\bibitemsep}%
      \setlength{\parsep}{\bibparsep}}}
  {\endlist}
  {\item}

\begin{filecontents}{\jobname.bib}
@article{sigfridsson,
  author       = {Sigfridsson, Emma and Ryde, Ulf},
  title        = {Comparison of methods for deriving atomic charges from the
                  electrostatic potential and moments},
  journaltitle = {Journal of Computational Chemistry},
  date         = 1998,
  volume       = 19,
  number       = 4,
  pages        = {377-395},
  doi          = {10.1002/(SICI)1096-987X(199803)19:4<377::AID-JCC1>3.0.CO;2-P},
}
@book{worman,
  author       = {Worman, Nancy},
  title        = {The Cast of Character},
  date         = 2002,
  publisher    = {University of Texas Press},
  location     = {Austin},
}
@thesis{geer,
  author       = {de Geer, Ingrid},
  title        = {Earl, Saint, Bishop, Skald~-- and Music},
  type         = {phdthesis},
  institution  = {Uppsala Universitet},
  date         = 1985,
  subtitle     = {The {Orkney Earldom} of the Twelfth Century. {A} Musicological
                  Study},
  location     = {Uppsala},
}
@book{nussbaum,
  author       = {Nussbaum, Martha},
  title        = {Aristotle's \mkbibquote{De Motu Animalium}},
  date         = 1978,
  publisher    = {Princeton University Press},
  location     = {Princeton},
  keywords     = {secondary},
}
@incollection{pines,
  author       = {Pines, Shlomo},
  editor       = {Twersky, Isadore},
  title        = {The Limitations of Human Knowledge According to {Al-Farabi}, {ibn
                  Bajja}, and {Maimonides}},
  date         = 1979,
  booktitle    = {Studies in Medieval {Jewish} History and Literature},
  publisher    = {Harvard University Press},
  location     = {Cambridge, Mass.},
  pages        = {82-109},
  keywords     = {secondary},
}
@book{knuth:ct:b,
  author       = {Knuth, Donald E.},
  title        = {{\TeX}: The Program},
  date         = 1986,
  maintitle    = {Computers \& Typesetting},
  volume       = {B},
  publisher    = {Addison-Wesley},
  location     = {Reading, Mass.},
  sorttitle    = {Computers & Typesetting B},
}
@book{knuth:ct:c,
  author       = {Knuth, Donald E.},
  title        = {The {METAFONTbook}},
  date         = 1986,
  maintitle    = {Computers \& Typesetting},
  volume       = {C},
  publisher    = {Addison-Wesley},
  location     = {Reading, Mass.},
  sorttitle    = {Computers & Typesetting C},
}
\end{filecontents}
\addbibresource{\jobname.bib}

\begin{document}
Lorem \autocite{sigfridsson,worman,nussbaum,knuth:ct:b}

\nocite{*}

\printbibliography[
  notkeyword=nocited,
 heading=bibintoc,
  title={Literaturverzeichnis},
]

\printbibliography[
  env=nolabbib,
  keyword=nocited,
  heading=bibintoc,
  title={Weiterführende, Ergänzende Literatur},
]
\end{document}
vorschlagen.

Statt mit categorys wie in https://tex.stackexchange.com/q/6967/35864 arbeiten wir hier mit dem sourcemap-Feature, das ein keyword setzt. Das hat den Vorteil, dass wir biblatex sagen können, dass wir für die Quellen, die nur wegen \nocite{*} da sind, kein Label benötigen. Das verhindert im Beispiel, dass knuth:ct:b als Label unnötigerweise "Knu86a" wird.

Der Trick ist es dann, für die weiterführende Literatur eine andere bibenvironment zu definieren, die das Label, das eh leer wäre, ganz weglässt.

Re: Buchverzeichnis ausdruck ohne kürzel (Teilweise)

Verfasst: Do 14. Jul 2022, 08:51
von vinc14
ja vielen Dank @MoeWe das funktioniert so - wie gewünscht! :D
Hat ein wenig gedauert bis ich meine Version überall entfernt hatte und die neue eingefügt.
Vielen Dank
gruss
vinc

Re: Buchverzeichnis ausdruck ohne kürzel (Teilweise)

Verfasst: Sa 16. Jul 2022, 19:41
von vinc14
Jetzt hätte ich doch noch eine ergänzende Frage

mit
\printbibliography[
env=nolabbib,
keyword=nocited,
heading=bibintoc,
title={Weiterführende, Ergänzende Literatur},
]
Liste ich alle Bücher auf die nicht zitiert worden sind. Soweit klappt alles.

Nun aber habe ich auch ein
\printbibliography[
env=nolabbib,
keyword=Journal,
heading=bibintoc,
title={Journal Wissenschaftliche Artikel},
]
gibt es eine Möglichkeit im ersten \printbibliography Keywords hinzuzufügen welche ebenfalls nicht aufgelistet werden sollen?
Also alle die nocited und Journal als keyword haben?
gruss
vinc

Re: Buchverzeichnis ausdruck ohne kürzel (Teilweise)

Verfasst: Sa 16. Jul 2022, 23:54
von MoeWe
Mit keyword=Journal, wirfst Du alle Einträge raus, die das Keyword Journal haben. Die Filteroptionen von \printbibliography sind kumulativ. Du kannst also sehr auch gut mehrere notkeyword-Filter haben.

Wenn es nach dem Eintragstypen geht, ist es oftmals viel eleganter mit type und nottype zu filtern, als künstlich irgendwelche keywords zu setzen und nach den zu filtern.