Há um ano, @moeweinventou uma maneirautilizar biblatex-chicago
apenas o sobrenome do autor (sem título) ao citar uma referência cujo autor só aparece na bibliografia como o autor dessa referência (ou seja, apenas uma obra desse autor é citada).
Desde então, percebi que esta solução apresenta problemas com \headlesscite
e, em notas de rodapé, com \textcite
. Existe alguma maneira de tornar a saída (veja abaixo) sensata?
MWE:
\documentclass{article}
\usepackage[%
ibidtracker=true,
notes,
singletitle,
short]{biblatex-chicago}
\addbibresource{biblatex-examples.bib}
\renewbibmacro*{cite:short}{%
\usebibmacro{allshort+firstcite+xref}%
\ifthenelse{\ifnameundef{labelname}\OR%
\ifentrytype{inreference}\OR%
\ifentrytype{reference}\OR%
\ifentrytype{mvreference}}%
{\ifthenelse{\iffieldequalstr{entrysubtype}{magazine}\AND\NOT%
\ifentrytype{periodical}}% Simplify .bib creation
{\ifuseauthor%
{\ifboolexpr{%
not test {\iffieldundef{shortjournal}}%
and
((
test {\ifcitation}%
and
togl {cms@citejtabb}%
)
or
(
test {\ifbibliography}%
and
togl {cms@bibjtabb}%
))
}%
{\printfield[shortjournal]{shortjournal}\newcunit}%
{\printfield[journaltitle]{journaltitle}\newcunit}}%
{}}%
{\ifentrytype{manual}%
{\printlist{organization}\isdot\newcunit}%
{}}}%
{\ifboolexpr{%
test {\ifciteidem}%
and
not test {\ifbibliography}%
and
not test {\iffirstonpage}%
and
not togl {cms@noidem}%
and
not togl {cms@headlessnote}%
}%
{\bibstring[\mkibid]{idem\thefield{gender}}%
\classicpunct}%
{\iffieldequalstr{authortype}{anon}%
{\bibleftbracket\printnames{labelname}%
\bibrightbracket\classicpunct}%
{\iffieldequalstr{authortype}{anon?}%
{\bibleftbracket\printnames{labelname}?%
\bibrightbracket\classicpunct}%
{\printnames{labelname}%\usebibmacro{choose+labelname}%
\isdot\classicpunct}}}}%
\ifsingletitle
{}
{\ifboolexpr{%
togl {cms@allshort}%
or
test {\ifbibliography}%
}%
{\printtext[bibhyperref]{%
\printfield[citetitle]{labeltitle}}}%
{\printtext[cmshyperlink]{%
\printfield[citetitle]{labeltitle}}}}}%:\thefield{entrytype}?
\begin{document}
\section{headlesscite and textcite in footnotes}
Headlesscite here: \headlesscite{worman}.
\mancite
In a footnote.\footcite[1]{worman}
\mancite
With textcite.\footnote{\Textcite[1]{worman} says otherwise.}
\mancite
With textcite but no page number.\footnote{\Textcite{worman} says otherwise.}
\section{with ibid issues thrown in}
Repeated citation.\footcite[1]{worman}
Repeated citation with textcite.\footnote{\Textcite[1]{worman} says otherwise.}
Repeated citation with textcite but no page number.\footnote{\Textcite{worman} says otherwise.}
\end{document}
Saída atual
1 headlesscite e textcite em notas de rodapé
Headlesscite aqui: .
Em uma nota de rodapé.1
Com textcite.2
Com textcite, mas sem número de página.3
2 com questões ibid incluídas
Citação repetida.4
Citação repetida com textcite.5
Citação repetida com textcite, mas sem número de página.6
onde estão as notas de rodapé:
Worman, 1.
Worman (, 1) diz o contrário.
Worman () diz o contrário.
Ibid., 1.
Worman (, 1) diz o contrário.
Worman () diz o contrário.
Saída desejada
1 headlesscite e textcite em notas de rodapé
Sem cabeça, cite aqui: Worman.
Em uma nota de rodapé.1
Com textcite.2
Com textcite, mas sem número de página.3
2 com questões ibid incluídas
Citação repetida.4
Citação repetida com textcite.5
Citação repetida com textcite, mas sem número de página.6
onde estão as notas de rodapé:
Worman, 1.
Worman (1) diz o contrário.
Worman diz o contrário.
Ibid., 1.
Worman (1) diz o contrário.
Worman diz o contrário.
Responder1
Não tenho certeza se esse código funcionará em todas as situações, então você deve testar com muito cuidado.
Mas talvez dê um ponto de partida.
\documentclass{article}
\usepackage[%
ibidtracker=true,
notes,
singletitle,
short]{biblatex-chicago}
\addbibresource{biblatex-examples.bib}
% ------------------------------------------------------------------------------
% cite:short modified by moewe from https://tex.stackexchange.com/a/408916/87678
% ------------------------------------------------------------------------------
\renewbibmacro*{cite:short}{%
\usebibmacro{allshort+firstcite+xref}%
\ifthenelse{\ifnameundef{labelname}\OR%
\ifentrytype{inreference}\OR%
\ifentrytype{reference}\OR%
\ifentrytype{mvreference}}%
{\ifthenelse{\iffieldequalstr{entrysubtype}{magazine}\AND\NOT%
\ifentrytype{periodical}}% Simplify .bib creation
{\ifuseauthor%
{\ifboolexpr{%
not test {\iffieldundef{shortjournal}}%
and
((
test {\ifcitation}%
and
togl {cms@citejtabb}%
)
or
(
test {\ifbibliography}%
and
togl {cms@bibjtabb}%
))
}%
{\printfield[shortjournal]{shortjournal}\newcunit}%
{\printfield[journaltitle]{journaltitle}\newcunit}}%
{}}%
{\ifentrytype{manual}%
{\printlist{organization}\isdot\newcunit}%
{}}}%
{\ifboolexpr{%
test {\ifciteidem}%
and
not test {\ifbibliography}%
and
not test {\iffirstonpage}%
and
not togl {cms@noidem}%
and
not togl {cms@headlessnote}%
}%
{\bibstring[\mkibid]{idem\thefield{gender}}%
\classicpunct}%
{\iffieldequalstr{authortype}{anon}%
{\bibleftbracket\printnames{labelname}%
\bibrightbracket\classicpunct}%
{\iffieldequalstr{authortype}{anon?}%
{\bibleftbracket\printnames{labelname}?%
\bibrightbracket\classicpunct}%
{\printnames{labelname}%\usebibmacro{choose+labelname}%
\isdot\classicpunct}}}}%
\ifsingletitle
{}
{\ifboolexpr{%
togl {cms@allshort}%
or
test {\ifbibliography}%
}%
{\printtext[bibhyperref]{%
\printfield[citetitle]{labeltitle}}}%
{\printtext[cmshyperlink]{%
\printfield[citetitle]{labeltitle}}}}}%:\thefield{entrytype}?
% ------------------------------
% Make \headlesscite more robust
% ------------------------------
\DeclareCiteCommand{\headlesscite}
{\usebibmacro{hlcprenote}}
{\usebibmacro{citeindex}%
\toggletrue{cms@headlessnote}%
\ifsingletitle
{}
{\usebibmacro{clear+labelname}%
\clearname{labelname}}%
\usebibmacro{cite}%
\global\toggletrue{cms@noidem}}
{\multicitedelim}
{\usebibmacro{cite:postnote}}
\DeclareCiteCommand{\headlessparencite}[\mkbibparens]
{\usebibmacro{hlcprenote}}
{\usebibmacro{citeindex}%
\toggletrue{cms@headlessnote}%
\ifsingletitle
{}
{\usebibmacro{clear+labelname}%
\clearname{labelname}}%
\usebibmacro{cite}%
\global\toggletrue{cms@noidem}}
{\multicitedelim}
{\usebibmacro{cite:postnote}}
\DeclareCiteCommand{\headlessparenshortcite}[\mkbibparens]
{\usebibmacro{prenote}}
{\usebibmacro{citeindex}%
\ifboolexpr{%
togl{cms@firstshort}%
and
not test {\iffieldundef{shorthand}}%
}%
{\usebibmacro{cite:shorthand}}%
{\toggletrue{cms@headlessnote}%
\toggletrue{cms@shortnote}%
\togglefalse{cms@fullnote}%
\ifsingletitle
{}
{\clearname{labelname}}%
\usebibmacro{cite:short}}%
\global\toggletrue{cms@noidem}}
{\multicitedelim}
{\usebibmacro{cite:postnote}}
% ---------------------------------------
% Make \textcite in footnotes more robust
% ---------------------------------------
\renewcommand*{\postnotewrapper}{%
\iftoggle{cms@modpostnote}%
{\ifboolexpr{%
test {\iffieldstart{postnote}{,}}%
or
test {\iffieldstart{postnote}{\bibrangessep}}%
}%
{\setunit{\addcomma}}% w/ or w/o \addspace?
{\ifboolexpr{%
test {\iffieldstart{postnote}{;}}%
or
test {\iffieldstart{postnote}{:}}%
or
test {\iffieldstart{postnote}{.}}%
}%
{}{\setunit{\postnotedelim}}}}%
{\setunit{\postnotedelim}}}%
\renewcommand{\foottextcite}{%
\headlessparenshortcite}
\renewcommand{\foottextcites}{%
\headlessparenshortcites}
\DeclareCiteCommand{\headlessparenshortcite}
{\ifboolexpr{
test {\ifsingletitle}
and
test {\iffieldundef{postnote}}
}
{}
{\addspace\bibopenparen}%
\usebibmacro{prenote}}
{\usebibmacro{citeindex}%
\ifboolexpr{%
togl{cms@firstshort}%
and
not test {\iffieldundef{shorthand}}%
}%
{\usebibmacro{cite:shorthand}}%
{\toggletrue{cms@headlessnote}%
\toggletrue{cms@shortnote}%
\togglefalse{cms@fullnote}%
\clearname{labelname}%
\setunit{\addspace}%
\usebibmacro{cite:short}%
}%
\global\toggletrue{cms@noidem}}
{\multicitedelim}
{\ifboolexpr{
test {\ifsingletitle}
and
test {\iffieldundef{postnote}}
}
{\usebibmacro{cite:postnote}}
{\usebibmacro{cite:postnote}%
\bibcloseparen}}
\begin{document}
\null\vfill
\section{headlesscite and textcite in footnotes}
Headlesscite here: \headlesscite[1]{worman}.
\mancite
In a footnote.\footcite{worman}
\mancite
With textcite.\footnote{\Textcite[1]{worman} says otherwise.}
\mancite
With textcite but no page number.\footnote{\Textcite{worman} says otherwise.}
\section{with ibid issues thrown in}
Repeated citation.\footcite[1]{worman}
Repeated citation with textcite.\footnote{\Textcite[1]{worman} says otherwise.}
Repeated citation with textcite but no page number.\footnote{\Textcite{worman} says otherwise.}
\end{document}