스타일=알파벳인 완전완전사이트

스타일=알파벳인 완전완전사이트

\superfullcite{}설명을 사용하고 있습니다여기. 제가 이해한 바에 따르면(별로 많지는 않습니다), 이는 \footfullcite{}여러 번 인용하더라도 기본적으로 각주로 한 번만 나타나는 것입니다. 나는 이것을 매우 좋아합니다. 왜냐하면 (를 사용하여 \AtEveryCiteKey{\clearfield{...}}) 바닥글(또는 술의 여백)에 (작은) 인용을 넣고 끝에 (완전하고 긴) 인용을 포함할 수 있기 때문입니다.

그러나 그것은 를 사용 numeric-comp하며 내 인용에 대한 링크를 다음과 같이 만들고 싶습니다 [XYZ99]. (내 생각에는 그럴 것 같습니다 alphabetic.) 이렇게 하면 알파벳순으로 정렬할 때 엉망이 되는 암시적인 숫자 순서가 없습니다. 그러나 사람이 참고문헌만 읽는다면.

이 문제를 어떻게 해결해야 할지 잘 모르겠습니다. 누락된 것은 기본적으로 라벨 변경뿐이지만 이를 수행하는 방법을 잘 모르겠습니다.

  • 라벨을 계속 사용 numeric-comp하고 sorting=true어떻게든 수정하시겠습니까?
  • 사용을 시작 alphabetic하고 작업을 시작하시겠습니까 \superfullcite{}?

MWE는 이것이다

% !TEX TS-program = pdflatex
% !TEX encoding = UTF-8 Unicode
%\documentclass[a4paper, nobib, notoc, symmetric, marginals=raggedouter, justified]{tufte-book} % 
%\morefloats
%\morefloats
\documentclass{article}
\usepackage{csquotes}
\usepackage{hyphenat} 
\usepackage[american]{babel}


\usepackage[block=nbpar, firstinits=false, backref=true, maxcitenames=1, maxbibnames=99,  isbn=false, doi=false, url=false, eprint=false, style=numeric-comp, backend=biber, sorting=none, citetracker=true, defernumbers=true]{biblatex}

\bibliography{biblatex-examples}
%%=====
\makeatletter
\DeclareCiteCommand{\notefullcite}[\mkbibbrackets]
  {\usebibmacro{cite:init}%
   \usebibmacro{prenote}}
  {\usebibmacro{citeindex}%
   \usebibmacro{notefullcite}%
   \usebibmacro{cite:comp}}
  {}
  {\usebibmacro{cite:dump}%
   \usebibmacro{postnote}}

\newbibmacro*{notefullcite}{%
  \ifciteseen
    {}
    {\footnotetext[\thefield{labelnumber}]{%
       \usedriver{}{\thefield{entrytype}}.}}}


% Declare superfullcite and remap it to cite
\DeclareCiteCommand{\superfullcite}[\cbx@superscript]%
  {\usebibmacro{cite:init}%
   \let\multicitedelim=\supercitedelim
   \iffieldundef{prenote}
     {}
     {\BibliographyWarning{Ignoring prenote argument}}%
   \iffieldundef{postnote}
     {}
     {\BibliographyWarning{Ignoring postnote argument}}}
  {\usebibmacro{citeindex}%
   \usebibmacro{superfullcite}%
   \usebibmacro{cite:comp}}
  {}
  {\usebibmacro{cite:dump}}

\newbibmacro*{superfullcite}{%
  \ifciteseen
    {}
    {\xappto\cbx@citehook{%
       \noexpand\footnotetext[\thefield{labelnumber}]{%
         \fullcite{\thefield{entrykey}}.}}}}

\newrobustcmd{\cbx@superscript}[1]{%
  \mkbibsuperscript{#1}%
  \cbx@citehook
  \global\let\cbx@citehook=\empty}
\let\cbx@citehook=\empty
\makeatother

%\renewcommand{\cite}[1]{\superfullcite{#1}} %remap \superfullcite to \cite



\begin{document}
Some filler text \notefullcite{cotton}, then some more text
\notefullcite{hammond}. Perhaps some more text and the same
citation again \notefullcite{hammond}. Yet another one
\notefullcite{knuth:ct:a}. Now all again
\notefullcite{cotton,hammond,knuth:ct:a}.

Some filler text,\superfullcite{augustine} then some more
text.\superfullcite{companion} Perhaps some more text and the
same citation again.\superfullcite{companion} Yet another
one.\superfullcite{kastenholz} Now all
again.\superfullcite{augustine,companion,kastenholz}
\printbibliography

\end{document}

보시다시피 저는 사용 하지만 비슷한 매크로가 작동하지 않기 sorting=none때문에 스타일을 알파벳으로 변경할 수 없습니다 . cite:init누군가 이것이 무엇을 하는지 자세히 설명해줄 수 있나요? biblatex 문서를 검색하면 0개의 결과가 나타납니다.

답변1

\sfcite표준 인용을 인쇄하고 \footfullcite인용이 처음 발생할 때 전체 서지 항목이 포함된 각주를 추가하는 새로운 명령을 정의할 수 있습니다 .

\DeclareCiteCommand{\sfcite}[\mkbibbrackets]
  {\usebibmacro{prenote}}
  {\usebibmacro{citeindex}%
   \usebibmacro{cite}%
   \ifciteseen
     {}
     {\footfullcite{\thefield{entrykey}}}}
  {\multicitedelim}
  {\usebibmacro{postnote}}

(위 정의는 와 함께 작동하도록 설계되었지만 alphabetic을 삭제하면 [\mkbibbrackets]다른 많은 표준 스타일과도 작동합니다. 기본 개념은 정의 \ifciteseen{}{\footfullcite{\thefield{entrykey}}}뒤에 블록을 추가하는 것입니다.)\usebibmacro{cite}

MWE

\documentclass[british]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[style=alphabetic,backend=biber,citetracker=constrict]{biblatex}
\usepackage[colorlinks=true]{hyperref}

\addbibresource{biblatex-examples.bib}

\DeclareCiteCommand{\sfcite}[\mkbibbrackets]
  {\usebibmacro{prenote}}
  {\usebibmacro{citeindex}%
   \usebibmacro{cite}%
   \ifciteseen
     {}
     {\footfullcite{\thefield{entrykey}}}}
  {\multicitedelim}
  {\usebibmacro{postnote}}

\begin{document}
Lorem \sfcite{wilde} ipsum \sfcite{cicero} dolor \sfcite{wilde} sit
\sfcite{geer} amet \sfcite{knuth:ct:a,knuth:ct:b}.

Cite again \sfcite{geer} and \sfcite{cicero}.
\end{document}

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

관련 정보