bibtex は、LaTeX 内の特定のエントリ (著者、タイトル) を \cite できませんか?

bibtex は、LaTeX 内の特定のエントリ (著者、タイトル) を \cite できませんか?

私は参考文献を扱っています。これには 2 つの方法があります。1 つは bibtex を使用する方法で、もう 1 つは biber を使用する方法です。biber を使用して参考文献を印刷すると、希望どおりの結果が得られます。つまり、文書内の特定の場所にタイトル、著者などを印刷できるということです。しかし、bibtex ではこれができません。bibtex を使用すると参考文献が生成されますが、\citeauthor{is4562000}著者名を印刷しようとすると、「著者?」と表示されます。bibtex を使用して著者名、タイトル、年を印刷できますか。コードは次のとおりです。

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

メイン文書

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

出力

ここに画像の説明を入力してください

答え1

2 つの間違いがあります。1 つ目は、著者が企業であるため、追加の中括弧が必要になることです。2 つ目は、bib スタイルが と互換性がないためnatbib、 を使用することですunsrtnat

フィールドauthor

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

filecontents*以下は、ファイルの破損を避けるためにのみ使用した完全な例です。

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

ここに画像の説明を入力してください

答え2

それはあなたの書誌スタイル、つまり から来ていますunsrt

書誌スタイルを使用して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}

我々が得る

ここに画像の説明を入力してください

それはあまりいいことではないと思います。

biberを使用すると、

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

ここに画像の説明を入力してください

3 番目のオプションは を使用することですbiblatex。私はこれを推奨します (個人的な好みですが)。これは\citeauthor{key}次のコマンドをサポートします:

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

あなたにあげる:

ここに画像の説明を入力してください

関連情報