ノート内の2番目の引用は追加のピリオドになります

ノート内の2番目の引用は追加のピリオドになります

note= 自体に \cite が含まれている場合、2 番目の \cite の先頭にはピリオド "." が付きます。

例えば、以下の出力ではAnother sentence.[. 2]と表示されますが、Another sentence.[2]

[1]
References
[1] A sentence.[2] Another sentence.[. 2] Yet another sentence[2]
[2] An Author. “A Title”. In: ().

スクリーンショットは次のとおりです:

出力に「2」ではなく「. 2」と表示される

MWE は次のとおりです。

\documentclass{article}
\usepackage{biblatex}
\addbibresource{\jobname.bib}

\begin{filecontents}{\jobname.bib}
@misc{AFootnote,
  note={A sentence.\cite{AnArticle}
    Another sentence.\cite{AnArticle}
    Yet another sentence.\cite{AnArticle}\nopunct}
}

@article{AnArticle,
author={An Author},
title={A Title},
}
\end{filecontents}

\begin{document}

\cite{AFootnote}

\printbibliography

\end{document}

例をコンパイルするには、次を使用します。

        pdflatex book
        biber book
        pdflatex book
        biber book
        pdflatex book
        pdflatex book

私は macOS で次のバージョンの biber と pdflatex を実行しています:

bash-3.2$ biber --version
biber version: 2.19
bash-3.2$ pdflatex --version
pdfTeX 3.141592653-2.6-1.40.25 (TeX Live 2023)
kpathsea version 6.3.5
Copyright 2023 Han The Thanh (pdfTeX) et al.
There is NO warranty.  Redistribution of this software is
covered by the terms of both the pdfTeX copyright and
the Lesser GNU General Public License.
For more information about these matters, see the file
named COPYING and the pdfTeX source.
Primary author of pdfTeX: Han The Thanh (pdfTeX) et al.
Compiled with libpng 1.6.39; using libpng 1.6.39
Compiled with zlib 1.2.13; using zlib 1.2.13
Compiled with xpdf version 4.04
bash-3.2$ 

はい、これはかなり奇妙だとわかっています。潜在的な出版社は、各章の終わりに脚注と参考文献を混ぜて掲載することを好むため、脚注には、note 付きの misc を使用しています。脚注の中には、他のソースを参照しているものもあります。奇妙なのは、先頭にピリオドがあるのは 2 番目の引用であることです。\supercite を使用すると、先頭に「.」が付いた同様の結果になります。

答え1

これは基本的に同じ問題ですhttps://github.com/plk/biblatex/issues/988そしてbiblatex: 注釈フィールドの \parencite が authoryear-icomp スタイルで誤った ; を出力する(同様にbiblatex: \DeclareCiteCommand は \printfield と \printnames の間にセミコロンを追加しますが、): 参考文献のコンテキスト内では、コマンドbiblatexの句読点バッファーを自動的にリセットしません\...cite。これにより、\...citeコマンドは参考文献マクロや参考文献内のテキストを生成するその他のコードと直接連携できますbiblatexが、それ自体では生成されないテキストや句読点 (フィールドの実際の内容など) がある場合には、特にうまく機能しませんbiblatex

リンクでは他の解決策についても説明されていますが、 が基本的に常に通常の脚注である使用例では、そのようなエントリの が参考文献にあると想定しない方が@miscよいでしょう。biblatexnote

\documentclass{article}
\usepackage{biblatex}

\DeclareFieldFormat[misc]{note}{%
  \togglefalse{blx@bibliography}%
  #1%
}

\begin{filecontents}{\jobname.bib}
@misc{AFootnote,
  note = {A sentence.\cite{AnArticle}
          Another sentence.\cite{AnArticle}
          Yet another sentence.\cite{AnArticle}\nopunct},
}
@article{AnArticle,
  author = {An Author},
  title  = {A Title},
}
\end{filecontents}
\addbibresource{\jobname.bib}

\begin{document}
\cite{AFootnote}

\printbibliography
\end{document}

[1] ある文。[2] 別の文。[2] さらに別の文。[2] [2] 著者。「タイトル」。In: ()。


注意:notes2bibパッケージ通常のコマンドに似たインターフェイスを使用して、参考文献に脚注を送信できます\footnote。特に、脚注をファイルに手動で書き込む必要はありません.bib(正直なところ、意味的には、脚注は実際にはファイルに属していません。内部的には、パッケージがユーザーと同じことを行いますが、エンド ユーザーからは隠されています)。このパッケージは、注釈が印刷される前に句読点バッファーを使用しない「脚注」専用のドライバーを定義しているため、ほとんどの「通常の」状況で同じ問題に悩まされることはありません。

\documentclass{article}
\usepackage[backend=biber, style=numeric, sorting=none,]{biblatex}
\usepackage{notes2bib}

\begin{filecontents}{\jobname.bib}
@article{AnArticle,
  author = {An Author},
  title  = {A Title},
}
\end{filecontents}
\addbibresource{\jobname.bib}

\begin{document}
\bibnote{A sentence.\cite{AnArticle}
          Another sentence.\cite{AnArticle}
          Yet another sentence.\cite{AnArticle}}

\printbibliography
\end{document}

[1] ある文。[2] 別の文。[2] さらに別の文。[2] [2] 著者。「タイトル」。In: ()。

同様の修正が必要な場合はnotes2bib

\DeclareFieldFormat[bibnote]{note}{%
  \togglefalse{blx@bibliography}%
  #1%
}

関連情報