Emacs 组织模式导出图形时如何使用自定义命令

Emacs 组织模式导出图形时如何使用自定义命令,emacs,latex,org-mode,Emacs,Latex,Org Mode,我使用的是我的大学提供的TeX样式,其中包括一个特殊命令来描述图形的来源。出于未知的原因,他们决定将来源和标题放在不同的位置。因此,我们有一个名为\figsource的附加命令 我使用以下行将图形插入到我的组织文件中: #+LABEL: fig:myfigure #+CAPTION:My caption [[file:img/fig1.pdf]] 将其导出为乳胶: \begin{figure}[htbp] \centering \includegraphics[width=1\linewidt

我使用的是我的大学提供的TeX样式,其中包括一个特殊命令来描述图形的来源。出于未知的原因,他们决定将来源和标题放在不同的位置。因此,我们有一个名为
\figsource
的附加命令

我使用以下行将图形插入到我的组织文件中:

#+LABEL: fig:myfigure
#+CAPTION:My caption
[[file:img/fig1.pdf]]
将其导出为乳胶:

\begin{figure}[htbp]
\centering
\includegraphics[width=1\linewidth]{img/fig1.pdf}
\caption{My caption}  
\end{figure}
但是,要使用附加命令
\figsource
,我需要以下命令:

\begin{figure}[htbp]
\centering
\includegraphics[width=1\linewidth]{img/fig1.pdf}
\caption{My caption}  
\figsource{Source: \cite{someone2015}}
\end{figure}
我怎样才能从组织得到这个

我已经尝试过这个
#+ATTR\u LATEX:\figsource{Source:\cite{someone2015}
,但没有成功

使用导出筛选器的方法

为了充实我的评论中的建议,下面是一个“最终输出”过滤器的实现,它将额外的内容放在“\end{figure}”之前,不确定位置是否有影响。但是请注意,额外的内容假定为固定字符串:

* Code                                                        :noexport:

#+begin_src emacs-lisp
  (require 'ox)
  (defun my-custom-figsource (contents backend info)
    (when (eq backend 'latex)
      (replace-regexp-in-string "\\\\end{figure}"
                                "\\\\figsource{Source: \\\\cite{someone2015}}\n\\\\end{figure}" contents)))

  (add-to-list 'org-export-filter-final-output-functions #'my-custom-figsource)

#+end_src

* Figure

#+LABEL: fig:myfigure
#+CAPTION:My caption
[[file:img/fig1.png]]
导出到以下TeX片段:

\begin{figure}[htbp]
\centering
\includegraphics[width=.9\linewidth]{img/fig1.png}
\caption{\label{fig:org6271d58}
My caption}
\figsource{Source: \cite{someone2015}}
\end{figure}
\figsource
中处理不同的引文会更难,我不知道该怎么做

使用#+ATTR_乳胶的方法

或者,您可以在
#+ATTR\u
中使用
:caption
属性:

* Figure

#+LABEL: fig:myfigure
#+CAPTION:My caption
#+ATTR_LATEX: :caption \caption{\label{fig:myfigure}My caption}\figsource{Source: \cite{foo}}
[[file:img/fig1.png]]
在设置标签时有一些重复,但它是本地化的,并且相当容易处理,并且该方法允许您轻松使用不同的源引用,但我不确定它与组织模式生成的标签如何交互。

我的建议将是一个很好的例子。