我如何[简单地]将参考书目排版为单独的 PDF?

我如何[简单地]将参考书目排版为单独的 PDF?

我正在准备一份文档,要求正文和参考文献是单独的 PDF 文件。当然,参考书目来自 \bibliograpy 命令,文本引文来自 \cite 命令。您需要两者都存在才能使 BibTeX 正常工作。

我一直在排版文档,然后用 pdftk(1) 将其拆分——但这很烦人,而且需要我知道页码。有没有只使用 TeX 的方法可以做到这一点?

答案1

我不确定这是否正是您想要的,但如果您可以foo.bbl运行 BibTeX,那么您可以制作一个仅排版参考书目的简单文档。

\documentclass{article}
\begin{document}
\input{foo.bbl}
\end{document}

要使参考书目不出现在主文档中,请使用以下命令。

\usepackage{comment}
\excludecomment{thebibliography}

编辑:
这是错误的。(我完全忘记我给出过这个答案。)正如评论中指出的那样,这样做会破坏事情。前几天,一位朋友问我如何做到这一点,我给她的解决方案更好,但我不确定这是最好的方法。

{\setbox0\vbox{\bibliography{foo}}}

这将书目排版在垂直框中并将其存储在框寄存器 0 中。然后该组结束并且框 0 恢复。

答案2

事实上我更喜欢另一种解决方案(并且已经投票了),但如果你想坚持使用 pdftk,一个选择是使用 synctex 来确定参考书目从哪一页开始,将其设置为一个变量,然后将其传递给 pdftk。

例如,在 Linux 或 Unix(可能)Mac 上,您可以使用如下脚本:

/bin/bash #!/bin/bash

# 首先,处理文件
pdflatex -interaction=nonstopmode -synctex=1 myfile.tex
bibtex 我的档案
pdflatex -interaction=nonstopmode -synctex=1 myfile.tex
pdflatex -interaction=nonstopmode -synctex=1 myfile.tex
# 现在检查参考书目的开始位置
bibpage=$(synctex view -i 1:1:"myfile.bbl" -o "myfile.pdf" | grep -m1'页面:'| sed's/Page://')
# 现在调用 pdftk 来分解它
pdftk A=myfile.pdf cat A1-$((endpage - 1)) 输出 myfile-body.pdf
pdftk A=myfile.pdf cat A${bibpage}-end 输出 myfile-bibliography.pdf

或类似的东西。

相关内容