1

I'm currently swapping from pdfLaTeX to XeLaTeX and everything works quite smoothly. Unfortunately, there seems to be a problem with my biber on TeXmaker. I need a quite extensively changed bibliography due to my university's prerequesites:

\usepackage[nottoc,notlot,notlof]{tocbibind}
\usepackage[backend=biber,style=authoryear,sorting=nyt]{biblatex}
\addbibresource{Bibliography.bib}
\DefineBibliographyStrings{german}{references={Bibliographie}}
\DeclareFieldFormat{superedition}{\textsuperscript{#1}}
\DeclareNameAlias{sortname}{last-first}
\renewbibmacro*{date+extrayear}{%
  \iffieldundef{\thefield{datelabelsource}year}%
    {}{%
       \printtext[parens]{%
         \iffieldnum{edition}{\printfield[superedition]{edition}\global\clearfield{edition}}{}%
         \iffieldsequal{year}{\thefield{datelabelsource}year}%
           {\printdateextralabel}{\printfield{labelyear}\printfield{extrayear}}%
       }%
      }%
}
\renewcommand*{\bibpagespunct}{\addcomma\space}
\DeclareFieldFormat{pages}{#1}
\DeclareFieldFormat{editortype}{\mkbibparens{#1}}
\renewbibmacro*{byeditor+others}{%
  \ifnameundef{editor}
   {}{%
      \printnames[byeditor]{editor}%
      \setunit{\addspace}%
      \usebibmacro{byeditor+othersstrg}%
      \clearname{editor}\newunit%
   }%
   \usebibmacro{byeditorx}%
   \usebibmacro{bytranslator+others}%
}
\renewbibmacro*{byeditor+othersstrg}{\usebibmacro{editor+othersstrg}}
\renewbibmacro*{bytranslator+othersstrg}{\usebibmacro{translator+othersstrg}}
\renewbibmacro*{bytypestrg}[2]{%
  \iffieldundef{#1type}{\bibstring{#2}}{%
    \ifbibxstring{\thefield{#1type}}%
      {\bibstring{\thefield{#1type}}}{\printtext{\thefield{#1type}}}%
  }%
}
\renewcommand*{\multinamedelim}{/}
\renewcommand*{\finalnamedelim}{/}
\renewcommand*{\postnotedelim}{\addcolon\space}
\DeclareFieldFormat{postnote}{#1}
\DeclareFieldFormat{multipostnote}{#1}

@Book{coseriu1992,
  Title                    = {Einführung in die Allgemeine Sprachwissenschaft \textup{(Uni-Taschenbücher 1372)}},
  Author                   = {Coseriu, Eugenio},
  Location                 = {Tübingen},
  Publisher                = {Francke},
  Year                     = {1992},
  Edition                  = {2},
}

\begin{document}
\tableofcontents
\newpage

Blub\parencite[cf.][9]{coseriu1992}
\newpage

\printbibliography[heading=bibintoc]
\end{document}

It should still be produce the same outpout as through pdfLaTeX but all I get is this error message:

This is BibTeX, Version 0.99d (TeX Live 2017/TeX Live for SUSE Linux) The top-level auxiliary file: KonSysRum.aux I found no \citation commands---while reading file KonSysRum.aux I found no \bibdata command---while reading file KonSysRum.aux I found no \bibstyle command---while reading file KonSysRum.aux

I've already tried to change the {ngerman} to {german} because I think {ngerman} is part of babel, I've changed the way I quote from mostly \parencite* to just \cite and I've deleted the .aux-file but nothing changes. My .aux-file really does not contain the three commands from the error message...

LajosH
  • 379
  • 1
    Without a minimal full example, it's hard to guess. However, you can try deleting all the auxiliary files and check the .bib files is utf8-encoded. – Bernard Aug 11 '17 at 17:11
  • 5
    You need to run biber instead of BiBTeX ... – Mensch Aug 11 '17 at 17:11
  • 1
    Please add a minimal working example with bibliography (MWEB), starting with \documentclass and ending with \end{document}. – Bobyandbob Aug 13 '17 at 07:16
  • 1
    You need to run Biber and not BibTeX, refer to Biblatex with Biber: Configuring my editor to avoid undefined citations for help on how to make your editor do that for you. – moewe Aug 13 '17 at 13:51
  • 1
    Please consider adding complete MWEs to your question and not just lines of code from your preamble. That way you can make sure that we start from the same assumptions as you. – moewe Aug 13 '17 at 13:52
  • Any news here? As the question stands now the only obvious problem is that your run BibTeX and not Biber as required. As such it is a duplicate of the standard https://tex.stackexchange.com/q/154751/35864 – moewe Aug 16 '17 at 10:26
  • Sorry for my absence but thank you for the feedback and help! Yes, the main problem was that I did not in fact use biber but I do now! Everything works quite well at this point but there are still two big issues:
    • there is no year in the bibliography (everything else is correct; the year is stated in the quotations themselves)
    • TexStudio produces a big fat red error where it is supposed to print the bibliography. But it still does just that: print the bibliography and everything works out fine.

    I'll update the question and add a MWE

    – LajosH Aug 18 '17 at 12:31
  • Please make your MWE fully compilable. It is currently missing at least \documentclass. It would also be helpful to show us the output you get. It would also help if you could explain what error TeXstudio reports. – moewe Aug 18 '17 at 12:45
  • You also can't simply drop your .bib entry in the file. See https://tex.meta.stackexchange.com/q/4407/35864 – moewe Aug 18 '17 at 12:54
  • I have retracted my close vote and added an answer since the MWE shows problematic behaviour even when compiled with Biber. – moewe Aug 18 '17 at 14:06
  • @TeXnician Yes and no. The OP now uses Biber (and not BibTeX as before, where they got the error) and the MWE still exhibits problematic behaviour. \printdateextralabel is undefined, it was renamed a few versions back. – moewe Aug 18 '17 at 14:10
  • @moewe Okay, accepted as I didn't fully test it (just reviewed the close votes and it seemed very similar). – TeXnician Aug 18 '17 at 14:12
  • @TeXnician Yes the MWE still isn't fully functional. And I have to admit that I started the closing procedure after the OP did not get back to my heads-up comment for two days. But then just after I voted they commented that they now use Biber (so that was a problem), but that there are still issues. The remaining problem is addressed in my answer now. – moewe Aug 18 '17 at 14:14
  • Maybe it is a good idea to remove the BibTeX error you got and focus on what is still going wrong when you use Biber (show the new error messages from the .log and the unexpected output). That way people will not get confused (like I did) by the two-layered nature of your problem. – moewe Aug 18 '17 at 14:16
  • @Zarko As it turns out this is not a duplicate. It is just a two-layered problem. The BibTeX vs. Biber problem is just the first layer and has already been solved in the comments. My answer addressed the second and more interesting layer of the problem. – moewe Aug 18 '17 at 16:18
  • @moewe, i trust your first judgement :-( and as i now see, similar opinion had others too. anyway, you provide fine answer (+1) on time :-) – Zarko Aug 18 '17 at 17:55

1 Answers1

4

The code from my earlier answer to BibLaTeX: Edition as superscript in front of year, but year after author(s) needs updating for newer versions of biblatex.

The \renewbibmacro*{date+extradate} needs to be

\renewbibmacro*{date+extradate}{%
  \iffieldundef{labelyear}
    {}
    {\printtext[parens]{%
       \iflabeldateisdate
         {\iffieldnum{edition}
            {\printfield[superedition]{edition}%
             \global\clearfield{edition}}
            {}%
          \printdateextra}
         {\printlabeldateextra}}}}

now.

MWE

\documentclass[a4paper,12pt,numbers=endperiod]{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\usepackage{csquotes}
\usepackage[backend=biber,style=authoryear]{biblatex}

\addbibresource{biblatex-examples.bib}

\DefineBibliographyStrings{ngerman}{references={Bibliographie}}

\DeclareFieldFormat{editortype}{\mkbibparens{#1}}
\renewbibmacro*{byeditor+others}{%
  \ifnameundef{editor}
    {}
    {\printnames[byeditor]{editor}%
     \setunit{\addspace}%
     \usebibmacro{byeditor+othersstrg}%
     \clearname{editor}%
     \newunit}%
  \usebibmacro{byeditorx}%
  \usebibmacro{bytranslator+others}}
\renewbibmacro*{byeditor+othersstrg}{\usebibmacro{editor+othersstrg}}
\renewbibmacro*{bytranslator+othersstrg}{\usebibmacro{translator+othersstrg}}
\renewbibmacro*{bytypestrg}[2]{%
  \iffieldundef{#1type}
    {\bibstring{#2}}
    {\ifbibxstring{\thefield{#1type}}
       {\bibstring{\thefield{#1type}}}
       {\printtext{\thefield{#1type}}}}}

\DeclareDelimFormat{multinamedelim}{/}
\DeclareDelimAlias{finalnamedelim}{multinamedelim}

\DeclareDelimFormat[bib,biblist]{nametitledelim}{\addcolon\space}
\renewcommand*{\postnotedelim}{\addcolon\space}
\DeclareFieldFormat{postnote}{#1}
\DeclareFieldFormat{multipostnote}{#1}

\DeclareFieldFormat{superedition}{\textsuperscript{#1}}

\renewbibmacro*{date+extradate}{%
  \iffieldundef{labelyear}
    {}
    {\printtext[parens]{%
       \iflabeldateisdate
         {\iffieldnum{edition}
            {\printfield[superedition]{edition}%
             \global\clearfield{edition}}
            {}%
          \printdateextra}
         {\printlabeldateextra}}}}

\renewcommand*{\bibpagespunct}{\addcolon\space}
\DeclareFieldFormat{pages}{#1}

\DeclareNameAlias{sortname}{family-given}

\begin{document}
\nocite{sigfridsson,companion,cotton,iliad,malinowski,
        gaonkar:in,westfahl:space,pines,brandt,hyman,kant:kpv}
\printbibliography
\end{document}

bibliography section of the MWE

This answer was updated to reflect changes in newer versions of biblatex. In case you use an older version and can not update, refer to the edit history.

moewe
  • 175,683
  • This was it! Thank you so much! Just one last question and then I can get back to typing my paper: how do I use "extrayear"? I have two citations where I'd like to have the first appearance in front of the current edition like this

    Doe, Jane [1979] 22003: Title etc.

    – LajosH Aug 18 '17 at 15:58
  • @LajosH Do you mean origyear? The standard styles don't use that field. So if you need an implementation, please ask a new question about that. – moewe Aug 18 '17 at 16:03