Estoy trabajando con bibliografía. Para esto hay dos formas, una es usando bibtex y otra es biber. Cuando imprimo bibliografía usando biber, obtengo el resultado deseado. Significa que puede imprimir título, autor, etc. en lugares específicos de mi documento. Pero bibtex no puede hacerlo. Usando bibtex, se genera mi bibliografía, pero cuando uso \citeauthor{is4562000}
para imprimir el nombre del autor, muestra "¿autor?". ¿Podemos imprimir el nombre del autor, el título y el año usando bibtex? Aquí está el código.
demo.bib
@book{is4562000,
title={Indian Standard Plain and reinforced concrete--code of
practice (IS 456 : 2000)},
shorttitle = {IS 456~:~2000},
author={Cement and Concrete Sectional Committee, CED 2},
%author={Morrison, Norving,peter},
journal={New Delhi: },
year={2000},
publisher={Bureau of Indian Standards},
}
Documento principal
\documentclass[a4paper,10pt]{article}
\usepackage{natbib}
%Includes "References" in the table of contents
%\usepackage[nottoc]{tocbibind}
%Title, date an author of the document
\title{Bibliography management: BibTeX}
\author{Manpreet}
%Begining of the document
\begin{document}
\maketitle
\tableofcontents
\medskip
\section{First Section}
This is bibliography using bibtex \cite{is4562000}\\
\citeauthor{is4562000}
\bibliographystyle{unsrt}
\bibliography{demo}
\end{document}
Producción
Respuesta1
Estás cometiendo dos errores: el autor es corporativo, por lo que debe obtener un par de llaves adicionales; En segundo lugar, el estilo del babero no es compatible con natbib
su uso unsrtnat
.
Tenga en cuenta que el author
campo debe ser
author={{Cement and Concrete Sectional Committee, CED 2}},
Aquí hay un ejemplo completo, donde lo usé filecontents*
solo para evitar dañar mis archivos.
\begin{filecontents*}{\jobname.bib}
@book{is4562000,
title={Indian Standard Plain and reinforced concrete--code of practice (IS 456 : 2000)},
shorttitle = {IS 456~:~2000},
author={{Cement and Concrete Sectional Committee, CED 2}},
journal={New Delhi: },
year={2000},
publisher={Bureau of Indian Standards},
}
\end{filecontents*}
\documentclass[a4paper,10pt]{article}
\usepackage{natbib}
%Includes "References" in the table of contents
%\usepackage[nottoc]{tocbibind}
%Title, date an author of the document
\title{Bibliography management: BibTeX}
\author{Manpreet}
%Begining of the document
\begin{document}
\maketitle
\tableofcontents
\medskip
\section{First Section}
This is bibliography using bibtex \cite{is4562000}
\citeauthor{is4562000}
\bibliographystyle{unsrtnat}
\bibliography{\jobname}
\end{document}
Respuesta2
Proviene de su estilo bibliográfico, es decir, el unsrt
.
Utilizando el estilo bibliográfico plainnat
,
\RequirePackage{filecontents}
\begin{filecontents}{\jobname.bib}
@book{is4562000,
author={{Cement and Concrete Sectional Committee, CED 2}},
title={Indian Standard Plain and reinforced concrete--code of practice (IS 456 2000)},
shorttitle = {IS 456~:~2000},
journal={New Delhi: },
year={2000},
publisher={Bureau of Indian Standards},
}
\end{filecontents}
\documentclass[a4paper,10pt]{article}
\usepackage{natbib}
\begin{document}
This is bibliography using bibtex \cite{is4562000}.
\citeauthor{is4562000}.
\bibliographystyle{plainnat}
\bibliography{\jobname}
\end{document}
obtenemos
Lo cual no es muy agradable, estoy de acuerdo.
Con biber
, puedes tener
\RequirePackage{filecontents}
\begin{filecontents}{\jobname.bib}
@book{is4562000,
author={{Cement and Concrete Sectional Committee, CED 2}},
title={Indian Standard Plain and reinforced concrete--code of practice (IS 456 2000)},
shorttitle = {IS 456~:~2000},
journal={New Delhi: },
year={2000},
publisher={Bureau of Indian Standards},
}
\end{filecontents}
\documentclass[a4paper,10pt]{article}
\usepackage[backend=biber]{biblatex}
\addbibresource{\jobname}
\begin{document}
This is bibliography using biber~\cite{is4562000}.
\citeauthor{is4562000}
\printbibliography
\end{document}
Una tercera opción es usar biblatex
, y recomiendo ésta (por gusto personal). Soporta \citeauthor{key}
comando:
\RequirePackage{filecontents}
\begin{filecontents}{\jobname.bib}
@book{is4562000,
author={{Cement and Concrete Sectional Committee, CED 2}},
title={Indian Standard Plain and reinforced concrete--code of practice (IS 456 2000)},
shorttitle = {IS 456~:~2000},
journal={New Delhi: },
year={2000},
publisher={Bureau of Indian Standards},
}
\end{filecontents}
\documentclass[a4paper,10pt]{article}
\usepackage[backend=bibtex]{biblatex}
\addbibresource{\jobname}
\begin{document}
This is bibliography using biblatex \cite{is4562000}.
\citetitle{is4562000}.
\citeauthor{is4562000}.
\printbibliography
\end{document}
Te dio: