Estou trabalhando em um documento onde quero citar uma fonte de uma forma específica e todas as outras fontes de uma forma diferente. Mais especificamente, quero citar a fonte chamada “drama” assim:
"alguma citação do drama" (p. 54)
enquanto todas as outras fontes devem ser citadas assim:
"agora outra coisa" (Shakespeare, Hamlet, p. 123)
Como posso conseguir isso?
Atualmente, todas as minhas citações são feitas com o \autocite
comando.
Responder1
Você pode tentar suprimir todas as citações de um trabalho específico. Mas então você deve ter cuidado para citar este trabalho apenas com referências de páginas.
No exemplo abaixo, suprimimos sigfridsson
. A implementação aqui é para o authoryear
estilo. Outros estilos podem ser tratados de forma semelhante (pelo menos em princípio), mas a implementação exata parecerá diferente e poderá ser significativamente mais complexa.
\documentclass[british]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\usepackage{csquotes}
\usepackage[style=authoryear, backend=biber]{biblatex}
\newcommand*{\ifhidecite}{\iffieldequalstr{entrykey}{sigfridsson}}
\renewbibmacro*{cite}{%
\ifhidecite
{}
{\iffieldundef{shorthand}
{\ifthenelse{\ifnameundef{labelname}\OR\iffieldundef{labelyear}}
{\usebibmacro{cite:label}%
\setunit{\printdelim{nonameyeardelim}}}
{\printnames{labelname}%
\setunit{\printdelim{nameyeardelim}}}%
\usebibmacro{cite:labeldate+extradate}}
{\usebibmacro{cite:shorthand}}}}
\renewbibmacro*{postnote}{%
\iffieldundef{postnote}
{\ifhidecite
{\PackageWarning{biblatex}{%
Hidden citation without postnote.\MessageBreak
The citation outout may look weird}}
{}}
{\setunit{\printdelim{postnotedelim}}%
\printfield{postnote}}}
\addbibresource{biblatex-examples.bib}
\begin{document}
\autocite[45]{sigfridsson}
\autocite[380]{worman}
\printbibliography
\end{document}
Responder2
Você provavelmente não deseja incluir todas as referências de página ao tópico dramático em um índice. Nesse caso, você poderia usar um hack como este trecho de código:
. . . do drama '' (p. ~ 54)