1

My thesis supervisor wants the following format for citations :

This is the body of the text (Author, 2018)1.


  1. Guy Author, Latex love, 2018. DOI:89453XXX:547

Which combination of bib(la)tex/nat/jurabib/styles can achieve this ?

I could only find this related question : Footnotes with author-year inline citation but the footnotes don't have a number. Of course, the full citation should only appear in the footnote for the first occurence. I could insert all the footnotes manually but \bibentry doesn't work with natbib.

Other answers involve pages of macros to achieve very specific needs, but it should be doable 'natively', right? Also now I just get a numerical reference when I compile, even-though I am using Author-year style (https://imgur.com/UReYlXs). I tried compiling several times, to no avail.

All help welcome.

  • biblatex is probably your best choice. You are not using biblatex at the moment, so while you are waiting for an answer you may want to check out how to get biblatex to work with LyX. LyX 2.3 (released this spring) has massively improved support for biblatex, so if you can upgrade, you may want to consider doing that (as always upgrades or updates shortly before a deadline can be ill-advised, you never know what breaks). For older versions of LyX you can have a look at tex.stackexchange.com/q/298382/35864. For LyX 2.3 see wiki.lyx.org/BibTeX/Biblatex – moewe Jul 18 '18 at 14:03
  • LyX 2.3 solves my problem. It has all the required bells and whistles in the Bibliography settings. Should I delete this question ? – n49o7 Jul 18 '18 at 14:32
  • No, please write an answer that describes what you did and how it solved your problem. – moewe Jul 18 '18 at 14:32
  • I will but I'm still trying to figure out how to get the authors' names in normal case and a comma afterwards. I have (AUTHOR 2018) (with weird kerning) and I'm aiming for (Author, 2018). – n49o7 Jul 18 '18 at 15:01
  • Are you French by any chance? Then tex.stackexchange.com/q/438423/35864 should help. Otherwise it would help me to see an example of what you are doing and how it goes wrong, see tex.meta.stackexchange.com/q/228/35864, tex.meta.stackexchange.com/q/4407/35864, wiki.lyx.org/FAQ/MinimalExample – moewe Jul 18 '18 at 15:04
1

This is not exactly what your professor seems to want, but it might be close enough

\documentclass[french]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\usepackage{csquotes}

\usepackage[style=authoryear, backend=biber, citetracker]{biblatex}

\addbibresource{biblatex-examples.bib}

\newbibmacro{fullcite}{%
  \usedriver
    {\DeclareNameAlias{sortname}{default}}
    {\thefield{entrytype}}}

\DeclareFieldFormat{footnote}{\mkbibfootnote{#1}}
\DeclareCiteCommand{\ffparencite}[\mkbibparens]
  {\usebibmacro{prenote}}%
  {\usebibmacro{citeindex}%
   \usebibmacro{cite}%
   \ifciteseen
     {}
     {\printtext[footnote]{\usebibmacro{fullcite}}}}
  {\multicitedelim}
  {\usebibmacro{postnote}}

\DeclareMultiCiteCommand{\ffparencites}[\mkbibparens]{\ffparencite}{\multicitedelim}

\DeclareAutoCiteCommand{inlineff}{\ffparencite}{\ffparencites}
\ExecuteBibliographyOptions{autocite=inlineff}

\DeclareDelimFormat{nameyeardelim}{\addcomma\space}
\DefineBibliographyExtras{french}{\restorecommand\mkbibnamefamily}

\begin{document}
\autocite{sigfridsson} and \autocite{sigfridsson}

\autocite{nussbaum,geer}

\printbibliography
\end{document}

The code automatically adds a footnote with the full reference on the first citation. The footnote is inside the brackets to give reasonable output for the case \autocite{nussbaum,geer}.

enter image description here

Alternatively,

\documentclass[french]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\usepackage{csquotes}

\usepackage[style=authoryear, backend=biber, citetracker]{biblatex}

\addbibresource{biblatex-examples.bib}

\makeatletter
\newcommand*{\ffparenwrap}[1]{%
  \undef\blx@ffcite
  \mkbibparens{#1}%
  \ifundef\blx@ffcite
    {}
    {\footfullcite{\blx@ffcite}}%
}

\DeclareCiteCommand{\ffparencite}[\ffparenwrap]
  {\usebibmacro{prenote}}%
  {\usebibmacro{citeindex}%
   \usebibmacro{cite}%
   \ifciteseen
     {}
     {\ifundef\blx@ffcite
        {\xdef\blx@ffcite{\thefield{entrykey}}}
        {\xappto\blx@ffcite{,\thefield{entrykey}}}}}
  {\multicitedelim}
  {\usebibmacro{postnote}}
\makeatother

\DeclareMultiCiteCommand{\ffparencites}[\mkbibparens]{\ffparencite}{\multicitedelim}

\DeclareAutoCiteCommand{inlineff}{\ffparencite}{\ffparencites}
\ExecuteBibliographyOptions{autocite=inlineff}

\DeclareDelimFormat{nameyeardelim}{\addcomma\space}
\DefineBibliographyExtras{french}{\restorecommand\mkbibnamefamily}

\begin{document}
\autocite{sigfridsson} and \autocite{sigfridsson}

\autocite{nussbaum,geer}

\printbibliography
\end{document}

makes sure that the footnote comes outside the round brackets. But it has to coerce several citations into one footnote to achieve this.

enter image description here

If you change \makeatletter...\makeatother block to

\makeatletter
\newcommand*{\ffparenwrap}[1]{%
  \let\blx@ffcite\@empty
  \mkbibparens{#1}%
  \ifdefvoid\blx@ffcite
    {}
    {\forlistloop{\footfullcite}{\blx@ffcite}}%
}

\DeclareCiteCommand{\ffparencite}[\ffparenwrap]
  {\usebibmacro{prenote}}%
  {\usebibmacro{citeindex}%
   \usebibmacro{cite}%
   \ifciteseen
     {}
     {\listxadd\blx@ffcite{\thefield{entrykey}}}}
  {\multicitedelim}
  {\usebibmacro{postnote}}
\makeatother

the citations get a footnote each at the expense of possibly clashing footnotes.

1

LyX 2.3 makes this a breeze. Just select your settings in the 'Bibliography' tab of the document settings.

document settings

To get a comma between author and date, use Biblatex (natbib mode).

I then added the footnotes manually, which gave me more flexibility.

For a way to do all this automatically in LaTeX, check out meowe's answer.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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