tuna / thuthesis

LaTeX Thesis Template for Tsinghua University
https://www.ctan.org/pkg/thuthesis
LaTeX Project Public License v1.3c
4.52k stars 1.07k forks source link

无法同时使用 biblatex 包和 translation (或 survey) 环境 #893

Closed SharzyL closed 1 year ago

SharzyL commented 1 year ago

编译环境

编译的系统:Linux (NixOS) TeX 发行版:TexLive 2023 模板版本:master (ea7722ac2bb504ac79b74a829314479d2ceb32f8) 模板类型:master

描述问题

如果使用 biblatex 来管理参考文献,并且使用 translation 环境,那么会出现如下报错:

./data/appendix.tex:3: LaTeX Error: Command \@bibunitname undefined.

See the LaTeX manual or LaTeX Companion for explanation.
Type  H <return>  for immediate help.
 ...

l.3 \begin{translation}

这是因为在 translation 环境中使用了 \@bibunitname 宏和 bibunit 环境,然而 biblatex 和 bibunit 是不兼容的。

https://github.com/tuna/thuthesis/blob/ea7722ac2bb504ac79b74a829314479d2ceb32f8/thuthesis.dtx#L6458-L6461

对于 survey 环境也有类似的问题。

复现上述问题的代码:

diff --git a/data/appendix.tex b/data/appendix.tex
index a955b4e..b9b50b2 100644
--- a/data/appendix.tex
+++ b/data/appendix.tex
@@ -1,5 +1,9 @@
 % !TeX root = ../thuthesis-example.tex

+\begin{translation}
+  翻译
+\end{translation}
+
 \chapter{补充内容}

 附录是与论文内容密切相关、但编入正文又影响整篇论文编排的条理和逻辑性的资料,例如某些重要的数据表格、计算程序、统计表等,是论文主体的补充内容,可根据需要设置。
diff --git a/thusetup.tex b/thusetup.tex
index 4eb5ae5..d2f6bf7 100644
--- a/thusetup.tex
+++ b/thusetup.tex
@@ -147,8 +147,8 @@

 % 参考文献使用 BibTeX + natbib 宏包
 % 顺序编码制
-\usepackage[sort]{natbib}
-\bibliographystyle{thuthesis-numeric}
+% \usepackage[sort]{natbib}
+% \bibliographystyle{thuthesis-numeric}

 % 著者-出版年制
 % \usepackage{natbib}
@@ -159,12 +159,12 @@
 % \bibliographystyle{thuthesis-bachelor}

 % 参考文献使用 BibLaTeX 宏包
-% \usepackage[style=thuthesis-numeric]{biblatex}
+\usepackage[style=thuthesis-numeric]{biblatex}
 % \usepackage[style=thuthesis-author-year]{biblatex}
 % \usepackage[style=apa]{biblatex}
 % \usepackage[style=mla-new]{biblatex}
 % 声明 BibLaTeX 的数据库
-% \addbibresource{ref/refs.bib}
+\addbibresource{ref/refs.bib}

 % 定义所有的图片文件在 figures 子目录下
 \graphicspath{{figures/}}
diff --git a/thuthesis-example.tex b/thuthesis-example.tex
index 8c3061a..4b7f15c 100644
--- a/thuthesis-example.tex
+++ b/thuthesis-example.tex
@@ -60,8 +60,8 @@
 \backmatter

 % 参考文献
-\bibliography{ref/refs}  % 参考文献使用 BibTeX 编译
-% \printbibliography       % 参考文献使用 BibLaTeX 编译
+%\bibliography{ref/refs}  % 参考文献使用 BibTeX 编译
+\printbibliography       % 参考文献使用 BibLaTeX 编译

 % 附录
 % 本科生需要将附录放到声明之后,个人简历之前
zepinglee commented 1 year ago

bibunits 是 bibtex 的解决方案,跟 biblatex 不兼容。

由于本科生的《参考文献的著录格式》有专门提到“二、英文文献著录规范”,所以我理解的是,附录 A 外文资料的“调研阅读报告”或“书面翻译”使用英文的参考文献格式。但是 biblatex 通常不能在一份文档的中间切换样式(比如从 GB/T 7714 到 APA),所以本科生的 surveytranlastion 环境使用了 bibunits 的方案。

zepinglee commented 1 year ago

@SharzyL 你可以再确认一下本科生的附录A 是不是必须用英文的参考文献样式,如果可以跟正文一样的 GB/T 7714,我们也可以添加 biblatex 支持。

SharzyL commented 1 year ago

分发给我们的《本科综合论文训练论文写作指南》中相关描述如下:

15. 附录A:为外文资料的调研阅读报告或书面翻译。调研阅读报告需附参考文献;书面翻译需注明外文资料原文的索引。标题为“外文资料的调研阅读报告或书面翻译”,用黑体小三号字,段前30pt,段后20pt,行距20pt。内容部分采用宋体小四号字,行距用固定值20pt,段前后0pt。 调研阅读报告的参考文献(或书面翻译对应的外文资料的原文索引)标题用宋体小四号字,段前20pt,段后6pt,行距20pt。内容用宋体五号字,取固定行距17pt,段前后3pt。

其中并没有指出参考文献的样式。考虑到翻译后的文本是用中文书写,是用中文的参考文献格式应当是合理的。

zepinglee commented 1 year ago

其中并没有指出参考文献的样式。考虑到翻译后的文本是用中文书写,是用中文的参考文献格式应当是合理的。

有道理,我晚上试一下添加 biblatex 支持。顺便问下 biblatex 的什么特性这么吸引你?

另外我有两个疑问:

  1. “参考文献著录格式(2019)”的“二、英文文献著录规范”列举了 APA, Chicago, MLA 是为何目的?难道只是给外文系用的吗?
  2. “调研阅读报告”的用什么样的格式?按照 @Harry-Chen,这部分用英文书写,所以搭配英文的参考文献格式。
SharzyL commented 1 year ago

用 biblatex 只是惯性,切换成 bibtex 对我来说也没有太大影响。

至于后面两个问题,从能看到的文件里面找不到相关的信息,感觉也没人管这个……

zepinglee commented 1 year ago

cdba5ba 中添加了 biblatex 的支持。

可以试试有没有别的问题。