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"))
当我将以下简单文件导出到 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"))