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}
Pierre
  • 23

2 Answers2

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

egreg
  • 1,121,712
  • 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 06 '17 at 06:34
  • @Pierre Of course it will conflict with footmisc. – egreg Jun 06 '17 at 06: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 06 '17 at 07:07
  • @Pierre That's very likely as well. I'll see whether there's a workaround. – egreg Jun 06 '17 at 07:17
  • Adding \StandardFootnotes does the trick apparently. Found it here. Thaks again for your help ! – Pierre Jun 06 '17 at 08:18
  • @Pierre I added the trick for French footnote style – egreg Jun 06 '17 at 08:26
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

David Purton
  • 25,884
  • 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 05 '17 at 14:33