フットサイトを使用するときに、繰り返される参考文献エントリを組み合わせる方法は?

Dec 10 2020

同じ出典を連続して数回引用すると、同じ項目で構成される参考文献リストが生成されます。


  1. 著者、タイトル
  2. 著者、タイトル
\begin{filecontents}{database.bib}
@Misc{key,
    author      = {author},
    title       = {title},
}
\end{filecontents}

\documentclass{article}
\usepackage[autocite=footnote,style=authortitle]{biblatex}
\bibliography{database.bib}
\begin{document}
\begin{itemize}
\item one point\autocite{key}
\item another one\autocite{key}
\end{itemize}
\end{document}

脚注のリストを次のように圧縮するにはどうすればよいですか。


1,2作者、タイトル

回答

1 R.N Dec 18 2020 at 21:36

脚注のリストを圧縮せず、1ページに1回だけ脚注を印刷するソリューションを提案します。

アイデアは、と呼ばれる引用コマンドを再定義すること\footciteです。次に、autocitebiblatexのオプションで受け入れられるようにするために、biblatex.cfgこの質問に従ってファイルに入れ、名前を付けmyfootnoteます。

また\footcite、が呼び出されると、常に\footnotemarkキーのラベル番号を使用して作成されます。次に、この質問によると\footcite、このページで初めて呼び出された場合は、も作成されます\footnotetext

結果のMWEは次のとおりです。

\documentclass{article}
\usepackage{filecontents}
\begin{filecontents}{biblatex.cfg}
    \ProvidesFile{biblatex.cfg}
    \DeclareCiteCommand{\footcite}%
    {\usebibmacro{prenote}}% 
    {%
        %   \renewcommand{\thefootnote}{\arabic{footnote}}% Switch to footnote with numbers
        \footnotemark[\thefield{labelnumber}]% Add the mark corresponding to the number entry% 
        \iffirstonpage{
            \footnotetext[\thefield{labelnumber}]{% Add the footnote text with same number entry.
                %\printfield{labelnumber}
                \printnames{labelname}% The name 
                \setunit{\printdelim{nametitledelim}}% separator
                \printfield[citetitle]{labeltitle}% The title
                \setunit{\addperiod\space}% separator
                \printfield{year}% The year
        }
        }{}% if not first on page
        %   \renewcommand{\thefootnote}{\alph{footnote}}% Switch back to footnote with letters.
    }%
    {\multicitedelim}
    {\usebibmacro{postnote}}
    \DeclareAutoCiteCommand{myfootnote}{\footcite}{\footcite}
    \endinput
\end{filecontents}

\begin{filecontents}{database.bib}
    @Misc{key,
        author      = {author},
        title       = {title},
    }
\end{filecontents}

\usepackage[autocite=myfootnote, style=numeric, pagetracker=true, backend=biber]{biblatex}
\bibliography{database.bib}
\begin{document}
\begin{itemize}
    \item one point\autocite{key}
    \item another one\autocite{key}
\end{itemize}
\newpage
\begin{itemize}
    \item one point\autocite{key}
    \item another one\autocite{key}
\end{itemize}
\end{document}

方法がわからない改善点の1つは、このハックを他のビブスタイルと互換性を持たせることです。実際、誰かがスタイルをalphabeticたとえばに切り替えると、コンパイルエラーが発生しますmissing numberfootnotemarkは番号ではなく、によって与えられたテキストを受け取るから\thefield{labelnumber}です。