0

I'm using natbib with dinat style and the "et al" extension doesn't show up which it does in every side I'm looking for more information as here

natbib styles

and I'm wondering what the reason for this is.

Here is my MWE:

\documentclass[12pt]{report}
\usepackage{lmodern}
\usepackage[utf8]{inputenc}
\usepackage{natbib} % for extended citations
\bibliographystyle{dinat} % reference style


\begin{document}
Hello world......................
This is a citation \citep*{Mueller2018}

\newpage
\addcontentsline{toc}{section}{Bibliography}
\bibliography{literatur}

\end{document}

and here the bib file

% Encoding: UTF-8

@Article{Mueller2018,
  author  = {Mueller, Thomas; Peter Mueller; Klaus Mueller; Maier Herbert},
  title   = {On the testing of natbib},
  journal = {my personal journal},
  year    = {2018},
}

@Comment{jabref-meta: databaseType:bibtex;}

Hoping for input. I'm also wondering if the separation using semicolon ; in the author list is correct. At least that's the only way I get a proper author list display working.

Diger
  • 573
  • 2
    Names must be separated with and and not with commas or semicolons in the .bib file, see https://tex.stackexchange.com/q/36396/35864. So author = {Mueller, Thomas and Peter Mueller and Klaus Mueller and Maier Herbert}, would be correct. It's too late for me to investigate the "et al." issue. – moewe Sep 12 '18 at 19:55
  • 2
    As @moewe pointed out, the author names should be separated by and. After correcting this, your mwe produces (Mueller, Mueller, Mueller und Herbert, 2018) for citation, [Mueller u.a. 2018] for label, and Mueller, Thomas ; Mueller, Peter ; Mueller, Klaus ; Herbert, Maier for author names in the bibliography. Where do you want an et al to show up? – Zeping Lee Sep 13 '18 at 01:36
  • I guess for et al I have to use plainnat.bst or others instead of dinat or changing \citep*{} ?? But for dinat I like the way the bibliography is organized with the citation symbol being in square brackets [ Mueller 2018 ] while plainnat is just plain without any bracket... – Diger Sep 13 '18 at 01:46

1 Answers1

1

The authors must be separated with an and and not with commas or semicolons regardless of the expected output in the bibliography. See How to properly write multiple authors in bibtex file?. So

author = {Mueller, Thomas and Peter Mueller and Klaus Mueller and Maier Herbert},

would be correct.


You may want to consider using natdin instead of dinat. natdin is from 2006, while dinat is from 2000. l2tabu for example advises natdin over dinat. I would normally suggest biblatex and Biber nowadays (but then I may be biased).

Both styles write "u. a." instead of "et al." and both styles have facilities to change this, but in both cases that means you have to edit a copy of the .bst style.

