
文書内に biblatex 項目のリストがあり、このリストには参考文献セクションも含まれています。この部分では、\fullcite
メインの参考文献とは異なるスタイルでいくつかの参考文献項目をリストしたいと思います。
著者の数は次のように変更できます。
\begingroup
\defcounter{minnames}{2}
\fullcite{key}
\endgroup
のスタイルをさらに変更するにはどうすればいいですか\fullcite
?
ウェブ
\documentclass[en-US,de-DE]{article}
\usepackage[
style=authoryear-ibid,
maxnames=2,
backend=biber,
safeinputenc,
isbn=false,
doi=false,
maxcitenames=2,
urldate=iso8601,
date=iso8601
]{biblatex}
\addbibresource{\jobname.bib}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@book{key,
author = {Author, A.},
year = {2001},
title = {Title},
publisher = {Publisher},
pagetotal = {383},
edition = {1},
pages = {151--154},
url = {http://www.google.com},
}
\end{filecontents}
\begin{document}
text1
\fullcite{key}
text2
\cite{key}
text3
\printbibliography[heading=bibintoc]
\end{document}
これらのリストされているアイテムから年、URL \fullcite
、ページ番号、書籍の版を削除したいのですが。
答え1
これを行うには 2 つの方法があります。\fullcite
不要なフィールドをクリアするようにコマンドを再定義するか、コメントに記載されているように、 を使用して\AtEverycitekey
同じことを行うことができます。
概念的には、\fullcite
を使用すると引用文が変更されるため、 を変更する方がより良い解決策のように思えます。したがって、から通常含まれている\AtEveryCitekey
情報を削除したい場合は、\fullcite
\cite
しなければならないこの解決策を使用してください。
URL、エディション、ページだけを削除する場合は、これらのフィールドを出力するのは引用コマンドだけなので、\fullcite
使用しても悪影響はありません。ただし、年も削除したい場合 (コメントで言及されているように)、変更するしか方法はありません。このため、コードからソリューションを削除しましたが、最後に別途配置しました。\AtEveryCitekey
\fullcite
\fullcite
\AtEveryCitekey
抑制する必要がある情報の種類に応じて、、または\clearfield
のいずれかを使用する必要がある場合があります。たとえば、、またはの場合、そのタイプはリストであるため、それらをクリアするには を使用する必要があります。ドキュメントのセクション 2.2.2 では、各フィールドとそのデータ型について説明しています。\clearlist
\clearname
publisher
location
\clearlist
biblatex
\documentclass[en-US,de-DE]{article}
\usepackage[
style=authoryear-ibid,
maxnames=2,
backend=biber,
safeinputenc,
isbn=false,
doi=false,
maxcitenames=2,
urldate=iso8601,
date=iso8601
]{biblatex}
\addbibresource{\jobname.bib}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@book{key,
author = {Author, A.},
year = {2001},
title = {Title},
publisher = {Publisher},
pagetotal = {383},
edition = {1},
pages = {151--154},
url = {http://www.google.com},
}
\end{filecontents}
\DeclareCiteCommand{\fullcite}
{\usebibmacro{prenote}}
{\clearfield{url}%
\clearfield{pages}%
\clearfield{pagetotal}%
\clearfield{edition}%
\clearfield{labelyear}%
\usedriver
{\DeclareNameAlias{sortname}{default}}
{\thefield{entrytype}}}
{\multicitedelim}
{\usebibmacro{postnote}}
\begin{document}
text1
\cite{key}
\fullcite{key}
text2
\cite{key}
text3
\printbibliography[heading=bibintoc]
\end{document}
使用\AtEveryCitekey
上で述べたように、\AtEveryCitekey
通常の引用で必要な情報と で抑制する情報に重複がない場合には、 を使用することもできます。\fullcite
この方法を使用するコードは次のとおりです。
\AtEveryCitekey{
\clearfield{url}
\clearfield{pages}
\clearfield{pagetotal}
\clearfield{edition}
\clearfield{labelyear}
}