emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [O] Passing an image reference to source code block


From: shripad sinari
Subject: Re: [O] Passing an image reference to source code block
Date: Tue, 27 Dec 2016 11:12:17 -0700

Hello John,
Thanks for the suggestion. The proposed solution does not work since the recent org versions generate their own labels and the label value cannot be predetermined. See the LaTeX code generated by the above example with your suggestion included:

----x-----------------x----

\section{Section name}
\label{sec:org62816be}
some text
\begin{figure}[htbp]
\centering
\includegraphics[width=.9\linewidth]{img.jpg}
\caption{\label{fig:org43b3d3f}
Fig Caption}
\end{figure}
some reference to figure \ref{fig:org43b3d3f}
\section{other section}
\label{sec:org1e9d137}
reference to Section \ref{sec:org62816be}

% latex table generated in R 3.3.1 by xtable 1.8-2 package
% Tue Dec 27 10:56:43 2016
\begin{table}[ht]
\centering
\begin{tabular}{rrr}
  \hline
 & Time & demand \\
  \hline
1 & 1.00 & 8.30 \\
  2 & 2.00 & 10.30 \\
  3 & 3.00 & 19.00 \\
  4 & 4.00 & 16.00 \\
  5 & 5.00 & 15.60 \\
  6 & 7.00 & 19.80 \\
   \hline
\end{tabular}
\caption{Link the image \ref{fig:image} to this table}
\end{table}
\end{document}


----x-----------------x----

the difference is the image is labelled "fig:org43b3d3f" and not "fig:image".

Is there a way to solve this using CUSTOM_ID? Or is there a very different approach to the way such table should be generated and then org-caption should be used?

Any pointers are appreciated.

I believe this is common requirement in scientific writing which is what I do most often. I use orgmode to write papers. Till org version 8.2.10 at least I had a workaround in the following sense:

----x-----------------x----

* Section name
some text
#+CAPTION: Fig Caption
#+LABEL: fig:image
[[file:img.jpg]]
some reference to figure [[fig:image]]
* other section
reference to Section [[Section name]]

#+BEGIN_SRC R :session *sample* default :exports results :results output latex :tangle yes :var plot="\\\\ref{fig:image}"
  library(xtable)
  print(xtable(BOD
             , caption = paste("Link the image", plot,"to this table")))
#+END_SRC

----x-----------------x----

which produced the following latex code:

----x-----------------x----

\begin{document}

\maketitle
\tableofcontents

\section{Section name}
\label{sec-1}
some text
\begin{figure}[htb]
\centering
\includegraphics[width=.9\linewidth]{img.jpg}
\caption{\label{fig:image}Fig Caption}
\end{figure}
some reference to figure \ref{fig:image}
\section{other section}
\label{sec-2}
reference to Section \ref{sec-1}

 % latex table generated in R 3.3.1 by xtable 1.8-2 package
% Tue Dec 27 11:08:40 2016
\begin{table}[ht]
\centering
\begin{tabular}{rrr}
  \hline
 & Time & demand \\
  \hline
1 & 1.00 & 8.30 \\
  2 & 2.00 & 10.30 \\
  3 & 3.00 & 19.00 \\
  4 & 4.00 & 16.00 \\
  5 & 5.00 & 15.60 \\
  6 & 7.00 & 19.80 \\
   \hline
\end{tabular}
\caption{Link the image \ref{fig:image} to this table}
\end{table}
% Emacs 24.5.1 (Org mode 8.2.10)
\end{document}


----x-----------------x----


This code compiles to the desired document.

Thanks and regards,


Shripad
Tucson, AZ

On Tue, Dec 27, 2016 at 9:05 AM, John Kitchin <address@hidden> wrote:
Can you pass \ref{fig:image} in? I think that is what you would do in Latex. 


On Mon, Dec 26, 2016 at 7:00 PM shripad sinari <address@hidden> wrote:
Hello all,
I would like to know if there is a way to pass a reference for a figure to a source block as in the following example:

----x-----------x---

* Section name

some text
#+CAPTION: Fig Caption
#+NAME: fig:image
[[file:img.jpg]]
some reference to figure [[fig:image]]

* other section
reference to Section [[Section name]]

#+BEGIN_SRC R :session *sample* default :exports results :results output latex :tangle yes :var plot=[[fig:image]]
  library(xtable)
  print(xtable(BOD
             , caption = paste("Link the image", plot,"to this table")))
#+END_SRC


----x-----------x---

I would like the caption of the table to point to the image, at the point where the word "plot" is located, in LaTeX export of the org file.

Any help or other workarounds are appreciated. I am using org version 9.0.3 in GNU Emacs 24.5.1.

Thanks for your help and regards,

Shripad
Tucson, AZ






reply via email to

[Prev in Thread] Current Thread [Next in Thread]