Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

关于附录中的引用 #343

Closed
limjcst opened this issue May 9, 2018 · 10 comments
Closed

关于附录中的引用 #343

limjcst opened this issue May 9, 2018 · 10 comments
Assignees

Comments

@limjcst
Copy link

limjcst commented May 9, 2018

样例中,“外文资料原文”一章的参考文献是手动编号,而我想写阅读报告,尝试了一下在附录中添加单独的参考文献索引,遇到如下一些问题,

  • multibib包可以添加单独的目录,但生成的附录的参考文献出现在了目录中,怎么去掉呀?multibib包的一个不足是需要为各个参考文献设置单独的引用命令。
  • bibunits包可以在不改变主要内容的同时,即引用的命令相同,区分不同的参考文献,但和模板加载的natbib冲突导致参考文献格式不对,有可能在我的文档中取消natbib吗?

能不能在样例中添加一个附录中包含参考文献的样例呢?
另外有个小建议,shuji.texdata/cover.tex中的thusetup可以单独写在一个配置文件中,以免两处的配置不一致。

@xueruini
Copy link
Contributor

xueruini commented May 9, 2018

能不能在样例中添加一个附录中包含参考文献的样例呢?

自动编号?

@limjcst
Copy link
Author

limjcst commented May 10, 2018

对,允许$^{[1]}$部分用类似\cite{Donald1984}实现,参考文献列表直接调用\bibliography

@xueruini
Copy link
Contributor

@limjcst
Copy link
Author

limjcst commented May 16, 2018

对照 #48,使用multibib部分解决了附录中的参考文献问题,需要注意的地方贴在这里。

  • 分别编号

    导言区使用\usepackage[resetlabels]{multibib}可以让不同的参考文献列表分别编号。

  • 引用相同文献的编号错乱

    我使用了不同的bib文件,把相同的文献复制了一份,起了不同的名字。。。给不同bib文件里的文献用不同的格式或前缀命名似乎比较好。

  • 附录的参考文献出现在了目录里

    在运行xelatexbibtexxelatex后,把main.toc文件里不想出现在目录的行删去,再运行xelatex就可以达到目的了。windows的cmd命令不是很好用,如果这一步可以自动化,会方便很多。

@zepinglee
Copy link
Contributor

zepinglee commented Jul 9, 2018

biblatex 算是比较先进的方案,可以处理多个参考文献,而且能自动按照拼音排序,但是缺点是 biblatex

  • biblatex 本身就比较大,运行比较慢;
  • 经常更新,容易有兼容性问题;
  • 可能跟其他宏包不兼容;

hushidong/biblatex-gb7714-2015 解决了很多兼容性问题,但是这个宏包 2016 年 9 月才加入 CTAN,同样目前在活跃地更新。
我觉得保证与 3 年内的 TeX Live 发行版兼容还是有必要的,毕竟不能总是让大家升级到最新版的 TeX Live。

所以目前我先利用兼容 natbibmultibib 或者 chapterbib 实现附录中的参考文献功能,几年后再考虑迁移到 biblatex 上。

相关问题: #48 #214

@zepinglee zepinglee self-assigned this Jul 9, 2018
@zepinglee
Copy link
Contributor

zepinglee commented Jul 9, 2018

这里要实现的是正文和附录中两个独立的参考文献。我研究了一下,除了 biblatexbibunits 是唯一可行的宏包;事实上,这两个的接口有些相似。大致使用方法是:

\usepackage{bibunits}
\defaultbibliographystyle{plain}

\begin{document}
\begin{bibunit}
\cite{xxx}
\putbib[ref]  % 相当于 \bibliography{ref}
\end{bibunit}

\begin{appendix}
\begin{bibunit}
\cite{xxx}
\putbib[ref]  % \bibliography{ref}
\end{bibunit}
\end{appendix}
\end{document}

只是接口比较奇怪

其他宏包或多或少都有限制:

  • chapterbib:按照文档第 7 节的方法可以编译成功,但是需要编译-修改-编译,不能直接一步编译;
  • multibib:如 @limjcst 所讲,引用重复的文献的编号不能正确处理
  • bibtopic:不能处理顺序编码制的文献

@zepinglee zepinglee reopened this Mar 19, 2019
@zepinglee
Copy link
Contributor

我写了一个基于 bibunits 的实现,不过需要定义一个特殊的环境用来封装“外文资料原文”, @xueruini 有什么建议的名字吗?

@xueruini
Copy link
Contributor

这个翻译好有难度

@roastduck
Copy link

roastduck commented May 5, 2019

这里要实现的是正文和附录中两个独立的参考文献。我研究了一下,除了 biblatexbibunits 是唯一可行的宏包;事实上,这两个的接口有些相似。大致使用方法是:

\usepackage{bibunits}
\defaultbibliographystyle{plain}

\begin{document}
\begin{bibunit}
\cite{xxx}
\putbib[ref]  % 相当于 \bibliography{ref}
\end{bibunit}

\begin{appendix}
\begin{bibunit}
\cite{xxx}
\putbib[ref]  % \bibliography{ref}
\end{bibunit}
\end{appendix}
\end{document}

只是接口比较奇怪

其他宏包或多或少都有限制:

  • chapterbib:按照文档第 7 节的方法可以编译成功,但是需要编译-修改-编译,不能直接一步编译;
  • multibib:如 @limjcst 所讲,引用重复的文献的编号不能正确处理
  • bibtopic:不能处理顺序编码制的文献

似乎\defaultbibliographystyle用了没效果,但可以用\begin{bibunit}[<style>]

@roastduck
Copy link

PS. 踩过的坑:\begin{bibunit}要放在\mainmatter后面,不然章节编号会出问题。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants