He buscado por todas partes una solución, pero no he encontrado ninguna que funcione. Los más destacados se parecen a: \citetitle y \citeeditor usando los paquetes natbib y hyperref y https://stackoverflow.com/questions/2496599/how-do-i-cite-the-title-of-an-article-in-latex
Mi configuración relevante es:
\documentclass[a4paper,11pt,oldfontcommands]{memoir}
\usepackage[colorlinks=true]{hyperref}
\usepackage{natbib}
%\bibliographystyle{agsm}
\bibliographystyle{myabbrvnat}
\newcommand{\myand}{\&\ }
\setcitestyle{authoryear,aysep={},open={(},close={)}}
\begin{document}
In the book (Book Name) such and such is told to be true \citep{RefWorks:}.
\bibliography{cource}
\end{document}
con mi archivo source.bib luciendo así:
@book{RefWorks:1
author={John Johnson},
year={2015},
title={Book Name},
publisher={Publishing Company},
address={United States of America},
edition={1st},
isbn={XXX-X-XXXX-XXXX-X}
}
Probablemente la razón por la que algunas de las sugerencias que he encontrado no funcionan es el archivo \bibliographystyle{myabbrvnat}
. No recuerdo dónde lo encontré, pero es para configurar mi bibliografía como la necesito. ¿Es eso importante? Si es necesario publicarlo, ¿dónde puedo publicar el texto, ya que aquí supera el límite de caracteres?
Sé que existe una "especie de" solución en la que puedo crear un alias de cita \defcitealias{RefWorks:1}{Book Name}
y luego insertarlo en el texto \citetalias{RefWorks:1}
para dar el título de la fuente. Está bien, pero no es lo que estoy buscando, porque entonces necesitaría configurar esto para toda mi biblioteca, lo cual resultaría tedioso.
¿Hay alguna manera de configurar un \cite+
tipo para dar el título de una fuente?
Editar: olvidé poner el paquete Hyperref en mi configuración.
Respuesta1
Modifiqué abbrvnat.bst
para emitir \myand{}
en lugar de and
(cambiar los lugares donde " and "
aparece). Luego preparó este archivo de entrada:
\begin{filecontents*}{\jobname.bib}
@book{RefWorks:1,
author={John Johnson},
year={2015},
title={Book Name},
publisher={Publishing Company},
address={United States of America},
edition={1st},
isbn={XXX-X-XXXX-XXXX-X}
}
@book{RefWorks:2,
author={John Johnson and Jack Jackson},
year={2015},
title={Book Name},
publisher={Publishing Company},
address={United States of America},
edition={1st},
isbn={XXX-X-XXXX-XXXX-X}
}
\end{filecontents*}
\documentclass[a4paper,11pt,oldfontcommands,article]{memoir}
\usepackage{natbib}
\usepackage{usebib}
\bibliographystyle{myabbrvnat}
\setcitestyle{authoryear,aysep={},open={(},close={)}}
\bibinput{\jobname} % <--- the same argument as in \bibliography
\newcommand{\myand}{\&}
\begin{document}
In the book ``\usebibentry{RefWorks:1}{title}'' by
\citeauthor{RefWorks:1}, such and such is told
to be true \citep{RefWorks:1}.
In the book ``\usebibentry{RefWorks:2}{title}'' by
\citeauthor{RefWorks:2}, such and such is told
to be true \citep{RefWorks:2}.
\bibliography{\jobname}
\end{document}
Esta es la salida
Tenga en cuenta que filecontents
se utiliza sólo por conveniencia y que puede utilizar su propio .bib
archivo. Recuerda la limitación de usebib
esos campos.debedelimitarse con llaves y no con "
.
Por otro lado, se puede obligar biblatex
a producir el resultado deseado:
\begin{filecontents*}{\jobname.bib}
@book{RefWorks:1,
author={John Johnson},
year={2015},
title={Book Name},
publisher={Publishing Company},
address={United States of America},
edition={1st},
isbn={XXX-X-XXXX-XXXX-X}
}
@book{RefWorks:2,
author={John Johnson and Jack Jackson},
year={2015},
title={Book Name},
publisher={Publishing Company},
address={United States of America},
edition={1st},
isbn={XXX-X-XXXX-XXXX-X}
}
\end{filecontents*}
\documentclass[a4paper,11pt,oldfontcommands,article]{memoir}
\usepackage[style=authoryear,firstinits,uniquename=init]{biblatex}
\addbibresource{\jobname.bib}
\AtBeginBibliography{%
\DeclareNameAlias{author}{first-last}%
}
\renewcommand{\finalnamedelim}{%
\ifnumgreater{\value{liststop}}{2}{\finalandcomma}{}%
\addspace\&\space
}
\begin{document}
In the book ``\citetitle{RefWorks:1}'' by
\citeauthor{RefWorks:1}, such and such is told
to be true \parencite{RefWorks:1}.
In the book ``\citetitle{RefWorks:2}'' by
\citeauthor{RefWorks:2}, such and such is told
to be true \parencite{RefWorks:2}.
\printbibliography
\end{document}