Kurztitel im Literaturverzeichnis

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smilies
:D :) :( :o :shock: :? 8) :lol: :-x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Wenn du eine Datei oder mehrere Dateien anhängen möchtest, gib die Details unten ein.

Ansicht erweitern Die letzten Beiträge des Themas: Kurztitel im Literaturverzeichnis

von MoeWe » Fr 30. Aug 2019, 16:42

Heißt das, das Beispiel von oben (Gestern 21:01) funktioniert wie gepostet, der Code tut es aber nicht in Deinem echten Dokument, aber dort funktioniert es, die Driver zu ändern?

Das wäre etwas mysteriös. Passieren in Deinem echten Dokument noch andere Dinge mit biblatex? Wie genau sieht die Ausgabe aus? Was genau hast Du bis jetzt probiert. Wo scheitert das?

Hier nochmal der für mich funktionierende Code mit zwei weiteren Einträgen mit shorthand zur Kontrolle, dass es auch wirklich geht.
\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}
\addbibresource{biblatex-examples.bib}

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

\cite{kant:kpv,kant:ku}

\printbibliography
\end{document}

von Gast » Fr 30. Aug 2019, 12:10

Notfalls hab ich jetzt \DeclareBibliographyDriver{...} eingerichtet mit
	\iffieldundef{shorthand}{}{[\printfield{shorthand}]}
ist natürlich umständlicher, weil es für alles manuell eingestellt werden muss (book, Artikel, usw.) aber naja. Besser als nichts

von Gast » Fr 30. Aug 2019, 11:00

Ja die Datei heißt so und befindet sich im selben Ordner.

Keine weiteren Dateien außer die bib, die tex und die ganzen anderen Dateien, die tex erzeugt.

bib Datei
%% This BibTeX bibliography file was created using BibDesk.
%% http://bibdesk.sourceforge.net/

%% Created for xxx at 2019-08-29 12:58:27 +0200 


%% Saved with string encoding Westeuropäisch (ISO Latin 1) 


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


@comment{BibDesk Static Groups{
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<array>
	<dict>
		<key>group name</key>
		<string> xxx </string>
		<key>keys</key>
		<string></string>
	</dict>
</array>
</plist>
}}
Was meinst du mit "Wie die .log und .blg-Dateien?

von Gast » Fr 30. Aug 2019, 10:36

Heißt die Datei wirklich Literatur.bib? Befindet sie sich am richtigen Ort (im selben Ordner wie die Haupt-.tex-Datei)? Hast Du vielleicht zufällig mehrere Dateien mit dem Namen Literatur.bib und es liegt eine Verwechselung vor? Wie sieht die .bib-Datei denn jetzt aus? Wie die .log und .blg-Dateien?

von Gast » Fr 30. Aug 2019, 10:23

jap, korrigiert und alles nochmal gelöscht. Ändert aber nichts

Das Problem muss ja irgendwie mit dem Verweis auf die bib Datei liegen, denn mit dem filecontents-Package direkt in der Datei funktioniert es ja.

von Gast » Fr 30. Aug 2019, 08:44

Was hast Du denn bis jetzt gemacht?

Ist die .bib-Datei korrigiert? Hast Du alle temporären Dateien (.aux, .bbl, .bcf, ....) gelöscht und nochmal neu kompiliert?

Da Du die Rückmeldung gabst, dass das Beispiel bei Dir funktioniert hat, können wir davon ausgehen, dass prinzipiell alle Dinge funktionieren. Wenn jetzt also irgendwo etwas hängt, dann wird das wahrscheinlich mit den konkreten Dateien zusammenhängen.

von Gast » Fr 30. Aug 2019, 08:35

eine Ahnung, was da zu tun ist?

von Gast » Fr 30. Aug 2019, 08:30

Habe grade keine Zeit zum Testen, aber das ganze filecontents gesums gehört nicht in die .bib-Datei, die sollte nur
@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}}
enthalten.

In meinem Test-Dokument war das filecontents dafür da, eine .bib-Datei mit dem hier gezeigten Inhalt automatisch zu erstellen, sodass mein Beispiel aus einer Datei bestehen kann.

Die .blg-Datei sieht unvollständig aus. Das könnte daran liegen, dass sich Biber böse an dem falschen Inhalt der .bib-Datei verschluckt hat, es kann aber auch etwas anderes sein.

von Gast » Fr 30. Aug 2019, 08:20

Tex Datei
\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*{\prBintdelim{nonameshorthanddelim}}}% 
  \usebibmacro{shorthand}} 
\makeatother 


\addbibresource{Literatur.bib} 


\begin{document} 
Test.\footcite[Vgl.][133]{Mustermann2019} 
\printbibliography 
\end{document}
Bib-Datei
\usepackage{filecontents} 
\begin{filecontents}{\Literatur.bib} 
@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}}
\end{filecontents} 
Bbl-Datei
[0] Config.pm:304> INFO - This is Biber 2.13
[0] Config.pm:307> INFO - Logfile is 'Vorlage.blg'
[37] biber-darwin:315> INFO - === Fri Aug 30, 2019, 08:10:36
[54] Biber.pm:375> INFO - Reading 'Vorlage.bcf'
[156] Biber.pm:905> INFO - Found 1 citekeys in bib section 0
[174] Biber.pm:4196> INFO - Processing section 0
[174] Utils.pm:75> INFO - Globbing data source 'Literatur.bib'
[175] Utils.pm:91> INFO - Globbed data source 'Literatur.bib' to Literatur.bib
[184] Biber.pm:4373> INFO - Looking for bibtex format file 'Literatur.bib' for section 0
Log-Datei(bin mir unsicher, was du von dem brauchst)
LaTeX Warning: Citation 'Mustermann2019' on page 1 undefined on input line 110.

LaTeX Warning: Empty bibliography on input line 111.

LaTeX Warning: There were undefined references.

von Gast » Fr 30. Aug 2019, 08:00

Doch, im Grunde genau das.

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

\addbibresource{\jobname.bib}
durch
\addbibresource{Literatur.bib}
Wobei Literatur.bib der Name Deiner (im selben Ordner wie die .tex-Datei gespeicherten) .bib-Datei ist.

Wenn da etwas nicht geht, zeig uns bitte den Code, den Du probierst, die .bib-Datei (idealerweise testest Du nur mit einem kleinen Teil Deiner .bib-Datei in einem neuen Ordner und zeigst uns das), sowie die .log und .blg-Dateien.

Nach oben