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

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

| improve this answer | |
  • 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 Jun 6 '17 at 6:34
  • @Pierre Of course it will conflict with footmisc. – egreg Jun 6 '17 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 Jun 6 '17 at 7:07
  • @Pierre That's very likely as well. I'll see whether there's a workaround. – egreg Jun 6 '17 at 7:17
  • Adding \StandardFootnotes does the trick apparently. Found it here. Thaks again for your help ! – Pierre Jun 6 '17 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

| improve this answer | |
  • 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 Jun 5 '17 at 14:33

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.