[Tex/LaTex] Changing biblatex footcite style to use square brackets around the citation

biblatexbracketsfootnotes

I am supposed to use a certain citation style which has the citations in footnotes and square brackets around the references, just like "regular" citations in text (see screenshot).

I can't however, make biblatex use brackets in the footnotes when using \footcite, i.e.:

\documentclass{article}
\usepackage[style=alphabetic]{biblatex}

\begin{filecontents*}{bibliography.bib}
@BOOK{Cornelisse1979,
  author = {Cornelisse, J. W. and Schöyer, H. Ferry R. and Wakker, Karel F.},
  title = {Rocket Propulsion and Spaceflight Dynamics},
  year = {1979},
  publisher = {Pitman},
}
\end{filecontents*}

\bibliography{bibliography.bib}

\begin{document}
\null
\vfill

Regular citation: \cite{Cornelisse1979} and a footnote citation
here\footcite{Cornelisse1979}.
But it shall look like this\footnote{\cite{Cornelisse1979}}.
\end{document}

enter image description here

In the screenshot, one can see that the "CSW79" is not bracketed. Using \footnote manually seems like a hack to me.

How to make it print brackets around the reference in the footnote when using footcite?

Ideally: How to make it cite in the footnotes by default, so that I can \cite away without having to use \footcite?

I had a look at other tex.sx questions like this or this, but they solve different problems as I don't want the superscript or number to be bracketed but the reference.

Best Answer

You can redefine the wrapper of footnotes created by \footcite:

\renewcommand{\bibfootnotewrapper}[1]{%
  \bibsentence\mkbibbrackets{#1}\addperiod}

This puts the complete citation inside brackets including the pre/post note. If you want to do it only for the label you can use:

\DeclareCiteCommand{\footcite}[\mkbibfootnote]
  {\usebibmacro{prenote}}
  {\usebibmacro{citeindex}%
   \printtext[brackets]{\usebibmacro{cite}}}
  {\multicitedelim}
  {\usebibmacro{postnote}}

A small hint: biblatex uses \addbibresource instead of \bibliography


Here the example:

\documentclass{article}
\usepackage[style=alphabetic]{biblatex}

\begin{filecontents*}{bibliography.bib}
@BOOK{Cornelisse1979,
  author = {Cornelisse, J. W. and Schöyer, H. Ferry R. and Wakker, Karel F.},
  title = {Rocket Propulsion and Spaceflight Dynamics},
  year = {1979},
  publisher = {Pitman},
}
\end{filecontents*}

\addbibresource{bibliography.bib}
\renewcommand{\bibfootnotewrapper}[1]{%
  \bibsentence\mkbibbrackets{#1}\addperiod}

\begin{document}
\null
\vfill

Regular citation: \cite{Cornelisse1979} and a footnote citation
here\footcite{Cornelisse1979}.
But it shall look like this\footnote{\cite{Cornelisse1979}}.
\end{document}

enter image description here