Biblatex \autocite no caso de possíveis notas de rodapé aninhadas

Biblatex \autocite no caso de possíveis notas de rodapé aninhadas

Estou na mesma situação do seguinte usuário: biblatex: Aprimorando \autocite no caso de possíveis notas de rodapé aninhadas

Quero usar \autocitedentro de um \footnote. Isso faz com que a citação seja colocada entre parênteses. Quero mudar o comportamento de \autociteusado dentro \footnotepara imprimir a citação sem parênteses, como \citefaria uma simples chamada de.

Como posso mudar o comportamento de \autocitedentro do \footnote?

Responder1

A solução depende do estilo de citação. Para estilos como authortitle, verbosee suas respectivas variantes (e também para biblatex-juradiss) que executam autocite=footnote, só precisamos redefinir a \smartcitemacro subjacente para que ela não adicione parênteses nas notas de rodapé (substituindo \mkbibparenspor \textnormal).

\documentclass{article}

\usepackage[style=authortitle]{biblatex}

\DeclareCiteCommand{\smartcite}[\iffootnote\textnormal\mkbibfootnote]
  {\usebibmacro{prenote}}
  {\usebibmacro{citeindex}%
   \usebibmacro{cite}}
  {\multicitedelim}
  {\usebibmacro{postnote}}

\DeclareMultiCiteCommand{\smartcites}
    [\iffootnote\textnormal\mkbibfootnote]{\smartcite}{\multicitedelim}

\usepackage{filecontents}

\begin{filecontents}{\jobname.bib}
@misc{A01,
  author = {Author, A.},
  year = {2001},
  title = {Alpha},
}
\end{filecontents}

\addbibresource{\jobname.bib}

\begin{document}

\null\vfill% just for the example

Some text \autocite{A01}.

Some text.\footnote{A footnote \autocite{A01}.}

\printbibliography

\end{document}

insira a descrição da imagem aqui

Para estilos como authoryearesse, por padrão, execute autocite=inline(que usa \parencite), precisamos declarar um novo autocitevalor de opção (digamos, inlineplainfootnote) que aponta para uma nova macro subjacente (digamos, \mysmartcite) que faz o que você deseja (adicione parênteses no texto normal, não adicione-os em notas de rodapé).

\documentclass{article}

\usepackage[style=authoryear]{biblatex}

\DeclareAutoCiteCommand{inlineplainfootnote}{\mysmartcite}{\mysmartcites}

\DeclareCiteCommand{\mysmartcite}[\iffootnote\textnormal\mkbibparens]
  {\usebibmacro{prenote}}
  {\usebibmacro{citeindex}%
   \usebibmacro{cite}}
  {\multicitedelim}
  {\usebibmacro{postnote}}

\DeclareMultiCiteCommand{\mysmartcites}
    [\iffootnote\textnormal\mkbibparens]{\mysmartcite}{\multicitedelim}

\ExecuteBibliographyOptions{autocite=inlineplainfootnote}

\usepackage{filecontents}

\begin{filecontents}{\jobname.bib}
@misc{A01,
  author = {Author, A.},
  year = {2001},
  title = {Alpha},
}
\end{filecontents}

\addbibresource{\jobname.bib}

\begin{document}

\null\vfill% just for the example

Some text \autocite{A01}.

Some text.\footnote{A footnote \autocite{A01}.}

\printbibliography

\end{document}

insira a descrição da imagem aqui

informação relacionada