Biblatex を使用して、異なるソースを異なる方法で引用するにはどうすればよいでしょうか?

Biblatex を使用して、異なるソースを異なる方法で引用するにはどうすればよいでしょうか?

私は、ある特定の方法で 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}

(45ページ)

答え2

おそらく、ドラマというトピックへのすべてのページ参照をインデックスに含めたくないでしょう。その場合は、次のコード スニペットのようなハックを使用できます。

. . . ドラマより(p.~54)

関連情報