Seite 1 von 1
Shorthand im Literaturverzeichnis nach dem Eintrag
Verfasst: Do 16. Mär 2017, 17:45
von Stefan
Hallo an alle,
ich möchte in meinem Literaturverzeichnis nach den entsprechenden Einträgen den Kurztitel in eckigen Klammern ausgeben. Ich nutze biblatex und authorstyle-dw. Mit dem Befehl "shorthandinbib=true" kann man den Kurztitel leider nur vor dem Eintrag ausgeben.
Für jede Hilfe wäre ich sehr dankbar.
Verfasst: Do 16. Mär 2017, 18:26
von Gast
Verfasst: Do 16. Mär 2017, 18:37
von Gast
So?
\documentclass{article}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[
style=authortitle-dw,
backend=biber,
]{biblatex}
\addbibresource{biblatex-examples.bib}
\renewbibmacro*{finentry}{%
\ifboolexpr{
test {\iffieldundef{annotation}}
and
test {\iffieldundef{library}}
}
{}
{\iffieldundef{annotation}
{\iffieldundef{library}
{\finentry}
{}}%
{\ifbool{bbx:annotation}
{\setunit{\addperiod\par}
\printfield{annotation}}
{}}%
\iffieldundef{library}
{}
{\ifbool{bbx:library}
{\setunit{\addperiod\par}
\printfield{library}}
{}}%
}
\ifboolexpr{not test {\ifcitation} and not togl {listofshorthands}}
{\printfield[shorthandinbib]{shorthand}}
{}
\finentry}
\begin{document}
\cite{kant:kpv}
\printbibliography
\end{document}
Verfasst: Do 16. Mär 2017, 19:00
von Stefan
Vielen herzlichen Dank für Deine Mühe! Das hätte ich selber nie so hingekriegt! Die einzige Kleinigkeit, die mir noch nicht zusagt, ist, dass jetzt nach dem eigentlichen Literatureintrag ein Komma kommt und danach dann der Shorthand in eckigen Klammern gefolgt von einem Punkt. Ich hätte gerne, dass der Literatureintrag mit einem Punkt aufhört und danach einfach nach einem Leerzeichen der Shorthand in eckigen Klammern steht, ohne jedes Satzzeichen danach. Leider habe ich nicht genug technisches Verständnis, um in Deinem Code die entsprechenden Änderungen vorzunehmen. Wenn es für Dich nicht allzu viel Aufwand ist, würde ich Dich bitten, mir hierbei noch zu helfen.
Verfasst: Do 16. Mär 2017, 21:24
von Stefan
Ich habe es nun selbst hingekriegt.
\newcommand\EatDot[1]{} in Präambel,
und in Deinem Code dann am Ende
\ifboolexpr{not test {\ifcitation} and not togl {listofshorthands}}
{\addperiod\printfield[shorthandinbib]{shorthand}\EatDot}
Herzlichen Dank für Deine Hilfe!
Verfasst: Fr 17. Mär 2017, 09:28
von Gast
Schöner ist es mit
\documentclass{article}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[
style=authortitle-dw,
backend=biber,
]{biblatex}
\addbibresource{biblatex-examples.bib}
\makeatletter
\renewbibmacro*{finentry}{%
\ifboolexpr{
test {\iffieldundef{annotation}}
and
test {\iffieldundef{library}}
}
{}
{\iffieldundef{annotation}
{\iffieldundef{library}
{\finentry}
{}}%
{\ifbool{bbx:annotation}
{\setunit{\addperiod\par}
\printfield{annotation}}
{}}%
\iffieldundef{library}
{}
{\ifbool{bbx:library}
{\setunit{\addperiod\par}
\printfield{library}}
{}}%
}
\ifboolexpr{not test {\ifcitation} and not togl {listofshorthands}}
{\setunit{\finentrypunct\addspace}%
\printfield[shorthandinbib]{shorthand}%
\blx@initunit}
{\finentry}}
\makeatother
\begin{document}
\cite{kant:kpv}
\printbibliography
\end{document}
Obwohl ich zugebe, dass wegen der Struktur von \finentry die Sache nicht ganz simpel ist. Daher auch das interne Makro \blx@initunit und infolgedessen \makeatletter/\makeatother