2

The follwing MWE illustrates how I'm making references appear in footnotes as well as in the reference section at the end of my document, with identical numbering. I found this code in a previous question, and all credit goes to Joseph Wright for writing it initially. However, I'd really like to remove the indentation in the footnotes and reduce the font size to \scriptsize without redefining \footnotesize because I am using it elsewhere. Could somebody help me with this? Thanks in advance!

\documentclass[12pt,twoside]{report}
\usepackage[a4paper,width=165mm,top=25mm,bottom=25mm]{geometry}
\usepackage[style=chem-acs,backend=bibtex,sorting=none,maxnames=99]{biblatex}
\addbibresource{test.bib}
\usepackage{filecontents}

\begin{filecontents}{test.bib}

@article{ref1,
 author     ={Mulder, J. A. and Kurtz, K. C. M. and Hsung, R. P. and Coverdale, H. and Frederick, M. O. and Shen, L. and Zificsak, C. A.},
 journal    ={Org. Lett.},
 year       ={2003},
 volume     ={5},
 pages      ={1547}
}

@article{ref2,
 author     ={Zhang, L. and Wang, W. and Wang, A. and Cui, Y. and Yang, X. and Huang, Y. and Liu, Y. and Liu, W. and Son, J.-Y. and Oji, H. and Zhang, T.},
 journal    ={Green Chem.},
 year       ={2013},
 volume     ={15},
 pages      ={2680}
}

\end{filecontents}

\makeatletter

\DeclareCiteCommand{\sfcite}[\cbx@superscript]%
  {\usebibmacro{cite:init}%
   \let\multicitedelim=\supercitedelim
   \iffieldundef{prenote}
     {}
     {\BibliographyWarning{Ignoring prenote argument}}%
      \iffieldundef{postnote}
        {}
        {\BibliographyWarning{Ignoring postnote argument}}}
  {\usebibmacro{citeindex}%
   \usebibmacro{sfcite}%
   \usebibmacro{cite:comp}}
  {}
  {\usebibmacro{cite:dump}}

\newbibmacro*{sfcite}{%
  \ifciteseen
  {}
  {\xappto\cbx@citehook{%
   \noexpand\footnotetext[\thefield{labelnumber}]{%
     \fullcite{\thefield{entrykey}}\addperiod}}}}

