Seite 1 von 1

Shortauthor introduction

Verfasst: Di 18. Okt 2016, 17:44
von NexX
Hey guys and girls,

I am using biblatex with APA style and got the following issue: For references related to company names I use the shortauthor field. But biblatex introduces the shortauthor by writing the full author together with the shortauthor (like its common for abbreviations) when it appears for the first time.

Therefore I have a lot of these introductions in my list of figures and also some in my text (I dont rly wanna have them at all since the shortauthors I use are rather self-explaining).

Does anybody have an idea how to suppress the introduction. I couldnt find anything in the documentation.[/img]

Verfasst: Di 18. Okt 2016, 18:18
von Gast
Das hier ist ein Forum in Deutscher Sprache.

If you want to use English, please use an English forum like LaTeX Community.

BTW: Bitte immer ein Minimalbeispiel angeben (please add a MWE to your question).

Verfasst: Di 18. Okt 2016, 21:08
von Johannes_B
Crosspost auf LaTeX-Community um 17:39 Uhr.

Du bist zu faul deine eigene Frage ins deutsche zu übersetzen? So viel liegt dir an einer Lösung? Die wichtigen Hinweise nicht gelsen, kein Minimalbeispiel erstellt ...

Ganz ehrlich, da bin ich schon wein wenig baff.

Verfasst: Mi 19. Okt 2016, 13:25
von NexX
Problem:

Shortauthors werden bei biblatex i.V.m. APA-Style bei der ersten Verwendung (u.A. dann im Abbildungsverzeichnis) eingeführt. Das ist aber nicht gewünscht.

In der Doku gibt es keinen Hinweis darauf wie man die Einführung unterdrücken kann bzw. dass diese überhaupt stattfindet. Weiß jemand wie man die Einführung unterdrücken kann?
\documentclass[]{scrartcl}

\usepackage[backend=biber, style=apa, babel=other, doi=false]{biblatex}
\addbibresource{Masterarbeit.bib}

\begin{document}
    \parencite{kas2016}\newline
\end{document}

%@Online{kas2016,
%    author      = {{KASTO Maschinenbau GmbH \& Co. KG}},
%    shortauthor = {Kasto},
%    title       = {Unitower C Langgut},
%    }


Verfasst: Mi 19. Okt 2016, 18:19
von Gast
Am einfachsten ist wohl
\makeatletter
\def\cbx@apa@ifnamesaved{\@firstoftwo}
\makeatother
Damit ist Dein Dokument wahrscheinllich nicht mehr wirklich APA-kompatibel im engeren Sinne, aber seis drum.

Im Minimalbeispiel dann also
\documentclass[ngerman]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\usepackage{csquotes}

\usepackage{filecontents}
\begin{filecontents*}{\jobname.bib}
@online{kas2016,
  author      = {{KASTO Maschinenbau GmbH \& Co. KG}},
  shortauthor = {Kasto},
  title       = {Unitower C Langgut},
}
\end{filecontents*}

\usepackage[backend=biber, style=apa, babel=other, doi=false]{biblatex}
\DeclareLanguageMapping{ngerman}{ngerman-apa}

\makeatletter
\def\cbx@apa@ifnamesaved{\@firstoftwo}
\makeatother

\addbibresource{\jobname.bib}

\begin{document}
\parencite{kas2016}
\end{document}

Verfasst: Do 20. Okt 2016, 10:22
von NexX
Hi,

funktioniert, top. Kannst du vllt noch nen Satz dazu verlieren was der Code bewirkt, damit ich es verstehe?

Verfasst: Do 20. Okt 2016, 18:36
von Gast
Der Stil biblatex-apa definiert eine Abfrage \cbx@apa@ifnamesaved, mit der abgefragt werden kann, ob der aktuelle Labelname schon mal gezeigt wurde. Das Funktioniert, indem alle schon genutzten Namen in einer Liste gespeichert werden. Nur bei ersten Gebrauch eines Namens (also, wenn die Abfrage "falsch" gibt), werden der lange und kurze Name ausgegeben.

Mit dem Code von oben wird diese Abfrage einfach so umgebaut, dass immer "wahr" herauskommt, sodass der Stil denkt, dass der Name bereits gezeigt wurde und so erhalten wir immer den kurzen Namen.