The general strategy is the same

  1. Locate the style you want to change on your machine. You can find the file path by typing kpsewhich dinat.bst or kspewhich natdin.bst into a terminal. Failing that get the files from CTAN: https://ctan.org/tex-archive/biblio/bibtex/contrib/german/dinat or https://ctan.org/tex-archive/biblio/bibtex/contrib/german/din1505

  2. Copy the file to a place where LaTeX can find it (https://texfaq.org/FAQ-inst-wlcf), the directory of your current document will do just fine, and rename it. You must rename the file if you modify it, this is part of the license. Let's say the new names are dinat-etal.bst and natdin-etal.bst

  3.  

    • Open dinat-etal.bst and go to line 122

      FUNCTION {push.ua}        { "u.\,a." }
      

      replace it with

      FUNCTION {push.ua}        { "et~al." }
      
    • Open natdin-etal.bst, go to line 188 and replace

      FUNCTION { ua.etal } { " u.\,a." }
      

      with

      FUNCTION { ua.etal } { " et~al." }
      

      If you want to you can also change the string for and from "u." to "und" in the next line.

  4. Save the file.

  5. Use \bibliographystyle{dinat-etal} instead of \bibliographystyle{dinat} and \bibliographystyle{natdin-etal} instead of \bibliographystyle{natdin}.

You will want to use \citep and not \citep* to obtain a short "et al." citation. The starred version will try to print the full author list, thus suppressing any "et al.".

You probably also want to load natbib with the square option.

Use a package like tocbibind or a class option (KOMA) to get the bibliography to the TOC, don't add it manually with \addcontentsline.

\documentclass[12pt]{article}
\usepackage{lmodern}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{tocbibind}
\usepackage[square]{natbib}
\bibliographystyle{natdin-etal}

\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@Article{Mueller2018,
  author  = {Mueller, Thomas and Peter Mueller and Klaus Mueller and Maier Herbert},
  title   = {On the testing of natbib},
  journal = {my personal journal},
  year    = {2018},
}
\end{filecontents}

\begin{document}
This is a citation \citep{Mueller2018}

\bibliography{\jobname}
\end{document}

This is a citation [Mueller et al., 2018]//References//[Mueller et al. 2018] Mueller, Thomas ; Mueller, Peter ; Mueller, Klaus ; Herbert, Maier: On the  testing of natbib. In: my personal journal (2018)

moewe
  • 175,683
  • I guess I have to say big thanks! couple of questions: \addcontentsline{toc}{section}{Bibliography} what is the problem with this? It works so why not use it? If you want to you can also change the string for and from "u." to "und" in the next line. Looking through the .bst file it seems it is dedicated to german speakers, right? So I would have to change it to and instead of und since I'm writing in english? \usepackage{filecontents} \begin{filecontents}{\jobname.bib}... Why do you prefer doing it in the .tex file and not in an external file? – Diger Sep 13 '18 at 11:54
  • 1
    @Diger As you use it with \newpage and before \bibliography there is not that much that could go wrong with \addcontentsline (things generally go wrong if you issue \addcontentsline after \bibliography and you have a multi-page bibliography). Still I think it is a good habit not to use specialised commands like \addcontentsline in the document especially when there are packages or options that do this for you. Yes both natdin and dinat are for German texts following DIN recommendations. If you write in English I suggest you don't use the styles at all. ... – moewe Sep 13 '18 at 12:00
  • 1
    ... There are other terms you would have to translate (editor -> Herausgaber, ...) and some of the choices of the style are already questionable in German typography (spaces before semicolons - the norm in French texts, but not in German texts; small caps for names - OK I actually like that, but they are far rarer in English texts than in German texts) but almost unheard of in English texts. For MWEs on this site I always use filecontents because that allows me to copy and paste just one file. I don't use filecontents when I write documents for myself. – moewe Sep 13 '18 at 12:04
  • I have to think about it, but if I change the styles which do you recommend that are close to dinat/natdin? – Diger Sep 13 '18 at 12:19
  • 1
    @Diger I guess that depends on your definition of closeness. I would have suggested apalike, but I would not use that together with natbib. You could also try plainnat (you won't get the label in the bibliography) if you want to stick with natbib (probably as \usepackage[square,authoryear]{natbib}). agsm is another often-used author-year style that works with natbib. Maybe biblatex is an option, then you can start with authoryear and build your won style fairly easily. – moewe Sep 13 '18 at 12:33
  • I'm though wondering why german vowels do not work if these style files are done for german. I get an error using ö,ä,ü,ß. – Diger Sep 14 '18 at 11:23
  • @Diger Where exactly do you use the umlauts and what error do you get? I don't know if you can use non-ASCII chars in .bst files, but they should in principle work in your .bib file. (BIbTeX can't really deal with non-ASCII chars, but it just passes them on as binary data and does not touch them.) If you'd like to get your umlauts working, I suggest you ask a new question with an MWE. Don't forget to mention the file encoding of both your .tex and `.bib file (they should match, otherwise things may go wrong). – moewe Sep 14 '18 at 11:27
  • Where exactly do you use the umlauts and what error do you get? Well some names have Umlaute such as "Müller" and so while compiling the .tex document it returns an error complaing about the ü. Of course there are no problems writing the vowels into the .bib file. Do you need the exact error output? – Diger Sep 14 '18 at 13:27
  • @Diger I not only need the exact error output, I also need the input that lets me reproduce the error. Please open a new question with a minimal working example (https://tex.meta.stackexchange.com/q/228/35864 and https://tex.meta.stackexchange.com/q/4407/35864). Make sure to double-check the encoding of your .tex and .bib file and report them in the question as well. – moewe Sep 14 '18 at 15:15
  • That said, ü should work in your .bib file provided your .bib file and .tex file use the same encoding (and that encoding is declared to inputenc - in this case you'd need UTF-8). As I already said, BibTeX can't really deal with non-ASCII chars, which means it won't sort them correctly, it will just pass them through unchanged and uninterpreted. All that means that normally things should just work, so if they don't work for you, there must be something going on. We can only find out what that is if you give us more information in form of a proper new question with an MWE. – moewe Sep 14 '18 at 15:30