Kurztitel im Literaturverzeichnis

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

Kurztitel im Literaturverzeichnis

Beitrag von Gast »

Hallo liebe Community,

Ich nutze biblatex zur Nutzung der Zitation und dem Literaturverzeichnis.
Nun habe ich im Feld shorthand den Kurztitel der Literatur angeben. Die Zitation damit funktioniert einwandfrei. Nun möchte ich aber im Literaturverzeichnis hinter dem Autor [Kurztitel] stehen haben.

Wie kann man das umsetzen?

Gast

Beitrag von Gast »

Durch Umdefinierung des Treibers des entsprechenden Dokumenttyps. Dazu schaut man sich die Originaldefinition in der vom Stil abhängenden .bbx-Datei an und fügt eine Ausgabe von shorttitle (ab besten über ein entsprechendes biblatex-Ausgabemakro[/p] ein. Da das, wie angedeutet, vom Stil abhängt, kann ich das ohne vollständiges Minimalbeispiel (verlinkte Anleitung bezüglich Literaturverzeichnis beachten!) schlecht zielgerichtet zeigen.

In einigen Fällen mag es auch genügen, die Treiber mit xpatch zu patchen, statt sie komplett zu ersetzen.

Gast

Beitrag von Gast »

Code: Alles auswählen

\documentclass[a4paper,10pt]{article}
\usepackage[left=2.20cm, right=3.70cm, top=1.5cm, bottom=1.5cm]

\usepackage[
style=authortitle-ibid,
backend=biber, 
ibidtracker=constrict, 
idemtracker=constrict, 
loccittracker=constrict,
]{biblatex} 


\DeclareNameAlias{labelname}{sortname} 

\newtoggle{cbx:droppageprefix} 


\renewbibmacro*{cite}{% 
	\global\boolfalse{cbx:loccit}% 
	\global\togglefalse{cbx:droppageprefix}% 
	\iffieldundef{shorthand}	{\ifthenelse{
			\ifciteibid\AND\NOT\iffirstonpage} 
		{\usebibmacro{cite:ibid}} 
		{\ifthenelse{\ifciteidem\AND\NOT\iffirstonpage} 
			{\bibstring[\mkibid]{idem\thefield{gender}}} 
			{\printnames{labelname}} 
			\setunit*{\printdelim{nametitledelim}}% 
			\usebibmacro{cite:title}}}% 	
	{\ifthenelse{
			\ifciteibid\AND\NOT\iffirstonpage} 
		{\usebibmacro{cite:ibid}} 
		{\ifthenelse{\ifciteidem\AND\NOT\iffirstonpage} 
			{\bibstring[\mkibid]{idem\thefield{gender}}} 
			{\printnames{labelname}} 
			\setunit*{\printdelim{nametitledelim}}% 
			\usebibmacro{cite:shorthand}}}
}% 



\addbibresource{Literatur.bib}



\begin{document}
	
Test.\footcite[Vgl.][133]{Mustermann2019}




\end{document}
Hab mich mal an nem Minimalbeispiel versucht. Weiß nicht, ob das so hilfreich ist. Die Fußnote ist nun Mustermann, Max, Muster, p.133, wobei Muster der Kurztitel ist.
Im Literaturverzeichnis wird die Quelle wie folgt angezeigt: Mustermann, Max. Test.2019
Es soll aber wie folgt angezeigt werden Mustermann, Max [Muster]. Test.2019

Gast

Beitrag von Gast »

Anonymous hat geschrieben:Minimalbeispiel (verlinkte Anleitung bezüglich Literaturverzeichnis beachten!)
Der Hinweis in Klammern steht nicht in Klammern, weil er unwichtig ist. :?

Gast

Beitrag von Gast »

Der Link klappt nicht, revuestet URL not found.

Gast

Beitrag von Gast »


Ratgeber

Alternative

Beitrag von Ratgeber »

Anonymous hat geschrieben:Der Link klappt nicht, revuestet URL not found.
Der Server, auf dem »TeXwelt« läuft, ist momentan abgeschaltet. Der interne Link zum Minimalbeispiell funktioniert.

Gast

Beitrag von Gast »

Bib-Eintrag

Code: Alles auswählen

@book{Mustermann2019,
	Author = {Max Mustermann},
	Date-Added = {2019-08-29 12:55:56 +0200},
	Date-Modified = {2019-08-29 12:58:27 +0200},
	Shorthand = {Muster},
	Title = {Test},
	Year = {2019}}

Gast

Beitrag von Gast »

Nicht unbedingt hübsch oder besonders kompakt. Aber es geht in etwa so

Code: Alles auswählen

\documentclass[a4paper,10pt]{article}

\usepackage[
  style=authortitle-ibid,
  backend=biber,
  ibidtracker=constrict,
  idemtracker=constrict,
  loccittracker=constrict,
]{biblatex}


\DeclareNameAlias{labelname}{sortname}

\newtoggle{cbx:droppageprefix}

\renewbibmacro*{cite}{%
  \global\boolfalse{cbx:loccit}%
  \global\togglefalse{cbx:droppageprefix}%
  \iffieldundef{shorthand}
    {\ifthenelse{\ifciteibid\AND\NOT\iffirstonpage}
       {\usebibmacro{cite:ibid}}
       {\ifthenelse{\ifciteidem\AND\NOT\iffirstonpage}
          {\bibstring[\mkibid]{idem\thefield{gender}}}
          {\printnames{labelname}}
        \setunit*{\printdelim{nametitledelim}}%
        \usebibmacro{cite:title}}}%
    {\ifthenelse{\ifciteibid\AND\NOT\iffirstonpage}
       {\usebibmacro{cite:ibid}}
       {\ifthenelse{\ifciteidem\AND\NOT\iffirstonpage}
          {\bibstring[\mkibid]{idem\thefield{gender}}}
          {\printnames{labelname}}
        \setunit*{\printdelim{nametitledelim}}%
        \usebibmacro{cite:shorthand}}}}

\DeclareFieldFormat{shorthandbib}{\mkbibbrackets{#1}}

\newbibmacro*{shorthand}{%
  \printfield[shorthandbib]{shorthand}}

\DeclareDelimFormat{nameshorthanddelim}{\addspace}
\DeclareDelimAlias{nonameshorthanddelim}{nameshorthanddelim}

\makeatletter
\renewbibmacro*{author}{%
  \ifboolexpr{
    test \ifuseauthor
    and
    not test {\ifnameundef{author}}
  }
    {\usebibmacro{bbx:dashcheck}
       {\bibnamedash}
       {\usebibmacro{bbx:savehash}%
        \printnames{author}%
        \iffieldundef{authortype}
          {\setunit{\printdelim{nameshorthanddelim}}}
          {\setunit{\printdelim{authortypedelim}}}}%
     \iffieldundef{authortype}
       {}
       {\usebibmacro{authorstrg}%
        \setunit{\printdelim{nameshorthanddelim}}}}%
    {\global\undef\bbx@lasthash
     \usebibmacro{labeltitle}%
     \setunit*{\printdelim{nonameshorthanddelim}}}%
  \usebibmacro{shorthand}}

\renewbibmacro*{bbx:editor}[1]{%
  \ifboolexpr{
    test \ifuseeditor
    and
    not test {\ifnameundef{editor}}
  }
    {\usebibmacro{bbx:dashcheck}
       {\bibnamedash}
       {\printnames{editor}%
        \setunit{\printdelim{editortypedelim}}%
        \usebibmacro{bbx:savehash}}%
     \usebibmacro{#1}%
     \clearname{editor}%
     \setunit{\printdelim{nameshorthanddelim}}}%
    {\global\undef\bbx@lasthash
     \usebibmacro{labeltitle}%
     \setunit*{\printdelim{nonameshorthanddelim}}}%
  \usebibmacro{shorthand}}

\renewbibmacro*{bbx:translator}[1]{%
  \ifboolexpr{
    test \ifusetranslator
    and
    not test {\ifnameundef{translator}}
  }
    {\usebibmacro{bbx:dashcheck}
       {\bibnamedash}
       {\printnames{translator}%
        \setunit{\printdelim{translatortypedelim}}%
        \usebibmacro{bbx:savehash}}%
     \usebibmacro{#1}%
     \clearname{translator}%
     \setunit{\printdelim{nameshorthanddelim}}}%
    {\global\undef\bbx@lasthash
     \usebibmacro{labeltitle}%
     \setunit*{\printdelim{nonameshorthanddelim}}}%
  \usebibmacro{shorthand}}
\makeatother

\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@book{Mustermann2019,
  author    = {Max Mustermann},
  shorthand = {Muster},
  title     = {Test},
  year      = {2019},
}
\end{filecontents}

\addbibresource{\jobname.bib}


\begin{document}
Test.\footcite[Vgl.][133]{Mustermann2019}
\printbibliography
\end{document}

Gast

Beitrag von Gast »

Also an sich funktioniert das Minimalbeispiel.

Nun hab ich aber das Problem, dass ich meine Literaturverwaltung mit Hilfe von BibDesk. Wie kann ich die implementieren? Ich kann ja nicht einfach

Code: Alles auswählen

\usepackage{filecontents} 
\begin{filecontents}{\Literatur.bib} 
@book{Mustermann2019, 
  author    = {Max Mustermann}, 
  shorthand = {Muster}, 
 title     = {Test}, 
  year      = {2019}, 
} 
\end{filecontents} 
weglassen und stattdessen nur

Code: Alles auswählen

\addbibresource{Literatur.bib} 
schreiben? Zumindest hat das nicht funktioniert
(Bin was Latex angeht ein newbie wie man eventuell merkt)

Antworten