Shorthand im Literaturverzeichnis nach dem Eintrag

Erstellung eines Literaturverzeichnisses mit BibTeX, Biber, BibLaTeX und Co.


Stefan
Forum-Newbie
Forum-Newbie
Beiträge: 5
Registriert: Do 16. Mär 2017, 17:36

Shorthand im Literaturverzeichnis nach dem Eintrag

Beitrag 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.


Gast

Beitrag 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}

Stefan
Forum-Newbie
Forum-Newbie
Beiträge: 5
Registriert: Do 16. Mär 2017, 17:36

Beitrag 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.

Stefan
Forum-Newbie
Forum-Newbie
Beiträge: 5
Registriert: Do 16. Mär 2017, 17:36

Beitrag 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!

Gast

Beitrag 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

Antworten