Interspeech 模板破坏了 biblatex

Interspeech 模板破坏了 biblatex

我在尝试使用 INTERSPEECH 2023 模板撰写论文时遇到了一个奇怪的问题(可从这里)。它通常用于bibtex生成参考书目,但据我所知,它不支持类似于

\AtEveryBibitem{\clearlist{language}}
\AtEveryBibitem{\clearfield{note}}

使用 时可用biblatex。出于这个原因,我尝试切换到,biblatex但这会导致以下错误:

]
! Missing number, treated as zero.
<to be read again> 
                   \relax 
l.119 
      
A number should have been here; I inserted `0'.
(If you can't figure out why I needed to see a number,
look up `weird error' in the index to The TeXbook.)

! Illegal unit of measure (pt inserted).
<to be read again> 
                   \relax 
l.119 
      
Dimensions can be in units of em, ex, in, pt, pc,
cm, mm, dd, cc, nd, nc, bp, or sp; but yours is a new one!
I'll assume that you meant to say pt, for printer's points.
To recover gracefully from this error, it's best to
delete the erroneous units; e.g., type `2' to delete
two letters. (See Chapter 27 of The TeXbook.)

! Missing number, treated as zero.
<to be read again> 
                   }
l.119 
      
A number should have been here; I inserted `0'.
(If you can't figure out why I needed to see a number,
look up `weird error' in the index to The TeXbook.)

! Illegal unit of measure (pt inserted).
<to be read again> 
                   }
l.119 

我已经尝试过以下几件事:

  • main.tex 的第 119 行基本上包含 \printbibliography 命令。当我替换时,INTERSPEECH2023.sty问题就消失了。
  • 当我搜索INTERSPEECH2023.sty“参考书目”、“参考文献”、“引文”等术语时,我只找到了一个片段,但修改它却没有任何帮助。
  • 如果错误消息稍微长一点(如果它给出了上下文的一点点内容),那么我想我可以调试并解决问题,但我无法从这么多消息中真正得到任何东西。如果有任何技巧可以使日志输出更详细,我也会很感激。

梅威瑟:

(你需要背面的“INTERSPEECH2023.sty”项目

% main.tex

\documentclass{INTERSPEECH2023}
\usepackage[utf8]{inputenc}
\usepackage[english]{babel}

\usepackage{comment}

\usepackage[
backend=biber,
style=alphabetic,
sorting=ynt
]{biblatex}
\addbibresource{mybib.bib}

\title{Bibliography management: \texttt{biblatex} package}
\name{Overleaf}
\date{ }

\begin{document}

\maketitle

Using \texttt{biblatex} you can display bibliography divided into sections, 
depending of citation type. 
Let's cite! The Einstein's journal paper \cite{einstein}.

\printbibliography

\end{document}


% mybib.bib

@article{einstein,
  author =       "Albert Einstein",
  title =        "{Zur Elektrodynamik bewegter K{\"o}rper}. ({German})
                 [{On} the electrodynamics of moving bodies]",
  journal =      "Annalen der Physik",
  volume =       "322",
  number =       "10",
  pages =        "891--921",
  year =         "1905",
  DOI =          "http://dx.doi.org/10.1002/andp.19053221004",
  keywords =     "physics"
}

答案1

一般来说,使用会议模板的唯一好理由是当您想要将您的作品提交给该会议时。如果您想这样做,通常不应更改引文和参考书目设置:您不应将文档切换到biblatex(即使这样做没有错误),也不应选择不同的样式(BibTeX 和biblatex样式不兼容,并且大多数样式没有一对一的替换,因此这几乎是不可避免的)。

您在文档中收到的错误是由于该类重新定义了分段命令\section和朋友,使得它们不再具有带星号的变体 ( \section*) 。默认情况下,biblatex标题排版为带星号的\section*,这会导致此处出错。

您可以强制使用编号标题,如下所示

\printbibliography[heading=bibnumbered]

通过这一更改,文档已为我编译。

但正如我所说,我认为您不应该尝试在这里使用。坚持使用模板使用的样式,并使用 JabRef 之类的工具biblatex删除文件中不需要的字段。.bib

相关内容