bibファイルを用いずに、bibitemでHarvardスタイル表示、
引用表示をしたいです。
以下を実行すると、著者名[1]と本文中に表示されます。
number modeになっているのが原因だと思うのですが、
author-year modeへの変更方法が分かりません。
通常だと、bibファイルを用意するようですが、
文献数が多く、すでにbibitem環境で
文献リストを入力してしまったので、
それを用いて、Harvardスタイル、つまり
著者名(年)の形式で、文献引用表示を本文中に行いたいと考えているので、bibファイルをつくった方がいいというアドバイス以外でお願いします。
-------------------------
\documentclass[review,12pt]{elsarticle}
\usepackage{natlib}
\begin{document}
\cite{bi1}
\begin{thebibliography}{99}
\bibitem[\protect\citeauthoryear{Glover and Doyle}{1988}]{bib1}
Glover, K., and Doyle, C. J. (1988) `State-Space formulae for all stabilizing controllers that satisfy an $H_{\infty}$ - norm bound and relations to risk sensitivity', {\it Systems \& Control Letters}, Vol.11, No.3, pp.167--172.
\end{thebibliography}
\end{document}
>\usepackage{natlib}
これ natbib のタイポだとして
>\cite{bi1}
こっちは bib1 だとして想定して...
#elsarticleを利用すると natbib は自動で読み込まれるようです。
今回の検証にあたっては texdoc natbib で表示される情報をもとに実施しました。今回の質問「著者名(年)で表記」に該当するのはその12ページのsetcitestyle の Citation mode とBraces の項を参考に考えてみました。参考にcite のほか citep citet の例も表示してみました。
\documentclass[review,12pt]{elsarticle}
%\usepackage{natbib}% 自動で読み込まれるようです。
\begin{document}
%\bibliographystyle{abbrvnat}% スタイルはお好みを
%\bibliographystyle{unsrtnat}% 選んでもよし、なくてもよし
%\bibliographystyle{plainnat}
\setcitestyle{authoryear,open={(},close={)}}% ここ
\begin{itemize}
\item cite \cite{bib1} %三つの方法からお好きなものを
\item citep \citep{bib1}%書式はsetcitestyle で
\item citet \citet{bib1}
\end{itemize}
\begin{thebibliography}{99}
\bibitem[\protect\citeauthoryear{Glover and Doyle}{1988}]{bib1}
Glover, K., and Doyle, C. J. (1988) `State-Space formulae for all stabilizing controllers that satisfy an $H_{\infty}$ - norm bound and relations to risk sensitivity', {\it Systems \& Control Letters}, Vol.11, No.3, pp.167--172.
\end{thebibliography}
\end{document}
これ natbib のタイポだとして
>\cite{bi1}
こっちは bib1 だとして想定して...
#elsarticleを利用すると natbib は自動で読み込まれるようです。
今回の検証にあたっては texdoc natbib で表示される情報をもとに実施しました。今回の質問「著者名(年)で表記」に該当するのはその12ページのsetcitestyle の Citation mode とBraces の項を参考に考えてみました。参考にcite のほか citep citet の例も表示してみました。
\documentclass[review,12pt]{elsarticle}
%\usepackage{natbib}% 自動で読み込まれるようです。
\begin{document}
%\bibliographystyle{abbrvnat}% スタイルはお好みを
%\bibliographystyle{unsrtnat}% 選んでもよし、なくてもよし
%\bibliographystyle{plainnat}
\setcitestyle{authoryear,open={(},close={)}}% ここ
\begin{itemize}
\item cite \cite{bib1} %三つの方法からお好きなものを
\item citep \citep{bib1}%書式はsetcitestyle で
\item citet \citet{bib1}
\end{itemize}
\begin{thebibliography}{99}
\bibitem[\protect\citeauthoryear{Glover and Doyle}{1988}]{bib1}
Glover, K., and Doyle, C. J. (1988) `State-Space formulae for all stabilizing controllers that satisfy an $H_{\infty}$ - norm bound and relations to risk sensitivity', {\it Systems \& Control Letters}, Vol.11, No.3, pp.167--172.
\end{thebibliography}
\end{document}
先程私が投稿したサンプルをそのまま再度コピペして TeXLive 2018 および 2019 で実施しましたが問題なく処理できます。
ちなみに \setcitestyle はtexmf-dist/tex/latex/natbib/natbib.sty で定義されています。
■独自拡張パッケージ利用されていますか?
もしかしたら当初 natlib とされているところを見ると独自に拡張されたパッケージをおつかいでしょうか?
うまくいかなかったときの .log ファイルを見せていただけると状況がわかるかと思います。
■私の投稿したサンプルでコンパイルした際にできる .log ファイルを添付していただけませんか
ちなみに \setcitestyle はtexmf-dist/tex/latex/natbib/natbib.sty で定義されています。
■独自拡張パッケージ利用されていますか?
もしかしたら当初 natlib とされているところを見ると独自に拡張されたパッケージをおつかいでしょうか?
うまくいかなかったときの .log ファイルを見せていただけると状況がわかるかと思います。
■私の投稿したサンプルでコンパイルした際にできる .log ファイルを添付していただけませんか
解決したとのこと&大して変わりはないのですが elsarticle をつかわれているので別解
あらためて「texdoc elsarticle 」を見たところ
その13ページ「11. Bibliography」にヒントが書かれていましたね。
==引用開始==
You can change this to author-year or harvard scheme by adding option authoryear in the class loading command.
==引用終了==
\documentclass[review,12pt,authoryear]{elsarticle}%class オプションでも可能
\begin{document}
%\biboptions{authoryear}% natbib の機能を利用して他のスタイルにするとき
%\setcitestyle{authoryear,open={(},close={)}}% 書式を変更したい時
\begin{itemize}
\item cite \cite{bib1} %三つの方法からお好きなものを
\item citep \citep{bib1}%書式はsetcitestyle で
\item citet \citet{bib1}
\end{itemize}
\begin{thebibliography}{99}
\bibitem[\protect\citeauthoryear{Glover and Doyle}{1988}]{bib1}
Glover, K., and Doyle, C. J. (1988) `State-Space formulae for all stabilizing controllers that satisfy an $H_{\infty}$ - norm bound and relations to risk sensitivity', {\it Systems \& Control Letters}, Vol.11, No.3, pp.167--172.
\end{thebibliography}
\end{document}
あらためて「texdoc elsarticle 」を見たところ
その13ページ「11. Bibliography」にヒントが書かれていましたね。
==引用開始==
You can change this to author-year or harvard scheme by adding option authoryear in the class loading command.
==引用終了==
\documentclass[review,12pt,authoryear]{elsarticle}%class オプションでも可能
\begin{document}
%\biboptions{authoryear}% natbib の機能を利用して他のスタイルにするとき
%\setcitestyle{authoryear,open={(},close={)}}% 書式を変更したい時
\begin{itemize}
\item cite \cite{bib1} %三つの方法からお好きなものを
\item citep \citep{bib1}%書式はsetcitestyle で
\item citet \citet{bib1}
\end{itemize}
\begin{thebibliography}{99}
\bibitem[\protect\citeauthoryear{Glover and Doyle}{1988}]{bib1}
Glover, K., and Doyle, C. J. (1988) `State-Space formulae for all stabilizing controllers that satisfy an $H_{\infty}$ - norm bound and relations to risk sensitivity', {\it Systems \& Control Letters}, Vol.11, No.3, pp.167--172.
\end{thebibliography}
\end{document}