Procurei muito por uma solução, mas não encontrei uma que funcionasse. Os mais proeminentes são: \citetitle e \citeeditor usando os pacotes natbib e hyperref e https://stackoverflow.com/questions/2496599/how-do-i-cite-the-title-of-an-article-in-latex
Minha configuração relevante é:
\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}
com meu arquivo source.bib parecido com:
@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}
}
Provavelmente a razão pela qual algumas das sugestões que encontrei não funcionam é o \bibliographystyle{myabbrvnat}
. Não me lembro onde o encontrei, mas é para configurar minha bibliografia do jeito que preciso. Isso é importante? Caso precise ser postado, onde posso postar o texto, já que aqui ultrapassa o limite de caracteres?
Eu sei que existe uma "espécie de" solução, onde posso fazer um alias de citação como \defcitealias{RefWorks:1}{Book Name}
e depois inseri-lo no texto como \citetalias{RefWorks:1}
para dar o título da fonte. Tudo bem, mas não é o que procuro, porque aí precisaria configurar isso para toda a minha biblioteca, o que ficaria cansativo.
Existe uma maneira de configurar um \cite+
tipo para fornecer o título de uma fonte?
Editar: esqueci de colocar o pacote hyperref na minha configuração.
Responder1
Modifiquei abbrvnat.bst
para emitir \myand{}
em vez de and
(alterar os locais onde " and "
aparece). Em seguida, preparei este arquivo 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 é a saída
Observe que isso filecontents
é usado apenas por conveniência e você pode usar seu próprio .bib
arquivo. Lembre-se da limitação desses usebib
camposdeveser delimitado com colchetes e não com "
.
Por outro lado, pode-se coagir biblatex
a produzir o resultado desejado:
\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}