verbose-trad1을 사용하여 처음부터 속기를 어떻게 사용합니까?

verbose-trad1을 사용하여 처음부터 속기를 어떻게 사용합니까?

LaTeX 문서에 biblatex, Biber 및을 사용하고 있습니다 . style=verbose-trad1다만, 속기를 사용할 때 처음으로 전체 제목을 인쇄하는 것이 아니라 각주에도 속기 약어가 처음으로 표시되도록 하고 싶습니다.

이 문제는 해결되었습니다.verbose 여기이미 있지만 스타일을 로 변경하면 작동하지 않습니다 verbose-trad1.

그래서 나는 단지 이렇게 말하고 싶습니다.

KpV

대신에

칸트 1968(이하 KpV로 인용)

처음 등장합니다.

이 문제를 해결하는 방법을 아시나요?

\documentclass{article}

\usepackage[style=verbose-trad1]{biblatex}

% Original definition
% \newbibmacro*{cite}{%
%   \usebibmacro{cite:citepages}%
%   \ifciteseen
%     {\iffieldundef{shorthand}
%        {\usebibmacro{cite:short}}
%        {\usebibmacro{cite:shorthand}}}
%     {\usebibmacro{cite:full}}}

\renewbibmacro*{cite}{%
  \usebibmacro{cite:citepages}%
  \iffieldundef{shorthand}
    {\ifciteseen
       {\usebibmacro{cite:short}}
       {\usebibmacro{cite:full}}}
    {\usebibmacro{cite:shorthand}}}

\usepackage{filecontents}

\begin{filecontents}{\jobname.bib}
@misc{A01,
  author = {Author, A.},
  year = {2001},
  title = {Alpha},
}
@misc{Kan68,
  shorthand = {KpV},
  author = {Kant, Immanuel},
  year = {1968},
  title = {Kritik der praktischen Vernunft},
}
\end{filecontents}

\addbibresource{\jobname.bib}

\begin{document}

\null\vfill% just for the example

Some text.\autocite{Kan68}

Some text.\autocite{Kan68}

Some text.\autocite{A01}

Some text.\autocite{A01}

\printshorthands

\printbibliography

\end{document}

답변1

이 재정의를 시도해 볼 수 있습니다

\renewbibmacro*{cite}{%
  \usebibmacro{cite:citepages}%
  \global\togglefalse{cbx:loccit}%
  \bibhypertarget{cite\the\value{instcount}}{%
    \iffieldundef{shorthand}
      {\ifciteseen
         {\ifciteibid
            {\usebibmacro{cite:ibid}}
            {\ifthenelse{\ifciteidem\AND\NOT\boolean{cbx:noidem}}
               {\usebibmacro{cite:idem}%
                \usebibmacro{cite:title}}
               {\ifnameundef{labelname}
                  {\usebibmacro{cite:title}}
                  {\usebibmacro{cite:name}%
                   \ifopcit
                     {\ifloccit
                {\usebibmacro{cite:loccit}}
                {\usebibmacro{cite:opcit}}}
                     {\usebibmacro{cite:title}}}}}%
          \usebibmacro{cite:save}}
         {\usebibmacro{cite:full}%
       \usebibmacro{cite:save}}}
      {\usebibmacro{cite:shorthand}}}}

우리는 항상 속기의 첫 번째 기회를 제공합니다(전체 인용은 아님). 효과적으로 우리는 수표 순서를 shorthand및 로 교환합니다 \ifciteseen.

MWE

\documentclass{article}
\usepackage[style=verbose-trad1]{biblatex}

\renewbibmacro*{cite}{%
  \usebibmacro{cite:citepages}%
  \global\togglefalse{cbx:loccit}%
  \bibhypertarget{cite\the\value{instcount}}{%
    \iffieldundef{shorthand}
      {\ifciteseen
         {\ifciteibid
            {\usebibmacro{cite:ibid}}
            {\ifthenelse{\ifciteidem\AND\NOT\boolean{cbx:noidem}}
               {\usebibmacro{cite:idem}%
                \usebibmacro{cite:title}}
               {\ifnameundef{labelname}
                  {\usebibmacro{cite:title}}
                  {\usebibmacro{cite:name}%
                   \ifopcit
                     {\ifloccit
                {\usebibmacro{cite:loccit}}
                {\usebibmacro{cite:opcit}}}
                     {\usebibmacro{cite:title}}}}}%
          \usebibmacro{cite:save}}
         {\usebibmacro{cite:full}%
       \usebibmacro{cite:save}}}
      {\usebibmacro{cite:shorthand}}}}

\addbibresource{biblatex-examples.bib}

\begin{document}
Some text.\autocite{kant:kpv}

Some text.\autocite{kant:kpv}

Some text.\autocite{worman}

Some text.\autocite{worman}

\printshorthands
\printbibliography
\end{document}

여기에 이미지 설명을 입력하세요

관련 정보