如何在Org-mode导出图片时使用自定义LaTeX命令\figsource
在Org-mode中为图片添加自定义
\figsource命令的解决方案 要在Org-mode导出LaTeX时为图片添加\figsource命令,你可以通过以下两种方法实现,推荐第一种来保持Org语法的灵活性:
方法1:使用#+ATTR_LATEX的:post选项
这是最贴合你现有Org图片语法的方案,只需要在图片前添加带:post参数的#+ATTR_LATEX属性,就能在导出的LaTeX代码中把\figsource放在\caption之后。
示例Org代码:
#+LABEL: fig:myfigure #+CAPTION: My caption #+ATTR_LATEX: :post \figsource{Source: \cite{someone2015}} [[file:img/fig1.pdf]]
导出后的LaTeX代码:
\begin{figure}[htbp] \centering \includegraphics[width=1\linewidth]{img/fig1.pdf} \caption{My caption} \figsource{Source: \cite{someone2015}} \end{figure}
你之前尝试的#+ATTR_LATEX: \figsource{...}无效,是因为Org的#+ATTR_LATEX需要使用预定义的选项(比如:pre、:post)来指定代码插入的位置,直接写命令会被Org忽略。
方法2:直接嵌入LaTeX环境块
如果只需要导出LaTeX格式,也可以直接在Org文件中写完整的LaTeX图片环境,这样完全自定义内容:
示例Org代码:
#+LABEL: fig:myfigure #+BEGIN_LaTeX \begin{figure}[htbp] \centering \includegraphics[width=1\linewidth]{img/fig1.pdf} \caption{My caption} \figsource{Source: \cite{someone2015}} \end{figure} #+END_LaTeX
这种方法的缺点是,当你导出到其他格式(比如HTML)时,这段LaTeX代码不会被解析成图片,所以只适合单一LaTeX导出的场景。
内容的提问来源于stack exchange,提问作者GP.
相关产品推荐
相关产品推荐

