Problema com (sugestão para) o \textcite*
paulequilibrio opened this issue · 4 comments
Olá, primeiramente muito obrigado pelo excelente trabalho!
Estou migrando do bibtex (usando o pacote abntex2cite) para o biblatex (usando o estilo abnt) e, infelizmente, não consegui encontrar um equivalente ao comando \citeauthoronline
.
O mais próximo que consegui encontrar foi o comando \textcite*
, entretanto ele também imprime o ano.
Minha dúvida (sugestão) é se seria possível alterar o comando \textcite*
para imprimir apenas o nome do autor no mesmo formato em que está atualmente, apenas sem o ano, pois ao que me parece não existe nenhum comando que ofereça essa possibilidade.
Assim, ainda seria possível obter o formato atual do \textcite*
usando (caso a sugestão seja aceita): \textcite*{chave}, \citeyear*{chave}
.
Uma outra vantagem, ao meu ver, além de dar mais flexibilidade, é ficar consistente com o comportamento do \citetitle*
que imprime o título sem o ano, pois o \citetitle
inclui o ano, assim como o \textcite
.
Espero ter sido claro.
Novamente, muito obrigado pelo excelente trabalho!
Uhm… experimente o \citeauthor*
. Só não sei se ele imprime o nome em maiúsculas… nesse caso, você pode tentar redefini-lo assim:
\DeclareCiteCommand*{\citeauthor}%
{\boolfalse{citetracker}%
\boolfalse{pagetracker}%
\usebibmacro{prenote}}%
{\ifciteindex%
{\indexnames{labelname}}%
{}%
\printtext[bibhyperref]{\printnames[textlabelname]{labelname}}}%
{\multicitedelim}%
{\usebibmacro{postnote}}%
Não testei, mas acho que deve funcionar. Caso contrário, envie um exemplo mínimo e reabra a issue que eu dou uma olhada. E se der certo você pode abrir uma PR se quiser; acho que é uma mudança que faz sentido.
Edit: Se der certo e você quiser fazer uma PR, a mudança é nessa linha aqui:
biblatex-abnt/latex/cbx/abnt.cbx
Line 741 in 320b2c9
Eu só acrescentei o formato [textlabelname]
, que é o do \textcite
, pra formatar o nome nesse caso.
Olá @dbmrq !
Muito obrigado por sua resposta mas, infelizmente, sua sugestão não funcionou. O resultado foi o mesmo: o nome do autor em maiúsculas.
Aqui vai um exemplo não tão mínimo:
\documentclass{report}
\usepackage[style=abnt,ittitles]{biblatex}
\usepackage{geometry}
\usepackage{booktabs}
\usepackage{bbding}
\usepackage{filecontents}
\begin{filecontents*}{\jobname.bib}
@book{TELFORD1990,
author = {William Murray Telford and Lloyd Philip Geldart and Robert Edward Sheriff},
title = {Applied geophysics},
edition = {2},
address = {Cambridge},
publisher = {Cambridge University Press},
year = {1990}
}
\end{filecontents*}
\addbibresource{\jobname.bib}
\begin{document}
\begin{table}[ht]
\caption{Estilo \texttt{abnt}}
\vspace{1em}
\begin{tabular}{lll}
\toprule
COMANDO & SAÍDA ATUAL & SUGERIDA \\ \midrule
\verb+\cite{TELFORD1990}+ & \cite{TELFORD1990} & \CheckmarkBold \\ \midrule
\verb+\cite*{TELFORD1990}+ & \cite*{TELFORD1990} & --- \\ \midrule
\verb+\citetitle{TELFORD1990}+ & \citetitle{TELFORD1990} & \CheckmarkBold \\ \midrule
\verb+\citetitle*{TELFORD1990}+ & \citetitle*{TELFORD1990} & Applied geophysics\\ \midrule
\verb+\citeyear{TELFORD1990}+ & \citeyear{TELFORD1990} & \CheckmarkBold \\ \midrule
\verb+\citeyear*{TELFORD1990}+ & \citeyear*{TELFORD1990} & \CheckmarkBold \\ \midrule
\verb+\citeauthor{TELFORD1990}+ & \citeauthor{TELFORD1990} & \CheckmarkBold \\ \midrule
\verb+\citeauthor*{TELFORD1990}+& \citeauthor*{TELFORD1990} & \CheckmarkBold \\ \midrule
\verb+\textcite{TELFORD1990}+ & \textcite{TELFORD1990} & \CheckmarkBold \\ \midrule
\verb+\textcite*{TELFORD1990}+ & \textcite*{TELFORD1990} & Telford, Geldart e Sheriff \\
\bottomrule
\end{tabular}
\end{table}
\end{document}
Se me indicar o caminho onde fazer essa(s) alteração(ões) posso fazer um PR, sim.
Muito obrigado pelo excelente trabalho e pela resposta rápida!
Ah, como foi você que fechou a issue, eu não consigo reabri-la. Só os colaboradores do repositório podem.
Ah, sinto muito. Obrigado pelo exemplo, vou dar uma olhada assim que possível!
Olá. Eu abri um issue há um tempo atrás com o mesmo pedido #38. Eu precisava de um comando que expunha os nomes dos autores em "caixa normal" (sem estarem em maiúsculas). No meu problema específico, eu queria isso para compôr um comando de citação mais complexo e o @dbmrq criou este comando mais complexo para mim, que é o \textcite*
.
Talvez, possamos ver o que o \textcite*
faz e criar um outro comando, equivalente ao \citeauthoronline*
do bibtex.