Table 在 orgmode 中的 Latex 导出中使用 \addbibresource 时标签引用中断

Table label reference breaks when using \addbibresource in Latex export in orgmode

当我将以下简单文件导出到 Latex 时:

#+Title: Example
#+OPTIONS: H:2 ^:{} f:t toc:nil author:nil
#+LATEX_HEADER: \usepackage[backend=bibtex]{biblatex}
#+LATEX_HEADER: \addbibresource{$HOME/Bibliographies/bibliography}
#+LATEX_HEADER: \graphicspath{{$HOME/Pictures/images/}}
# #+BIBLIOGRAPHY: ~/Bibliographies/bibliography
# #+BIBLIOGRAPHY_STYLE: plain



* Foo
   #+CAPTION: Capitals
   #+NAME: tab:capitals
   | Country   | Capital  |
   |           |          |
   |-----------+----------|
   | Australia | Canberra |
   | Japan     | Tokyo    |
   | France    | Paris    |

* Bar 
  Please look this flamboyant table: Table [[tab:capitals]].

我得到一个结果,其中引用 [[tab:capitals]] 呈现为“??”在乳胶中,而不是“1”。

我注意到如果我删除 #+LATEX_HEADER: \addbibresource{$HOME/Bibliographies/bibliography} 行它工作正常,但我的参考书目和引文需要它。

变量 org-latex-pdf-process 在我的配置中设置为 (list "latexmk -pdf -shell-escape %f")。这是生成的 .tex

% Created 2020-06-23 Tue 16:56
% Intended LaTeX compiler: pdflatex
\documentclass[11pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{graphicx}
\usepackage{grffile}
\usepackage{longtable}
\usepackage{wrapfig}
\usepackage{rotating}
\usepackage[normalem]{ulem}
\usepackage{amsmath}
\usepackage{textcomp}
\usepackage{amssymb}
\usepackage{capt-of}
\usepackage{hyperref}
\usepackage{minted}
\usepackage[backend=bibtex]{biblatex}
\graphicspath{{$HOME/Pictures/images/}}
\date{\today}
\title{Example}
\hypersetup{
 pdfauthor={Adam Oudad},
 pdftitle={Example},
 pdfkeywords={},
 pdfsubject={},
 pdfcreator={Emacs 26.3 (Org mode 9.1.2)}, 
 pdflang={English}}
\begin{document}

\maketitle



\section{Foo}
\label{sec:org66385f7}
\begin{table}[htbp]
\caption{\label{tab:org2e022f6}
Capitals}
\centering
\begin{tabular}{ll}
Country & Capital\
 & \
\hline
Australia & Canberra\
Japan & Tokyo\
France & Paris\
\end{tabular}
\end{table}

\section{Bar}
\label{sec:org22f0231}
Please look this flamboyant table: Table \ref{tab:org2e022f6}.
\end{document}

tex 文件中的引用和标签匹配,但仍无法生成正确的 pdf 输出。 \addbibresource 和引用 table 之间的 link 是什么? 感谢您的帮助:)

我的 org-latex-pdf-process 设置是罪魁祸首:

(setq org-latex-pdf-process (list "latexmk -pdf -shell-escape %f"))

它是这样设置的,因为我的 bibtex 引用不起作用,并且从某个地方得到了这个解决方法......但这破坏了对表格的引用。

所以为了解决这个问题,我回到了 emacs 文档中的原始值:

(setq org-latex-pdf-process
 '("%latex -interaction nonstopmode -output-directory %o %f"
 "%latex -interaction nonstopmode -output-directory %o %f"
 "%latex -interaction nonstopmode -output-directory %o %f"))

然而这并不 运行 bibtex。因此,为了使引用正常工作,我需要在对 Latex 编译器的调用之间添加 "bibtex %b"

(setq org-latex-pdf-process
 '("%latex -interaction nonstopmode -output-directory %o %f"
 "bibtex %b"
 "%latex -interaction nonstopmode -output-directory %o %f"
 "%latex -interaction nonstopmode -output-directory %o %f"))

感谢@Dieter.Wilhelm 's solution from this thread

Link to my config here.