Consulte a citação diretamente ao usar o estilo biblatex numeric-comp

Consulte a citação diretamente ao usar o estilo biblatex numeric-comp

Meu estilo de citação preferido biblatexé o numeric-compestilo com a autocite=superscriptopção. No entanto, ocasionalmente preciso me referir a uma referência específica no texto e, portanto, gostaria de mudar para algo como authoryearneste caso.

Usar \textciteapenas nega a opção sobrescrito. É possível escrever uma nova função que me permita misturar os dois estilos de citação?

MWE:

\documentclass{report}

\begin{filecontents}{example.bib}
@article {Example_article,
 AUTHOR = {Author, A. B.},
 TITLE = {A example paper},
 JOURNAL = {Example journal},
 VOLUME = {1},
 YEAR = {2018},
 NUMBER = {1},
 PAGES = {1-100}}
\end{filecontents}

\usepackage[style=numeric-comp,
      autocite=superscript,
      backend=biber
]{biblatex}

\addbibresource{example.bib}

\begin{document}

I normally cite like this \autocite{Example_article} which is great but sometimes I want to do this \textcite{Example_article} but it doesn't seem to to work.

\end{document}

Isso produz:

Normalmente cito assim 1, o que é ótimo, mas às vezes quero fazer este Autor [1], mas parece que não funciona.

quando o que eu gostaria é:

Normalmente cito assim 1, o que é ótimo, mas às vezes quero fazer isso Autor (2018) mas parece que não funciona.

preferencialmente apenas um autor et al. (ano) é listado quando há vários autores.

Responder1

Em geral, é melhor definir um novo comando via \DeclareCiteCommandem vez de agrupar vários \cite...comandos em um arquivo \newcommand. Embora você possa não ver os benefícios para seu caso de uso específico, é uma boa ideia evitar maus hábitos. A \newcommandabordagem pode dar errado, especialmente em casos com notas anteriores e posteriores ou se você quiser citar várias fontes ao mesmo tempo.

\documentclass{report}

\usepackage[style=numeric-comp,
      minbibnames=3,
      maxbibnames=5, 
      maxcitenames=2, 
      mincitenames=1,
      autocite=superscript,
      backend=biber,
      labeldateparts,
]{biblatex}

\usepackage{hyperref}

\newbibmacro{aycite}{%
  \printtext[bibhyperref]{%
    \printnames{labelname}%
    \setunit{\addspace}%
    \printtext[parens]{%
      \ifnumequal{\value{citecount}}{1}
        {\usebibmacro{prenote}}
        {}%
      \printlabeldate
      \setunit{\addsemicolon\space}%
      \printtext{ref\adddot}%
      \setunit{\addspace}%
      \printfield{labelprefix}%
      \printfield{labelnumber}%
      \ifnumequal{\value{citecount}}{\value{citetotal}}
        {\usebibmacro{postnote}}
        {}}}}

\DeclareCiteCommand{\aycite}
  {}
  {\usebibmacro{citeindex}%
   \usebibmacro{aycite}}
  {\multicitedelim}
  {}

\addbibresource{biblatex-examples.bib}

\begin{document}
How about this where \aycite{sigfridsson} discus a topic.

How about this where \aycite[cf.][1]{sigfridsson} discuss a topic.

How about this where \aycite{sigfridsson,worman} discuss a topic.

\printbibliography
\end{document}

insira a descrição da imagem aqui

Responder2

Encontrei uma resposta que considero satisfatória. No processo, essas duas perguntas foram úteis:Questão 1eQuestão 2

Devo também dizer que concordo com os comentários de @cfr sobre rótulos de referência, mas isso não estava em minha mente, já que costumo usar o hyperrefpacote para que citações e referências sejam vinculadas. Normalmente, apenas clico nas citações em vez de usá-las como chaves em uma tabela de referência. Assim, incorporei os rótulos em minha solução.

Isto é o que eu tenho:

\documentclass{report}

\begin{filecontents}{example.bib}
@article {Example_article,
 AUTHOR = {Author, A. B.}, 
 TITLE = {A example paper},
 JOURNAL = {Example journal},
 VOLUME = {1},
 YEAR = {2018},
 NUMBER = {1},
 PAGES = {1-100}}
\end{filecontents}

\usepackage[style=numeric-comp,
      minbibnames=3,
      maxbibnames=5, 
      maxcitenames=2, 
      mincitenames=1,
      autocite=superscript,
      backend=biber
]{biblatex}

\usepackage{hyperref}

\DeclareCiteCommand{\tabcite}
  {\usebibmacro{cite:init}%
   \usebibmacro{prenote}}
  {\usebibmacro{citeindex}%
   \usebibmacro{cite:comp}}
  {}
  {\usebibmacro{cite:dump}%
   \usebibmacro{postnote}}

\addbibresource{example.bib}

\newcommand{\citelink}[2]{\hyperlink{cite.\therefsection @#1}{\citeauthor{#1} (\citeyear{#1}; ref. \tabcite{#1})}}

\begin{document}


How about this where \citelink{Example_article}{} discusses a topic.


\printbibliography

\end{document}

que produz:

Que tal isto onde o Autor (2018; ref. 1) discute um tópico.

que leva à referência bibliográfica apropriada.

informação relacionada