Seite 1 von 2

Kurztitel im Literaturverzeichnis

Verfasst: Do 29. Aug 2019, 11:05
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?

Verfasst: Do 29. Aug 2019, 12:34
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.

Verfasst: Do 29. Aug 2019, 13:23
von Gast
\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

Verfasst: Do 29. Aug 2019, 13:44
von Gast
Anonymous hat geschrieben:Minimalbeispiel (verlinkte Anleitung bezüglich Literaturverzeichnis beachten!)
Der Hinweis in Klammern steht nicht in Klammern, weil er unwichtig ist. :?

Verfasst: Do 29. Aug 2019, 20:05
von Gast
Der Link klappt nicht, revuestet URL not found.

Verfasst: Do 29. Aug 2019, 20:10
von Gast

Alternative

Verfasst: Do 29. Aug 2019, 20:13
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.

Verfasst: Do 29. Aug 2019, 20:23
von Gast
Bib-Eintrag
@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}}

Verfasst: Do 29. Aug 2019, 21:01
von Gast
Nicht unbedingt hübsch oder besonders kompakt. Aber es geht in etwa so
\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}

Verfasst: Do 29. Aug 2019, 22:59
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
\usepackage{filecontents} 
\begin{filecontents}{\Literatur.bib} 
@book{Mustermann2019, 
  author    = {Max Mustermann}, 
  shorthand = {Muster}, 
 title     = {Test}, 
  year      = {2019}, 
} 
\end{filecontents} 
weglassen und stattdessen nur
\addbibresource{Literatur.bib} 
schreiben? Zumindest hat das nicht funktioniert
(Bin was Latex angeht ein newbie wie man eventuell merkt)