\newrobustcmd{\cbx@superscript}[1]{%
  \mkbibsuperscript{#1}%
  \cbx@citehook%
  \global\let\cbx@citehook=\empty}
\let\cbx@citehook=\empty

\makeatother

\begin{document}

First reference. \sfcite{ref1} \\
Second reference. \sfcite{ref2} \\
First reference cited twice. \sfcite{ref1}

\printbibliography

\end{document}

2 Answers 2

1

Redefine \@makefntext to do what you want:

\begin{filecontents}{\jobname.bib}

@article{ref1,
 author     ={Mulder, J. A. and Kurtz, K. C. M. and Hsung, R. P. and Coverdale, H. and Frederick, M. O. and Shen, L. and Zificsak, C. A.},
 journal    ={Org. Lett.},
 year       ={2003},
 volume     ={5},
 pages      ={1547}
}

@article{ref2,
 author     ={Zhang, L. and Wang, W. and Wang, A. and Cui, Y. and Yang, X. and Huang, Y. and Liu, Y. and Liu, W. and Son, J.-Y. and Oji, H. and Zhang, T.},
 journal    ={Green Chem.},
 year       ={2013},
 volume     ={15},
 pages      ={2680}
}

\end{filecontents}

\documentclass[12pt,twoside]{report}
\usepackage[a4paper,width=165mm,top=25mm,bottom=25mm]{geometry}
\usepackage[
  style=chem-acs,
%  backend=bibtex,
  sorting=none,
  maxnames=99,
]{biblatex}
\addbibresource{\jobname.bib}



\makeatletter

\renewcommand\@makefntext[1]{%
  \scriptsize
  \parindent1em
  \noindent\@makefnmark#1%
}

\DeclareCiteCommand{\sfcite}[\cbx@superscript]%
  {\usebibmacro{cite:init}%
   \let\multicitedelim=\supercitedelim
   \iffieldundef{prenote}
     {}
     {\BibliographyWarning{Ignoring prenote argument}}%
      \iffieldundef{postnote}
        {}
        {\BibliographyWarning{Ignoring postnote argument}}}
  {\usebibmacro{citeindex}%
   \usebibmacro{sfcite}%
   \usebibmacro{cite:comp}}
  {}
  {\usebibmacro{cite:dump}}

\newbibmacro*{sfcite}{%
  \ifciteseen
  {}
  {\xappto\cbx@citehook{%
   \noexpand\footnotetext[\thefield{labelnumber}]{%
     \fullcite{\thefield{entrykey}}\addperiod}}}}

\newrobustcmd{\cbx@superscript}[1]{%
  \mkbibsuperscript{#1}%
  \cbx@citehook%
  \global\let\cbx@citehook=\empty}
\let\cbx@citehook=\empty

\makeatother

\begin{document}

First reference. \sfcite{ref1} \\
Second reference. \sfcite{ref2} \\
First reference cited twice. \sfcite{ref1}

\vfill

\noindent{\footnotesize Text in footnote size}\\       
{\scriptsize Text in script size}
\clearpage

\printbibliography

\end{document}

enter image description here

For French babel you need to redefine a different command, namely \insertfootnotemarkFB.

\begin{filecontents}{\jobname.bib}

@article{ref1,
 author     ={Mulder, J. A. and Kurtz, K. C. M. and Hsung, R. P. and Coverdale, H. and Frederick, M. O. and Shen, L. and Zificsak, C. A.},
 journal    ={Org. Lett.},
 year       ={2003},
 volume     ={5},
 pages      ={1547}
}

@article{ref2,
 author     ={Zhang, L. and Wang, W. and Wang, A. and Cui, Y. and Yang, X. and Huang, Y. and Liu, Y. and Liu, W. and Son, J.-Y. and Oji, H. and Zhang, T.},
 journal    ={Green Chem.},
 year       ={2013},
 volume     ={15},
 pages      ={2680}
}

\end{filecontents}

\documentclass[12pt,twoside]{report}
\usepackage[a4paper,width=165mm,top=25mm,bottom=25mm]{geometry}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[french]{babel}
\usepackage[
  style=chem-acs,
%  backend=bibtex,
  sorting=none,
  maxnames=99,
]{biblatex}
\addbibresource{\jobname.bib}

\makeatletter
\renewcommand\insertfootnotemarkFB{%
  \scriptsize
  \parindent=\parindentFFN
  \noindent
  \rule\z@\footnotesep
  \@thefnmark
  \dotFFN\kernFFN
}

\DeclareCiteCommand{\sfcite}[\cbx@superscript]%
  {\usebibmacro{cite:init}%
   \let\multicitedelim=\supercitedelim
   \iffieldundef{prenote}
     {}
     {\BibliographyWarning{Ignoring prenote argument}}%
      \iffieldundef{postnote}
        {}
        {\BibliographyWarning{Ignoring postnote argument}}}
  {\usebibmacro{citeindex}%
   \usebibmacro{sfcite}%
   \usebibmacro{cite:comp}}
  {}
  {\usebibmacro{cite:dump}}

\newbibmacro*{sfcite}{%
  \ifciteseen
  {}
  {\xappto\cbx@citehook{%
   \noexpand\footnotetext[\thefield{labelnumber}]{%
     \fullcite{\thefield{entrykey}}\addperiod}}}}

\newrobustcmd{\cbx@superscript}[1]{%
  \mkbibsuperscript{#1}%
  \cbx@citehook%
  \global\let\cbx@citehook=\empty}
\let\cbx@citehook=\empty

\makeatother

\begin{document}

First reference. \sfcite{ref1} \\
Second reference. \sfcite{ref2} \\
First reference cited twice. \sfcite{ref1}

\vfill

\noindent{\footnotesize Text in footnote size}\\
{\scriptsize Text in script size}
\clearpage

\printbibliography

\end{document}

enter image description here

6
  • This example works fine on its own, but once I add your modifications to my document, nothing changes. I first suspected a conflict with footmisc, that I am using for its bottom feature, but even removing it doesn't change anything.
    – Pierre
    Commented Jun 6, 2017 at 6:34
  • @Pierre Of course it will conflict with footmisc.
    – egreg
    Commented Jun 6, 2017 at 6:53
  • The problem comes from \usepackage[french]{babel}, I added my packages one by one to your example and this is the one causing trouble. I already had some trouble with [french]{babel} because it modified the bibliography style to small caps automatically, which I solved with \DefineBibliographyExtras{french}{\restorecommand\mkbibnamefamily}.
    – Pierre
    Commented Jun 6, 2017 at 7:07
  • @Pierre That's very likely as well. I'll see whether there's a workaround.
    – egreg
    Commented Jun 6, 2017 at 7:17
  • Adding \StandardFootnotes does the trick apparently. Found it here. Thaks again for your help !
    – Pierre
    Commented Jun 6, 2017 at 8:18
0

Can you use the memoir class instead of the report class? It makes it possible to change the font of footnotes easily.

Change your class line to:

\documentclass[12pt,twoside,openany]{memoir}

And add these lines:

\pagestyle{plain}
\renewcommand*{\foottextfont}{\normalfont\scriptsize}
\setlength{\footmarkwidth}{0in}
\setlength{\footmarksep}{0in}
\setlength{\footparindent}{0in}

And you should get something like this:

enter image description here

1
  • Unfortunately I can't use the memoir document class, it screws up my layout and is not compatible with some of the packages I'm using.
    – Pierre
    Commented Jun 5, 2017 at 14:33

You must log in to answer this question.

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