biblatex-chicago
には、 というオプションが含まれており、このオプションをオンにすると、ノートから書籍シリーズを省略bookseries
できます。これは、次の 2 つのまったく異なる目的で使用される フィールドが関係するため、特に繊細な操作です。false
notes
series
- 書籍シリーズ(「古典遺産の変容」や「ケンブリッジ科学史」のようなタイトル)
- ジャーナルの書誌エントリのシリーズ
article
(出力「2nd ser.」の場合は「2」のような数字)
脚注だけでなく、bookseries=false
書籍シリーズ(およびフィールドの対応する番号)を省略するようにオプションを拡張する方法はありますか?number
参考文献にも記載されている?
MWE:
\documentclass{article}
\usepackage[notes,bookseries=false]{biblatex-chicago}
\begin{filecontents*}{\jobname.bib}
@book{lindberg.shank2013camb.hist.sci:med.sci,
Address = {Cambridge},
Editor = {Lindberg, David C. and Shank, Michael H.},
Number = {2},
Publisher = {Cambridge University Press},
Series = {The Cambridge History of Science},
Title = {Medieval Science},
Year = {2013}}
\end{filecontents*}
\addbibresource{\jobname.bib}
\begin{document}
\cite{lindberg.shank2013camb.hist.sci:med.sci}
\printbibliography
\end{document}
現在の出力:
デイヴィッド・C・リンドバーグ、マイケル・H・シャンク編、中世科学(ケンブリッジ: ケンブリッジ大学出版局、2013年)
参考文献
Lindberg, David C.、およびMichael H. Shank(編)中世科学ケンブリッジ科学史2.ケンブリッジ:ケンブリッジ大学出版局、2013年。
望ましい出力:
デイヴィッド・C・リンドバーグ、マイケル・H・シャンク編、中世科学(ケンブリッジ: ケンブリッジ大学出版局、2013年)
参考文献
Lindberg, David C.、およびMichael H. Shank(編)中世科学ケンブリッジ:ケンブリッジ大学出版局、2013年。
答え1
調べてみると、(引用で使用されている) は次のように定義されているchicago-notes.cbx
ことがわかります。cser+num
\newbibmacro*{cser+num}{%
\iftoggle{cms@bookseries}
{\printfield{series}%
\printfield[sernum]{number}}
{}}
一方、ser+num
(参考文献で使用されている)は次のように定義されます。
\newbibmacro*{ser+num}{%
\printfield{series}%
\printfield[sernum]{number}}
を使用しないエントリ タイプがいくつかありますser+num
が、このマクロを再定義すると、ほぼすべてのケースで必要な処理が実行されるはずです。
ムウェ
\documentclass{article}
\usepackage[notes,bookseries=false]{biblatex-chicago}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@book{lindberg.shank2013camb.hist.sci:med.sci,
Address = {Cambridge},
Editor = {Lindberg, David C. and Shank, Michael H.},
Number = {2},
Publisher = {Cambridge University Press},
Series = {The Cambridge History of Science},
Title = {Medieval Science},
Year = {2013}}
\end{filecontents}
\addbibresource{\jobname.bib}
\renewbibmacro*{ser+num}{%
\iftoggle{cms@bookseries}
{\printfield{series}%
\printfield[sernum]{number}}
{}}
\begin{document}
\cite{lindberg.shank2013camb.hist.sci:med.sci}
\printbibliography
\end{document}