Biblatex를 사용하여 다양한 출처를 어떻게 다르게 인용할 수 있나요?

Biblatex를 사용하여 다양한 출처를 어떻게 다르게 인용할 수 있나요?

나는 하나의 출처를 특정한 방식으로 인용하고 다른 모든 출처를 다른 방식으로 인용하려는 문서를 작업하고 있습니다. 보다 구체적으로 "drama"라는 출처를 다음과 같이 인용하고 싶습니다.

"드라마에서 인용" (p. 54)

다른 모든 출처는 다음과 같이 인용되어야 합니다.

"이제 뭔가 다른 것" (Shakespeare, Hamlet, p. 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}

(p.45)

답변2

드라마 주제에 대한 모든 페이지 참조를 색인에 포함하고 싶지는 않을 것입니다. 이 경우 다음 코드 조각과 같은 해킹을 사용할 수 있습니다.

. . . 드라마에서'' (p.~54)

관련 정보