Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Problema com (sugestão para) o \textcite* #46

Open
paulequilibrio opened this issue May 31, 2019 · 4 comments
Open

Problema com (sugestão para) o \textcite* #46

paulequilibrio opened this issue May 31, 2019 · 4 comments

Comments

@paulequilibrio
Copy link

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!

@paulequilibrio paulequilibrio changed the title Problemas com \textcite* Problema com (sugestão para) o \textcite* May 31, 2019
@dbmrq
Copy link
Member

dbmrq commented May 31, 2019

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:

\printtext[bibhyperref]{\printnames{labelname}}}%

Eu só acrescentei o formato [textlabelname], que é o do \textcite, pra formatar o nome nesse caso.

@dbmrq dbmrq closed this as completed May 31, 2019
@paulequilibrio
Copy link
Author

paulequilibrio commented Jun 4, 2019

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.

@dbmrq
Copy link
Member

dbmrq commented Jun 5, 2019

Ah, sinto muito. Obrigado pelo exemplo, vou dar uma olhada assim que possível!

@dbmrq dbmrq reopened this Jun 5, 2019
@dbmrq dbmrq added the pinned label Jun 5, 2019
@douglasrizzo
Copy link
Contributor

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.

@dbmrq dbmrq removed the pinned label Aug 16, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants