Consulte la cita directamente cuando utilice el estilo de compilación numérica de Biblatex

Consulte la cita directamente cuando utilice el estilo de compilación numérica de Biblatex

Mi estilo de cita preferido biblatexes el numeric-compestilo con la autocite=superscriptopción. Sin embargo, ocasionalmente necesito hacer referencia a una referencia específica en el texto y, por lo tanto, me gustaría cambiar a algo como authoryearen este caso.

Usar \textcitesimplemente niega la opción de superíndice. ¿Es posible escribir una nueva función que me permita mezclar los dos estilos de cita?

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}

Esto produce:

Normalmente cito así 1, lo cual es genial, pero a veces quiero hacer este Autor [1] pero no parece funcionar.

cuando lo que me gustaría es:

Normalmente cito así 1, lo cual es genial, pero a veces quiero hacer este Autor (2018) pero no parece funcionar.

preferiblemente solo un autor et al. (año) aparece cuando hay varios autores.

Respuesta1

En general, es una mejor idea definir un nuevo comando en \DeclareCiteCommandlugar de agrupar varios \cite...comandos en un archivo \newcommand. Si bien es posible que no vea los beneficios para su caso de uso particular, es una buena idea evitar los malos hábitos. El \newcommandenfoque puede salir mal, especialmente en casos con notas previas y posteriores o si desea citar varias fuentes a la vez.

\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}

ingrese la descripción de la imagen aquí

Respuesta2

He llegado a una respuesta que creo que es satisfactoria. En el proceso estas dos preguntas fueron útiles:Pregunta 1yPregunta 2

También debo decir que estoy de acuerdo con los comentarios de @cfr sobre las etiquetas de referencia, pero esto no estaba en mi mente ya que normalmente uso el hyperrefpaquete para que las citas y las referencias estén vinculadas. Por lo general, simplemente hago clic en las citas en lugar de usarlas como claves en una tabla de referencia. Por tanto, he incorporado las etiquetas a mi solución.

Esto es lo que tengo:

\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 produce:

¿Qué tal esto donde el Autor (2018; ref. 1) analiza un tema?

que enlaza con la referencia bibliográfica adecuada.

información relacionada