Biblatex 相当于 \adddot 或 \isdot 以表示省略号?

Biblatex 相当于 \adddot 或 \isdot 以表示省略号?

在 BibLaTeX 中,有一个命令可以将插入参考文献中的点转换为缩写点,\isdot,从而可以更精细地控制标点。还有各种命令,例如\addperiod\addcomma等,用于类似目的。在某些语言中,书目样式使用省略号 (…) 来标记短标题,例如

J.杜邦,标题缩写…,第 16 页。

或者,没有页码引用,

J.杜邦,标题缩写…

但不是,

J.杜邦,标题缩写…

有没有办法用 BibLaTeX 实现这一点?

\DeclareFieldFormat{shorttitle}{\textit{#1}\printtext{\dots\isdot}}

似乎不起作用,而且也不起作用,

\renewcommand{\bibfootnotewrapper}[1]{\bibsentence #1\adddot}

編輯:MWE

\documentclass{article}

\usepackage[french]{babel}
\usepackage{fontspec}

\usepackage{filecontents}

\begin{filecontents}{test.cbx}
\ProvidesFile{test.cbx}
\RequireCitationStyle{verbose}

\DeclareFieldFormat[book]{citetitle}{\textit{#1}\printtext{\dots}\isdot}

\DeclareFieldFormat[article]{citetitle}{\mkbibquote{#1\printtext{\dots}\isdot}}

%\renewcommand{\bibfootnotewrapper}[1]{\bibsentence #1\adddot}

\end{filecontents}

\begin{filecontents}{test.bbx}
\ProvidesFile{test.bbx}
\RequireBibliographyStyle{verbose}

\end{filecontents}


\begin{filecontents}{\jobname.bib}
@book{akkerman_studien_1937,
    title = {Studien zum Karlmeinet: der dritte Abschnitt der Kompilation und sein Verh\"{a}ltnis zum ersten},
    shorttitle = {Studien zum Karlmeinet},
    author = {Jan Akkerman},
    year = {1937}
}

@article{dupont_2002,
    title = {Les chansons de geste: sous-titre particulièrement long que l'on va oublier},
    volume = {28},
    shorttitle = {Les chansons de geste},
    journal = {Revue de philologie romane},
    author = {Dupont, Jean},
    gender = {sm},
    year = {2002},
    pages = {3--22}
}

\end{filecontents}

\usepackage[babel]{csquotes}
\usepackage[backend=biber, 
           style=test]{biblatex}

\addbibresource{\jobname.bib}

\begin{document}

\footcite{akkerman_studien_1937} %OK

\footcite{dupont_2002} %OK 

\footcite[p.~50]{akkerman_studien_1937} %OK

\footcite[p.~50]{dupont_2002} %OK

\footcite{akkerman_studien_1937} %NOT OK

\footcite{dupont_2002} %OK

\printbibliography

\end{document}

这是我编译后遇到的问题: 摘自显示该问题的 PDF

答案1

Unicode 引擎和 pdfLaTeX 在处理省略号方面存在差异。此差异已在biblatex3.10 中得到解决(https://github.com/plk/biblatex/issues/514https://github.com/plk/biblatex/commit/5de1c77d639e4fdea5506bfdb3c90ec63be8c35c)。现在所有引擎都将省略号视为句末句号。如果您使用的是旧版本,请参阅编辑历史以寻求解决方案。

现在您可以使用\isdot来抑制省略号后的句号,但允许使用逗号。

平均能量损失

\documentclass{article}
\usepackage[french]{babel}
\usepackage{fontspec}
\usepackage{filecontents}

\begin{filecontents}{\jobname.bib}
@book{akkerman_studien_1937,
    title      = {Studien zum Karlmeinet: der dritte Abschnitt der Kompilation und sein Verh\"{a}ltnis zum ersten},
    shorttitle = {Studien zum Karlmeinet},
    author     = {Jan Akkerman},
    year       = {1937},
}

@article{dupont_2002,
    title      = {Les chansons de geste: sous-titre particulièrement long que l'on va oublier},
    volume     = {28},
    shorttitle = {Les chansons de geste},
    journal    = {Revue de philologie romane},
    author     = {Dupont, Jean},
    gender     = {sm},
    year       = {2002},
    pages      = {3--22},
}
\end{filecontents}

\usepackage[babel]{csquotes}
\usepackage[backend=biber,
           style=verbose]{biblatex}

\addbibresource{\jobname.bib}


\DeclareFieldFormat[book]{citetitle}{\mkbibemph{#1}\dots\isdot}
\DeclareFieldFormat[article]{citetitle}{\mkbibquote{#1\dots\isdot}}

\begin{document}
Lorem \footcite{akkerman_studien_1937} %OK
ipsum \footcite{dupont_2002} %OK
dolor\footcite[50]{akkerman_studien_1937} %OK
sit\footcite[50]{dupont_2002} %OK
amet\footcite{akkerman_studien_1937} %NOT OK
foo\footcite{dupont_2002} %OK
\end{document}

示例文档的脚注

相关内容