从 Org 模式使用 bibtex:.bbl 和 .aux 文件生成不正确

从 Org 模式使用 bibtex:.bbl 和 .aux 文件生成不正确

我搜索过这个网站以及其他资源,我知道这是一个常见问题,但是,没有一个地方可以解释调试或故障排除的具体步骤。这是我的设置:

#+LATEX_HEADER: \hypersetup{urlcolor=blue}
#+LATEX_HEADER: \hypersetup{colorlinks,urlcolor=blue}
#+LATEX_HEADER: \bibliographystyle{plain}
#+LATEX_HEADER: \bibliography{gg}

#+BEGIN_SRC sh :exports none
  BIBINPUTS=./gg.bib:$BIBINPUTS
  export BIBINPUTS
#+END_SRC

以下是从 Org 模式生成的 TEX 文件:

\documentclass[11pt]{report}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{fixltx2e}
\usepackage{graphicx}
\usepackage{longtable}
\usepackage{float}
\usepackage{wrapfig}
\usepackage{rotating}
\usepackage[normalem]{ulem}
\usepackage{amsmath}
\usepackage{textcomp}
\usepackage{marvosym}
\usepackage{wasysym}
\usepackage{amssymb}
\usepackage{hyperref}
\tolerance=1000
\hypersetup{urlcolor=blue}
\hypersetup{colorlinks,urlcolor=blue}
\bibliographystyle{plain}
\bibliography{gg}
\author{me}
\date{2014-08-24}
\title{unimportant}
\hypersetup{
 pdfkeywords={unimportant},
  pdfsubject={unimportant},
  pdfcreator={Emacs 24.3.1 (Org mode 8.2.6)}}
\begin{document}

\maketitle
\tableofcontents

\cite{Wilkinson}
...
\end{document}

Bibtex 生成的日志:

This is BibTeX, Version 0.99d (TeX Live 2013)
Capacity: max_strings=35307, hash_size=35307, hash_prime=30011
The top-level auxiliary file: test.aux
The style file: plain.bst
I found no \bibdata command---while reading file test.aux
Warning--I didn't find a database entry for "Wilkinson"
[...] 

gg.bib 文件的内容:

@book{Wilkinson,
 author = {Wilkinson, Leland},
 title = {The Grammar of Graphics (Statistics and Computing)},
 year = {2005},
 isbn = {0387245448},
 publisher = {Springer-Verlag New York, Inc.},
 address = {Secaucus, NJ, USA},
}

这是生成的.bbl 文件:

\begin{thebibliography}{}

\end{thebibliography}

请注意,这已经是错误的:内容缺失。

组织模式日志:

compiling test.tex...
test.bbl:1: Missing \begin{document}.
test.bbl:1: leading text: \begin{thebibliography}{}

嗯,这简直是胡说八道,这里为什么要有呢\begin{document}

不管怎样,最终生成了 PDF,但没有参考书目,并且引用看起来像[?]

我已经尝试了所有这些程序来生成输出:

(setq org-latex-to-pdf-process '("latexmk -pdf %f"))

;; (setq org-latex-to-pdf-process
;;       '("xelatex %f && bibtex %f && xelatex %f && xelatex %f"))

;; (setq org-latex-to-pdf-process
;;      '("pdflatex -interaction nonstopmode %b"
;;        "bibtex %b"
;;        "pdflatex -interaction nonstopmode %b"
;;        "pdflatex -interaction nonstopmode %b"))

;; (setq org-latex-pdf-process '("rubber -d --into %o %f"))

;; (setq org-latex-pdf-process
;;       '("texi2dvi --pdf --clean --verbose --batch %f"
;;         "bibtex %b" "texi2dvi --pdf --clean --verbose --batch %f"
;;         "texi2dvi --pdf --clean --verbose --batch %f"))

它们给出的结果大致相同。根据月相以及金星是否位于天秤座,错误消息可能会有所不同,但大多数错误消息甚至与它们应该相关的文档中的实际情况不符。我会根据需要发布错误消息,因为我不想让这篇已经很长的帖子变得杂乱无章。

如果您除了尝试修复我的设置之外,还能提供一个使用 .org 和 .bib 文件的完整示例,我将不胜感激。


我快到了:

#+LATEX_HEADER: \usepackage[backend=bibtex, style=numeric]{biblatex}
#+LATEX_HEADER: \hypersetup{urlcolor=blue}
#+LATEX_HEADER: \hypersetup{colorlinks,urlcolor=blue}
#+LATEX_HEADER: \addbibresource{gg.bib}

通过这些修改,rubber作为编译器,我可以生成正确的引用,但不会生成参考书目列表。


哦,我做到了!:) 我失踪了\printbibliography——这指示处理器将参考书目放在指定的位置。

不过,我会等待答案,然后再自己发布。我不能说我理解为什么它会这样工作,所以可能有人更了解它,可以解释一下。

答案1

这就是为什么从最小开始会很有帮助的原因之一在职的例如,如果你能找到一个:-)

#+LaTeX_HEADER: \usepackage{mathptmx}
#+LaTeX_HEADER: \usepackage{pifont}
#+LaTeX_HEADER: \usepackage[margin=0.7in]{geometry}
#+LaTeX_HEADER: \usepackage[backend=bibtex,sorting=none]{biblatex}
#+LaTeX_HEADER: \addbibresource{gg.bib}  %% point at your bib file
#+LaTeX_HEADER: \newcommand{\point}[1]{\noindent \textbf{#1}}
#+LaTeX_HEADER: \usepackage{hyperref}
#+LaTeX_HEADER: \usepackage{csquotes}
#+LaTeX_HEADER: \usepackage[mla]{ellipsis}
#+LaTeX_HEADER: \parindent = 0em
#+LaTeX_HEADER: \setlength\parskip{.5\baselineskip}
#+STARTUP: content

#+TITLE: The problem with computers
#+AUTHOR: Joseph Corneli
#+DATE: \today \\ (DRAFT)

It's not what you think! \cite{Wilkinson}. % change to a ref from your bib file

#+BEGIN_COMMENT
References
#+END_COMMENT

\printbibliography

我的组织模式配置在这里:https://gist.github.com/holtzermann17/6953779 关键是:

(setq org-latex-pdf-process
  '("latexmk -pdflatex='pdflatex -interaction nonstopmode' -pdf -bibtex -f %f"))

相关内容