![スタイル=アルファベットのスーパーフルサイト](https://rvso.com/image/305907/%E3%82%B9%E3%82%BF%E3%82%A4%E3%83%AB%3D%E3%82%A2%E3%83%AB%E3%83%95%E3%82%A1%E3%83%99%E3%83%83%E3%83%88%E3%81%AE%E3%82%B9%E3%83%BC%E3%83%91%E3%83%BC%E3%83%95%E3%83%AB%E3%82%B5%E3%82%A4%E3%83%88.png)
私は\superfullcite{}
説明を使用していますここ私が理解している限りでは (残念ながらあまり理解していないのですが)、これは基本的に、\footfullcite{}
複数回引用されていても脚注として 1 回だけ表示される です。 を使用すると ( を使用\AtEveryCiteKey{\clearfield{...}}
)、(短い) 引用をフッター (または tufte の余白) に配置し、(完全で長い) 引用を最後に配置できるため、非常に気に入っています。
ただし、 が使用されている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}
。)
ムウェ
\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}