Take the 2-minute tour ×
TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. It's 100% free, no registration required.

I have a webpage I need to cite, whose author is a company (no real person specified). Its full name is Organization for the Advancement of Structured Information Standards, abbreviated OASIS. I want to have the OASIS in citations (OASIS, 2006), for example, but include the full company name in the list of references.

I tried

author = "{OASIS}, {Organization for the Advancement of Structured Information Standards}"

that prints OASIS in the citations, but prints "OASIS, O.", in the list of references. If I do

author = "{OASIS, Organization for the Advancement of Structured Information Standards}"

then I have the full name in the list of references, but also in citations, which looks ugly.

How can I have OASIS in citations and Organization for the Advancement of Structured Information Standards in the list of references?

Another example I need is the World Wide Web Consortium. I would like to have it cited like W3C, for example: "(W3C, 2009)", but have the full name in the list of references: "The World Wide Web Consortium".

share|improve this question
add comment

1 Answer

up vote 3 down vote accepted

Here's a way, that requires special formatting of the author field in the .bib file.

\begin{filecontents*}{\jobname.bib}
@article{oasis,
 author={{\acroauthor{Organization for the Advancement of Structured Information Standards}{OASIS}}},
 title={Some title},
 journal={J. Something},
 year={2012},
}
\end{filecontents*}
\documentclass{article}
\usepackage[authoryear]{natbib}

\usepackage{etoolbox}

\newif\ifabbreviation
\pretocmd{\thebibliography}{\abbreviationfalse}{}{}
\AtBeginDocument{\abbreviationtrue}
\DeclareRobustCommand\acroauthor[2]{%
  \ifabbreviation #2\else #1 (\mbox{#2})\fi}

\begin{document}

Here it is \citep{oasis}

\bibliographystyle{plainnat}
\bibliography{\jobname}

\end{document}

Notes: the filecontents* is just to keep the example selfcontained; if you want only the expanded name in the references section, change

#1 (\mbox{#2})\fi

into

#1\fi

Important: don't forget the additional braces around \acroauthor{...}{...}, which are essential for the correct sorting by author.

enter image description here

share|improve this answer
    
This almost works. The problem is that I am using a bibliography style that capitalizes surnames of authors and it is currently broken (capitalizes only characters without any punctuation. E.a. "Müller" becomes "MüLLER" instead of "MÜLLER"). I cannot change my bibliography style. So far I avoided this capitalization by enclosing the surname in brackets {}, but this no longer works with \acroauthor. –  Jakub Zaverka Dec 16 '12 at 18:47
    
OK I managed to get the capitalization fixed by including the whole command into yet another set of brackets: {{{\acroauthor{Organization for the Advancement of Structured Information Standards}{OASIS}}}}. But now the alphabetic ordering of bibliography is broken, \acroauthor going first. –  Jakub Zaverka Dec 16 '12 at 18:52
    
@JakubZaverka Did you try with M{\"u}ller? –  egreg Dec 16 '12 at 19:01
    
Yep, no difference. –  Jakub Zaverka Dec 16 '12 at 19:06
    
@JakubZaverka Can you point to the bib style you're using? –  egreg Dec 16 '12 at 19:07
show 5 more comments

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.