biblatex 似乎在对 sameauthor sameyear 参考文献进行排序时会考虑符号

biblatex 似乎在对 sameauthor sameyear 参考文献进行排序时会考虑符号

我在使用 biblatex-apa 时遇到了一个问题,我有多个参考文献,作者和年份相同,有一次它使用“¿”符号来对参考文献进行排序。文档和许多参考文献都是西班牙语。我使用 texstudio 和 luatex 进行了这样的设置。

\documentclass[12pt]{article}  
\usepackage[spanish, mexico]{babel}

\usepackage{csquotes}  
\usepackage[backend=biber, style=apa]{biblatex}  
\DeclareLanguageMapping{spanish}{spanish-apa}  
\addbibresource{reffinal.bib}  

\makeatletter  
\DefineBibliographyExtras{spanish}  
{\setcounter{smartand}{1}% or some other value  
    \let\lbx@finalnamedelim=\lbx@es@smartand  
    \let\lbx@finallistdelim=\lbx@es@smartand}  
\makeatother      

\begin{document}  
    \printbibliography  
\end{document}  

我有一些这样的参考:

@book{minedu2017a,  
    author = {{Ministerio de Educación}},  
    address = {{Lima}},  
    title = {Programa Curricular de Educación Secundaria},  
    year = {2017},  
    url = {http://www.minedu.gob.pe/curriculo/pdf/programa-curricular-educacion-secundaria.pdf}  
}  

@book{minedu2017b,  
  author = {{Ministerio de Educación}},  
  address = {{Lima}},  
  publisher = {{Oficina de Medición de la Calidad de los Aprendizajes}},  
  title = {¿Qué sucede con los aprendizajes en la transición de primaria a secundaria?. Una mirada desde la equidad y la eficacia escolar diferenciada},  
  year = {2017},  
  url = {https://umc.minedu.gob.pe/wp-content/uploads/2017/08/Qu%c3%a9-sucede-con-los-aprendizajes-en-la-transici%c3%b3n-de-primaria-a-secundaria.pdf}  
}

根据 APA 7th 规则,这些应该按字母顺序排列,在参考文献标题开头省略“A”、“An”和“The”等单词,这也合理地排除了符号。然而,它们以相反的顺序排列,将以“¿”开头的参考文献放在第一位。我曾尝试使用 \symbol{"00BF} 将此符号写为 unicode,但结果仍然一样。

有没有什么办法可以解决这个问题?或者覆盖引用顺序?

提前致谢

答案1

如有任何与 APA 格式不一致的情况,请报告https://github.com/plk/biblatex-apa/issues。开发人员只有了解问题才能解决问题。

您可以忽略标题字段中的前导标点符号,如下\DeclareNosort所示

\documentclass[12pt]{article}
\usepackage[spanish, mexico]{babel}

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

\DeclareNosort{
  \nosort{setnames}{\regexp{\p{General_Category=Punctuation}}}
  \nosort{settitles}{\regexp{\A\p{General_Category=Punctuation}+}}
  \nosort{settitles}{\regexp{\A(?:The|An|A)\s+}}
}

\makeatletter
\DefineBibliographyExtras{spanish}
{\setcounter{smartand}{1}% or some other value
    \let\lbx@finalnamedelim=\lbx@es@smartand
    \let\lbx@finallistdelim=\lbx@es@smartand}
\makeatother

\begin{filecontents}{\jobname.bib}
@book{minedu2017a,
  author  = {{Ministerio de Educación}},
  address = {{Lima}},
  title   = {Programa Curricular de Educación Secundaria},
  year    = {2017},
  url     = {http://www.minedu.gob.pe/curriculo/pdf/programa-curricular-educacion-secundaria.pdf}
}
@book{minedu2017b,
  author    = {{Ministerio de Educación}},
  address   = {{Lima}},
  publisher = {{Oficina de Medición de la Calidad de los Aprendizajes}},
  title     = {¿Qué sucede con los aprendizajes en la transición de primaria a secundaria?. Una mirada desde la equidad y la eficacia escolar diferenciada},
  year      = {2017},
  url       = {https://umc.minedu.gob.pe/wp-content/uploads/2017/08/Qu%c3%a9-sucede-con-los-aprendizajes-en-la-transici%c3%b3n-de-primaria-a-secundaria.pdf}
}
\end{filecontents}
\addbibresource{\jobname.bib}


\begin{document}
  Lorem \autocite{minedu2017a,minedu2017b}
  \printbibliography
\end{document}

先“P”,然后“Q”

\DeclareNosortv9.16 (2022/06/22)中的默认值为biblatex-apa(apa.bbx,第 264-267 页

\DeclareNosort{
  \nosort{setnames}{\regexp{\p{General_Category=Punctuation}}}
  \nosort{settitles}{\regexp{\A(?:The|An|A)\s+}}
}

相关内容