1

I start using BibLaTeX and have a little problem. At the moment, the citation of an article looks like this:

enter image description here

I want to delete the "Übers." in front of the article title. My MWE looks like this:

@article{asher_indirect_2001,
  title = {Indirect speech acts},
  volume = {128},
  url = {http://www.springerlink.com/index/K4V421247052432T.pdf},
  pages = {183--228},
  number = {1},
  journaltitle = {Synthese},
  author = {Asher, Nicholas and Lascarides, Alex},
  urldate = {2017-09-05},
  date = {2001},
  file = {Asher & Lascarides (2006)_ Indirect speech acts.pdf:files/131/Asher & Lascarides (2006)_ Indirect speech acts.pdf:application/pdf}
}
\documentclass[10pt,a4paper]{article}
\usepackage[latin1]{inputenc}
\usepackage[english, german]{babel}
\usepackage[T1]{fontenc}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{graphicx}

\usepackage[
  backend=biber,
  bibencoding=latin1,
  isbn = false,
  doi = false,
  url = false,
  style = authoryear,
    ]
{biblatex}


\renewcommand{\postnotedelim}{\addcolon\addspace} % Doppeltpunkt in der Kurzzitierweise nach Jahr

\DeclareFieldFormat{postnote}{#1} % kein S. in der Kurzzitierweise vor der Seitenzahl

\renewcommand{\labelnamepunct}{\addcolon\addspace} %Doppelpunkt statt Punkt hinter der Jahresangabe im Literaturverzeichnis

\AtEveryBibitem{\clearfield{pagetotal}}

\DeclareFieldFormat[article]{citetitle}{#1\midsentence}
\DeclareFieldFormat[article]{title}{#1\midsentence} %Titel bei Artikeln nicht in ""

\DeclareFieldFormat[incollection]{citetitle}{#1\midsentence}
\DeclareFieldFormat[incollection]{title}{#1\midsentence} %Titel bei Sammelbänden nicht in ""

\DeclareFieldFormat[thesis]{citetitle}{#1\midsentence}
\DeclareFieldFormat[thesis]{title}{#1\midsentence} %Titel bei Diss. nicht in ""

\DeclareFieldFormat[unpublished]{citetitle}{#1\midsentence}
\DeclareFieldFormat[unpublished]{title}{#1\midsentence}
%Titel bei unpublished nicht in ""

\DeclareFieldFormat{pages}{#1} % das S. bei Artikeln im Literaturverzeichnis löschen

\renewcommand{\multinamedelim}{\space \& \space} 
   \renewcommand{\finalnamedelim}{\space \& \space} %Schrägstriche zwischen den Autoren

\DefineBibliographyStrings{german}{%
        andothers = {et\ al\adddot}, %et al. statt u.a.
        editors = {\mkbibparens{Hgg\adddot}}, %Hgg. plural
}


% kein Komma zwischen Namen und (Hrsg.)
\makeatletter
\renewbibmacro*{bbx:editor}[1]{%
  \ifthenelse{\ifuseeditor\AND\NOT\ifnameundef{editor}}
    {\ifthenelse{\iffieldequals{fullhash}{\bbx@lasthash}\AND
                 \NOT\iffirstonpage\AND
         \(\NOT\boolean{bbx@inset}\OR
           \iffieldequalstr{entrysetcount}{1}\)}
       {\bibnamedash}
       {\printnames{editor}%
    \setunit{\addspace}
    \usebibmacro{bbx:savehash}}%
     \usebibmacro{#1}%
     \clearname{editor}%
     \setunit{\addspace}}%
    {\global\undef\bbx@lasthash
     \usebibmacro{labeltitle}%
     \setunit*{\addspace}}%
  \usebibmacro{date+extrayear}}

  %Schriftenreihen in (=)
\renewbibmacro*{series+number}{%
  \iffieldundef{series}
    {}
    {\printtext[parens]{%
     \printtext{=\addspace}%
     \printfield{series}%
     \setunit*{\addcomma\space}%
     \printfield{number}%
     \printtext{\addperiod}}
     \nopunct}}

     %Schriftenreihen an das Ende der Literaturangabe packen

     % Herausgeber vor Titel des Sammelbandes
\renewbibmacro*{in:}{%
  \printtext{\bibstring{in}\intitlepunct}%
  \ifnameundef{bookauthor}
    {\ifnameundef{editor}
       {\printnames[byeditor]{editor}%
        \setunit{\addcomma\space}%
        \usebibmacro{translator+othersstrg}%
        \clearname{translator}}
       {\printnames{editor}%
        \setunit{\addcomma\space}%
        \usebibmacro{editor+othersstrg}%
        \clearname{editor}}}
    {\ifnamesequal{author}{bookauthor}
       {}
       {\printnames{bookauthor}%
        \clearname{bookauthor}}}%
  \newunit\newblock}

%(Hrsg.) anstelle von hrsg. von bei Schriftenreihen
 \renewbibmacro*{byeditor+others}{%
  \ifnameundef{editor}
    {}
    {\printnames[byeditor]{editor}%
     \setunit{\addspace}%
     \usebibmacro{byeditor+othersstrg}%
     \clearname{editor}%
     \newunit}%
  \usebibmacro{byeditorx}%
  \usebibmacro{bytranslator+others}}


%bei Journals die Heftnummer in () nach der Jahreszahlnummer
\renewbibmacro*{journal+issuetitle}{% 
  \usebibmacro{journal}% 
  \setunit*{\addspace}% 
  \iffieldundef{series} 
    {} 
    {\newunit 
     \printfield{series}% 
     \setunit{\addspace}}% 
  \printfield{volume}% 
  \iffieldundef{number} 
     {} 
      {\mkbibparens{\printfield{number}}}% 
  \setunit{\addcomma\space}% 
  \printfield{eid}% 
  \setunit{\addspace}% 
  \usebibmacro{issue+date}% 
  \setunit{\addcolon\space}% 
  \usebibmacro{issue}% 
  \newunit}



\addbibresource{Linguistik.bib}

\begin{document}
\nocite{asher_indirect_2001}

\printbibliography
\end{document}
moewe
  • 175,683
Kathi
  • 55
  • 2
    Can you point to the where you found the redefinition of \renewbibmacro*{in:}{ you use? – moewe Nov 07 '17 at 17:24
  • The code in https://tex.stackexchange.com/q/184193/35864 is quite similar, but not exactly the same. – moewe Nov 07 '17 at 18:15

1 Answers1

3

The problematic bit is the redefinition you have in \renewbibmacro*{in:}.

With your current code this tries to print the editor or translator after "in" for all entry types. The code tests if there is an editor and if so, prints the editor. If there is no editor it prints the translator, no test is done if there actually is a translator. After editor the code prints "(editor)"/"(Hrsg.)" after translator "Trans./Übers.". In the specific situation of the example there is no editor, so the code tries to print translator, the field is empty, so nothing is shown, and then it prints "Übers.".

It makes no sense to do this with all entry types, @article simply never has an editor and rarely a translator (and none that would appear in that place), you probably only want this for @incollection. But even then it should be checked if translator is defined before proceeding.

I have modified your other code as well

\documentclass[10pt,a4paper]{article}
\usepackage[latin1]{inputenc}
\usepackage[english, german]{babel}
\usepackage[T1]{fontenc}

\usepackage[
  backend=biber,
  isbn = false,
  doi = false,
  url = false,
  style = authoryear,
    ]
{biblatex}


\renewcommand{\postnotedelim}{\addcolon\addspace}

\DeclareFieldFormat{postnote}{#1}

\renewcommand{\labelnamepunct}{\addcolon\addspace}

\AtEveryBibitem{\clearfield{pagetotal}}

\DeclareFieldFormat[article,inbook,incollection,inproceedings,patent,thesis,unpublished]{citetitle}{#1\isdot}
\DeclareFieldFormat[article,inbook,incollection,inproceedings,patent,thesis,unpublished]{title}{#1\isdot}

\DeclareFieldFormat{pages}{#1}

\renewcommand{\multinamedelim}{\addspace\&\space} 
\renewcommand{\finalnamedelim}{\multinamedelim}

\DefineBibliographyStrings{german}{%
  andothers = {et\addabbrvspace al\adddot},
  editors = {Hgg\adddot},
}


% kein Komma zwischen Namen und (Hrsg.)
\DeclareFieldFormat{editortype}{\mkbibparens{#1}}
\DeclareDelimFormat{editortypedelim}{\addspace}
\makeatletter
\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{nameyeardelim}}}%
    {\global\undef\bbx@lasthash
     \usebibmacro{labeltitle}%
     \setunit*{\printdelim{nonameyeardelim}}}%
  \usebibmacro{date+extrayear}}
\makeatother


%Schriftenreihen in (=)
\renewbibmacro*{series+number}{%
  \iffieldundef{series}
    {}
    {\printtext[parens]{%
       \printtext{=\addspace}%
       \printfield{series}%
       \setunit*{\addcomma\space}%
       \printfield{number}%
       \printtext{\addperiod}}
       \nopunct}}

%Schriftenreihen an das Ende der Literaturangabe packen
% Herausgeber vor Titel des Sammelbandes
\renewbibmacro*{in:}{%
  \printtext{\bibstring{in}}%
  \printunit{\intitlepunct}%
  \ifentrytype{incollection}{%
    \ifnameundef{bookauthor}
       {\ifnameundef{editor}
          {\ifnameundef{translator}
             {}
             {\printnames{translator}%
              \setunit{\addspace}%
              \usebibmacro{translator+othersstrg}%
              \clearname{translator}}}
          {\printnames{editor}%
           \setunit{\addspace}%
           \usebibmacro{editor+othersstrg}%
           \clearname{editor}}}
        {\ifnamesequal{author}{bookauthor}
           {}
           {\printnames{bookauthor}%
            \clearname{bookauthor}}}}%
    {}%
  \newunit\newblock}

%bei Journals die Heftnummer in () nach der Jahreszahlnummer
\DeclareFieldFormat[article,periodical]{number}{\mkbibparens{#1}}
\renewbibmacro*{volume+number+eid}{%
  \printfield{volume}%
  \printfield{number}%
  \setunit{\addcomma\space}%
  \printfield{eid}}


\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@article{asher_indirect_2001,
title = {Indirect speech acts},
volume = {128},
url = {http://www.springerlink.com/index/K4V421247052432T.pdf},
pages = {183--228},
number = {1},
journaltitle = {Synthese},
author = {Asher, Nicholas and Lascarides, Alex},
urldate = {2017-09-05},
date = {2001},
}
\end{filecontents}
\addbibresource{\jobname.bib}
\addbibresource{biblatex-examples.bib}

\begin{document}
\nocite{asher_indirect_2001,sigfridsson,worman,geer,brandt,westfahl:space,westfahl:frontier}

\printbibliography
\end{document}

This uses newer features of biblatex that are only available with fairly recent versions of biblatex (say >= 3.5), it was tested with 3.7.

moewe
  • 175,683
  • Thank you for your fast response and your incredibly helpful advice. Everything works fine now. – Kathi Nov 08 '17 at 09:20