liubenyuan / nudtpaper

A LaTeX template for Master/PhD Thesis of NUDT
361 stars 153 forks source link

NUDTPaper默认文献处理工具改为biber #29

Open liubenyuan opened 4 years ago

liubenyuan commented 4 years ago

之前nudtpaper的bst是我从北邮论文模板中提取的,由于我不懂bst语法(也不懂biber。。。惭愧),维护起来较为困难。

hushidong @hushidong 是biblatex-gb7714-2015 包的作者。他最新提交的 pull #27 可供大家使用biber处理文献。biblatex-gb7714-2015目前已被texlive收录,大家只需安装biberbiblatex-gb7714-2015即可使用。

今后,nudtpaper将默认使用biber,原因是:参考文献格式规范,且有大牛维护,可让nudtpaper的文献格式更规范、更好处理。

大家有问题可以先在这里查看升级提示,如果没有找到对应的答案,可以提交issue并at @hushidong ,或者去biblatex-gb7714-2015 项目提交issue,点心(star:)

谢谢大家的支持!

liubenyuan commented 4 years ago

建议最终版使用方正字体,更标准。 [2020/07/10] #30 tilde符号还需安装FreeSerif字体,下载链接FreeSerif

hushidong commented 4 years ago

使用biber时,编译命令说明见: https://github.com/liubenyuan/nudtpaper/wiki

好的,你直接改就行,对整个格式把握你更熟悉。包括那个波浪号,我是从xecjk的unicode symbol里找的像一点的,有合适的你改过来就行。

liubenyuan commented 4 years ago

31

[2020/07/11] 目前无论biber还是bibtex,上标索引都是citeupcite,行内非上标索引parenciteinlinecite

好的,你直接改就行,对整个格式把握你更熟悉。包括那个波浪号,我是从xecjk的unicode symbol里找的像一点的,有合适的你改过来就行。

就用FreeSerif字体,对于没有找到字体的同学,可以自行下载并用fc-cache -fvr更新

charryzzz commented 3 years ago

用biber不能修改参考文献 *bib的位置吗

hushidong commented 3 years ago

参考如下修改:

1 \addbibresource{bibfile1.bib} %本地数据源
2 \addbibresource{bibfile2.bib}
3 \addbibresource[location=local]{D:/zlatexreference/paperone.bib}
4 \addbibresource[location=remote]{http://www.citeulike.org/bibtex/group/9517} %网络数据源
5 \addbibresource[location=remote,label=lan]{ftp://192.168.1.57/~user/file.bib}
charryzzz commented 3 years ago

我测试了一下,在thesis.tex 里修改bib 文件的位置没有用,只有在nudtpaper.cls中修改bib文件的位置才行

charryzzz commented 3 years ago

\addbibresource[location=local]{D:/zlatexreference/paperone.bib}

请问这个代码是加在什么位置?是在thesis.tex中,还是nudtpaper.cls里?

hushidong commented 3 years ago

导言区就行

charryzzz commented 3 years ago

导言区就行

建议把.cls 中的\addbibresource[location=local]{ref/refs.bib}删掉,因为我就是删掉ref/refs.bib后,再修改用\addbibresource[location=local]{D:/zlatexreference/paperone.bib} 就无效了,应该把.bib的路径都放在thesis.tex里指定

hushidong commented 3 years ago

可以的,这样会比较好,你可以做个pr。

charryzzz commented 3 years ago

@hushidong 大佬你好,现有的biber生成的参考文献都会带有电子版的地址,因为在提交论文的时候,一般是没有电子版的网络地址的,可否把这一项去掉?或者加一个开关?

hushidong commented 3 years ago

使用url=false,doi=false选项,

charryzzz commented 3 years ago

使用url=false,doi=false选项,

谢谢,还有一个问题请教: *.bib文献库中包含了一些乱码,如(40–110 µm,从Elsevier导出来的时候就是这样)如果用biber编译就会报错,用bibtex就没问题,请问有解决办法吗,含有乱码的条目比较多...

hushidong commented 3 years ago

一般biber是更不容易出现问题的,因为它全面支持utf字符,相比bibtex要强的。你上面的字符显然也是不会有问题的。

比如:

\documentclass{article}
\usepackage[backend=biber,style=gb7714-2015]{biblatex}%citexref=true

\begin{filecontents}{\jobname.bib}
@incollection{article3,
  author =   {Sally Scribe},
  title =    {40–110 µm},
  pages =    {1--20},
}
\end{filecontents}
\addbibresource{\jobname.bib}

\begin{document}
\cite{article3}
\printbibliography
\end{document} 

结果为:

图片

那么你出现错误的可能性就不好说了,你的bib文件的编码是否是utf8? 你最好用一个简单的例子来测试一下,然后把例子和错误结果发上来。

charryzzz commented 3 years ago

@hushidong 感谢回复 这个乱码是在abstract里,如果乱码仅仅存在于title,论文模板是可以编译成功的。我的bib文件的编码是utf8的 最后在cls文件中加入 \DeclareSourcemap{ \maps[datatype=bibtex]{ \map{ \step[fieldset=abstract, null] } } } 可以忽略摘要,模板work了

hushidong commented 3 years ago

摘要和标题本质是一样的,标题能处理这些字符说明摘要也是没有问题的,更大的可能是你的摘要里头有一些其它的需要转义的字符字符没有处理,你可以检查一下。

比如:

\documentclass{article}
\usepackage[backend=biber,style=gb7714-2015]{biblatex}%citexref=true

\begin{filecontents}{\jobname.bib}
@incollection{article3,
  author =   {Sally Scribe},
  title =    {title},
  abstract =    {40–110 µm},
  pages =    {1--20},
}
\end{filecontents}
\addbibresource{\jobname.bib}

\begin{document}
\cite{article3}
\printbibliography
\end{document} 

结果为:

当然你这么处理可以的。你找了个好技巧呢,一般大家不太会自己去看biblatex的文档。加的那段放导言区也行的。 的确DeclareSourcemap现在已经改成可以使用多次了,1年前你这个技巧还不能用,而DeclareStyleSourcemap3.7版本后就可以使用多次了,DeclareSourcemap则要更晚一下。

foxwho commented 3 years ago

为什么下载的模板直接运行跑不通呢,只要一加bib就有问题,具体报错如下: INFO - This is Biber 2.14 INFO - Logfile is 'refs.blg' ERROR - Cannot find 'refs.bcf'! INFO - ERRORS: 1

hushidong commented 3 years ago

上述问题,已解决,下次如有新的问题,请开新的issue。

hushidong commented 3 years ago

使用texstudio时,选择biber选项,那么设置默认文献工具为biber:

图片

不使用biber时, 图片

设置完毕后点击构建并查看按钮 图片 ,即可完成自动编译。