2

LaTeX seems to be a complete mess when it comes to citations for web pages. There are several ways to do it, and then there are strange unexpected side effects of various differences. In all cases below I am using the following bibliography style:

\bibliographystyle{plainnat.bst}

ONLINE

@online{culture2021Dom,
  title  = {Kölner Dom – Cologne Cathedral},
  year   = {2021},
  url    = {https://germanculture.com.ua/travel-to-germany/kolner-dom-cologne-cathedral/},
  urldate= {date accessed in 2021-March-03},
  note   = {German Culture}
}

When I use this with MLA style references, the symbol that appears in the text looks like:

cul(2021)

But what appears in the bibliography section is:

Kölner dom – cologne cathedral, 2021. URL https://germanculture.com.ua/
   travel-to-germany/kolner-dom-cologne-cathedral/. German Culture.

The is absolutely no way that the reader is going to know that "cul(2021)" is a citation of something that starts with "Kölner dom" Doesn't this seem to be entirely broken? The citation fails to tell you which of the references you are referring to.

ONLINE with AUTHOR

The citation entry is normally taken from the author's last name, but we don't have an author. What if we put one in?

@online{culture2021Dom,
  author = {German-Culture-Website}
  title  = {Kölner Dom – Cologne Cathedral},
  year   = {2021},
  url    = {https://germanculture.com.ua/travel-to-germany/kolner-dom-cologne-cathedral/},
  urldate= {date accessed in 2021-March-03},
  note   = {German Culture}
}

Now, I get this following at the symbol:

German-Culture-Website

and in the bibliography:

German‑Culture‑Website.

That is it. No url, no note, no date, no nothing, just the name. Seriously, this is terribly broken.

ONLINE AUTHOR multiple names

Now lets try somthing like:

@online{culture2021Dom,
  author = {German Culture Website}
  title  = {Kölner Dom – Cologne Cathedral},
  year   = {2021},
  url    = {https://germanculture.com.ua/travel-to-germany/kolner-dom-cologne-cathedral/},
  urldate= {date accessed in 2021-March-03},
  note   = {German Culture}
}

And now, in the citation spot I get the following symbol:

Website

(no date in parens) and the bibliography is:

German Culture Website.

No date, no URL, no description, this is useless.

MISC

An online site for getting bibtex entries recommended the following style:

@misc{culture2021Dom, 
  title={Kölner Dom – Cologne Cathedral}, 
  url={https://germanculture.com.ua/travel-to-germany/kolner-dom-cologne-cathedral/}, 
  journal={German Culture}
} 

This produced the following citation in mla style

cul

This looks in the book like an accident, and not a citation of a resource, and in the bibliography I get:

Kölner Dom – Cologne Cathedral. URL https://germanculture.com.ua/travel-to-germany/
 kolner-dom-cologne-cathedral/.

Once again, there is no way for the user to know that "cul" is a reference to this entry! Here I am having to reverse engineer a perverse reference citation system when I could just TYPE the entry in myself and save hours of work.

WHAT I WANT

I want the citation to have a year in it, so that it looks like a citation, something like for the symbol:

German Culture(2021)

And then, in the bibliography, I would like something like:

German Culture Website, 2021, Kölner dom – cologne cathedral, URL  
   https://germanculture.com.ua/
   travel-to-germany/kolner-dom-cologne-cathedral/

Or, I would be happy with for the symbol:

Kölner(2021)

and the bibliography entry to be:

Kölner dom – cologne cathedral, 2021. URL https://germanculture.com.ua/
   travel-to-germany/kolner-dom-cologne-cathedral/. German Culture.

Simple question: What do I put in this bibTeX entry in order to get a reasonable citation and a reasonable bibliography entry that match each other?

Is there any way to FORCE the citation symbol?

4
  • Did you try with biblatex?
    – Bernard
    Mar 3, 2021 at 22:30
  • "LaTeX" doesn't know anything about websites. Depending on the bibliography package and style you use, it will do better or worse things. And most of the natbib compatible bibliography styles were designed before there were as many purely online resources. But the output you're getting makes perfect sense given the way you have created your .bib entry. As @Bernard suggests, using a more modern bibliography package like biblatex would probably be the best bet.
    – Alan Munn
    Mar 3, 2021 at 22:36
  • How do I do that? I include \usepackage{natbib} and I use the command \bibliographystyle{plainnat.bst} and \bibliography{Bibliography} and during the build I call bibtex "%BOOKTOMAKE%" Which of these is changed to use biblatex? Sorry, had to laugh from the phrase that the existing output "makes sense." I can't think of any reason that a citation symbol that does not appear in the reference would every "make sense" on any level.
    – AgilePro
    Mar 3, 2021 at 23:24
  • @AgilePro On "making sense": computers can only do what we tell them to do. They don't "understand" things, so they can't tell what's sensible to us. But the output you are getting is sensible in the sense that it dealt with your author names exactly as you entered them in the .bib file, and created citation callouts that match the bibliography style you chose. They don't make sense to you only because you expected something else, but they are completely expected given the input/style you used. :)
    – Alan Munn
    Mar 4, 2021 at 0:51

1 Answer 1

5

Since you seem to want an author year citation style, then the APA conforming styles should probably work for you.

Citing Non-People

A name that appears in the .bib file as author={Martin Luther King} will be parsed with King as the last name. In an author year system, this will appear as King (year) in the citation callout and this entry will be sorted into the Ks.

For non-people, this is usually not what you want, neither for citation callouts nor for sorting. If you want to use a single name to be used as a whole wrap the whole name in {...}. So instead of author={Michigan State University} (which would treat University as a last name, you would use author={{Michigan State University}}. This will appear in the citation callout as Michigan State University (2021) and be sorted with M instead of U, which is what you want.

Correcting Title Capitalization

Words in titles that must be capitalized (such as proper nouns) should also be enclosed in {...} because some styles (including APA) will set them in lower case otherwise, which is not what you want.

Proper Dates

Dates in biblatex are treated quite strictly, so I've replaced your accessed on 2021-March-03 with a proper ISO date (2021-03-30).

natbib + apacite example

Here's an example of your entry using the {apacite} package which gives you conforming APA 6 style. Since it internally uses {natbib} you should process it with bibtex not biber.

\documentclass{article}
\begin{filecontents}[overwrite]{\jobname.bib}
@online{culture2021Dom,
  author = {{German Culture}},
  title  = {Kölner {Dom} – {Cologne Cathedral}},
  year   = {2021},
  url    = {https://germanculture.com.ua/travel-to-germany/kolner-dom-cologne-cathedral/},
  urldate= {2021-March-03},
}
\end{filecontents}
\usepackage[natbibapa]{apacite}
\bibliographystyle{apacite}
\begin{document}
\citet{culture2021Dom} or \citep{culture2021Dom}
\raggedright
\bibliography{\jobname}
\end{document}

apacite output

biblatex example

You can also get conforming APA 7 style the {biblatex} package. If you don't need a fully conforming APA style, then the [style=ext-authoryear] option would be a good place to start as shown below. For APA 7 style use [style=apa] This must be processed with biber not bibtex.

\documentclass{article}
\begin{filecontents}[overwrite]{\jobname.bib}
@online{culture2021Dom,
  author = {{German Culture}},
  title  = {Kölner {Dom} – {Cologne Cathedral}},
  year   = {2021},
  url    = {https://germanculture.com.ua/travel-to-germany/kolner-dom-cologne-cathedral/},
  urldate= {2021-03-03},
}
\end{filecontents}
\usepackage[style=ext-authoryear,articlein=false]{biblatex}
\DefineBibliographyStrings{english}{urlseen = {Accessed\addcolon}}
%\usepackage[style=apa]{biblatex} % alternative for conforming APA output
% and remove the \DefineBibliographyStrings line also
\addbibresource{\jobname.bib}
\begin{document}
\textcite{culture2021Dom} or \parencite{culture2021Dom}
\raggedright
\printbibliography
\end{document}

output of ext-authoryear code

17
  • This looks great. Exactly what I need. however, I took your example and I get a very different output. I am guessing that I need to call "biblatex" on the book name, is that right? I tried "bibtex" and "biblatex" and got same results. Also, I am using "xelatex" is that OK? I am getting a blank page with "culture2021Dom or (culture2021Dom)" on it, no bibliography at all.
    – AgilePro
    Mar 4, 2021 at 0:22
  • 1
    I got it to work. Thank you. I edited to make it clear, and when approved I will mark this as an answer. I have a lot of gripes about LaTeX in general. I don't want to appear ungrateful however the learning moment is that you kept saying "use bibtex, use biblatex, use natbib, use biber." It was probably obvious to you that sometimes meant to include a statement \usepackage and in other cases this meant a command line command for processing. Do I REALLY need to bracket all the proper nouns to avoid lower-casing them - is there NO global setting to just leave them alone?
    – AgilePro
    Mar 7, 2021 at 20:39
  • 1
    @AgilePro Thanks, I've accepted most of your edits, but when talking about a package name, I prefer to say "use the {package} package", which reads correctly rather than adding \usepackage in the written text. Admittedly the package vs binary distinction is sometimes hard to figure out. The question I linked to in the initial comments explains a lot of that, however. Yes, you do need to bracket all proper nouns; the whole point of a .bib file is to encode only the data, and leave the formatting to the bibliography package. So "leaving them alone" violates that idea.
    – Alan Munn
    Mar 7, 2021 at 20:53
  • 1
    @AgilePro This isn't really the place to discuss the merits of how bibtex files work. The fully conforming APA style (not MLA) requires sentence case for titles, which means that to use it you need to semantically markup proper nouns so that they do not get made lower case. If you use the ext-authoryear style then the titles will get passed though as they appear in the .bib file. As an academic, I am required to use different styles depending on the journal or publisher. This means that my .bib file needs to be usable with any style.
    – Alan Munn
    Mar 8, 2021 at 14:35
  • 1
    ...continued: This means that I need my .bib file to be style independent, which entails bracing proper nouns in titles. For styles that pass the capitalization through, they have no problem with it, and with styles that adjust capitalization, such nouns will not be incorrectly lower-cased. This is why it's good practice to brace proper nouns in titles. If you don't envision needing to use other styles, then use ext-authoryear insteead of apa and your titles will go through without needing braces, but with loss of generality for other styles such as conforming APA.
    – Alan Munn
    Mar 8, 2021 at 14:38

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .