![Biblatex を使用して、異なるソースを異なる方法で引用するにはどうすればよいでしょうか?](https://rvso.com/image/420742/Biblatex%20%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%A6%E3%80%81%E7%95%B0%E3%81%AA%E3%82%8B%E3%82%BD%E3%83%BC%E3%82%B9%E3%82%92%E7%95%B0%E3%81%AA%E3%82%8B%E6%96%B9%E6%B3%95%E3%81%A7%E5%BC%95%E7%94%A8%E3%81%99%E3%82%8B%E3%81%AB%E3%81%AF%E3%81%A9%E3%81%86%E3%81%99%E3%82%8C%E3%81%B0%E3%82%88%E3%81%84%E3%81%A7%E3%81%97%E3%82%87%E3%81%86%E3%81%8B%3F.png)
私は、ある特定の方法で 1 つのソースを引用し、他のすべてのソースを別の方法で引用したい文書に取り組んでいます。具体的には、「ドラマ」という名前のソースを次のように引用したいです。
「ドラマからの引用」(p. 54)
その他のすべての情報源は次のように引用されます。
「今は何か別のもの」(シェイクスピア『ハムレット』123ページ)
どうすればこれを実現できるでしょうか?
現在、すべての引用はコマンドで行われています\autocite
。
答え1
特定の作品のすべての引用出力を抑制することもできます。ただし、その場合は、その作品をページ参照のみで引用するように注意する必要があります。
以下の例では、 を抑制しますsigfridsson
。ここでの実装は、authoryear
スタイル用です。他のスタイルも同様に処理できます (少なくとも原則的には) が、正確な実装は異なり、大幅に複雑になる可能性があります。
\documentclass[british]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\usepackage{csquotes}
\usepackage[style=authoryear, backend=biber]{biblatex}
\newcommand*{\ifhidecite}{\iffieldequalstr{entrykey}{sigfridsson}}
\renewbibmacro*{cite}{%
\ifhidecite
{}
{\iffieldundef{shorthand}
{\ifthenelse{\ifnameundef{labelname}\OR\iffieldundef{labelyear}}
{\usebibmacro{cite:label}%
\setunit{\printdelim{nonameyeardelim}}}
{\printnames{labelname}%
\setunit{\printdelim{nameyeardelim}}}%
\usebibmacro{cite:labeldate+extradate}}
{\usebibmacro{cite:shorthand}}}}
\renewbibmacro*{postnote}{%
\iffieldundef{postnote}
{\ifhidecite
{\PackageWarning{biblatex}{%
Hidden citation without postnote.\MessageBreak
The citation outout may look weird}}
{}}
{\setunit{\printdelim{postnotedelim}}%
\printfield{postnote}}}
\addbibresource{biblatex-examples.bib}
\begin{document}
\autocite[45]{sigfridsson}
\autocite[380]{worman}
\printbibliography
\end{document}
答え2
おそらく、ドラマというトピックへのすべてのページ参照をインデックスに含めたくないでしょう。その場合は、次のコード スニペットのようなハックを使用できます。
. . . ドラマより(p.~54)