解決策を探し回ったのですが、有効な解決策が見つかりませんでした。最も有名なものは次のとおりです。 natbib および hyperref パッケージを使用した \citetitle および \citeeditor そして https://stackoverflow.com/questions/2496599/latex で記事のタイトルを引用する方法
私の関連する設定は次のとおりです。
\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}
私のsource.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}
}
おそらく、私が見つけた提案のいくつかが機能しない理由は です\bibliographystyle{myabbrvnat}
。どこで見つけたかは覚えていませんが、それは私の参考文献を必要な方法で設定するためのものです。それは重要ですか? 投稿する必要がある場合、ここでは文字数制限を超えているため、どこにテキストを投稿できますか?
引用エイリアスを作成し\defcitealias{RefWorks:1}{Book Name}
、それをテキストに挿入して\citetalias{RefWorks:1}
ソースのタイトルを付けるといった「ある種の」解決策があることは知っています。それは問題ありませんが、私が探しているものではありません。そうすると、ライブラリ全体にこれを設定する必要があり、面倒になります。
\cite+
ソースのタイトルを指定するために -type を設定する方法はありますか?
編集: セットアップに hyperref パッケージを追加するのを忘れました。
答え1
の代わりにabbrvnat.bst
を発行するように変更しました( が表示される場所を変更)。次に、次の入力ファイルを準備しました。\myand{}
and
" and "
\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}
これが出力です
はfilecontents
便宜上使用されているだけなので、独自のファイルを使用することもできます。フィールド.bib
の制限に注意してください。usebib
しなければならないではなく中括弧で区切る必要があります"
。
一方、強制的biblatex
に望ましい出力を生成することもできます。
\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}