O bibtex não consegue citar uma entrada específica (autor, título) em látex?

O bibtex não consegue citar uma entrada específica (autor, título) em látex?

Estou trabalhando com bibliografia. Para isso existem duas formas, uma é usando bibtex e outra é biber. Quando imprimo bibliografia usando o biber, recebo o resultado desejado. Significa que pode imprimir título, autor, etc. em locais específicos do meu documento. Mas o bibtex não consegue fazer isso. Usando o bibtex, minha bibliografia é gerada, mas quando uso \citeauthor{is4562000}para imprimir o nome do autor, aparece "autor?". Podemos imprimir o nome do autor, título e ano usando bibtex. Aqui está o 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}

Saída

insira a descrição da imagem aqui

Responder1

Você está cometendo dois erros: o autor é corporativo, portanto deve receber um par adicional de aparelho; em segundo lugar, o estilo do babador não é compatível com natbibo uso unsrtnat.

Observe que o authorcampo deve ser

author={{Cement and Concrete Sectional Committee, CED 2}},

Aqui está um exemplo completo, onde usei filecontents*apenas para evitar destruir meus arquivos.

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

insira a descrição da imagem aqui

Responder2

Vem do seu estilo bibliográfico, ou seja, o unsrt.

Usando o 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}

Nós temos

insira a descrição da imagem aqui

o que não é muito legal, eu concordo.

Com bibervocê pode ter

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

insira a descrição da imagem aqui

Uma terceira opção é usar biblatex, e recomendo esta (para gosto pessoal). Suporta \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}

Da-te:

insira a descrição da imagem aqui

informação relacionada