emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Emmanuel Charpentier <emm.charpentier@free.fr>
To: John Kitchin <jkitchin@andrew.cmu.edu>
Cc: emacs-orgmode <emacs-orgmode@gnu.org>,
	Nicolas Goaziou <mail@nicolasgoaziou.fr>
Subject: Re: BUG: the builtin LaTeX/P DF exporter mislabels source blocks as figures.
Date: Tue, 30 Apr 2019 20:05:53 +0200	[thread overview]
Message-ID: <ade9a2bcc5bb67c9ce8df7f1aa6e235b7e2bad5f.camel@free.fr> (raw)
In-Reply-To: <CAJ51ETqOePfjHW94QAzBQgPyW_w6LC=2aXe+bSa8LziyEPBcwg@mail.gmail.com>


[-- Attachment #1.1: Type: text/plain, Size: 4283 bytes --]

Dear John,
This does *not* work for me. See the attached files.
I begin to suspect a very recent bug : I'm following MELPA, which
updates about once a week. My org-version says: Org mode version 9.2.3
(9.2.3-11-g42abf5-elpaplus @ /home/charpent/.emacs.d/elpa/org-plus-
contrib-20190429/).
Cordially,
--Emmanuel Charpentier
Le mardi 30 avril 2019 à 13:46 -0400, John Kitchin a écrit :
> This works as expected in LaTeX for me with org-ref (you could
> probably use raw latex if you wanted):
> #+caption: The first source block. label:src-1#+BEGIN_SRC
> ipythonprint('Hello world')#+END_SRC
> 
> Later we refer to the code in Listing ref:src-1 or ref:src-2. That is
> different than Figure ref:fig-1.
> #+caption: My figure. label:fig-1[[./test.png]]
> 
> #+caption: The first source block. label:src-2#+BEGIN_SRC
> ipythonprint('Hello world')#+END_SRC
> The downside is that for html the src-block links are not numbered. I
> don't know how easy that would be to fix in the export functions.
> John
> 
> -----------------------------------
> Professor John Kitchin 
> Doherty Hall A207F
> Department of Chemical Engineering
> Carnegie Mellon University
> Pittsburgh, PA 15213
> 412-268-7803
> @johnkitchin
> http://kitchingroup.cheme.cmu.edu
> 
> 
> 
> On Tue, Apr 30, 2019 at 1:40 PM Emmanuel Charpentier <
> emm.charpentier@free.fr> wrote:
> > Hi, Nicolas !
> > 
> > 
> > 
> > Le mardi 30 avril 2019 à 19:05 +0200, Nicolas Goaziou a écrit :
> > 
> > > Hello,
> > 
> > > 
> > 
> > > Emmanuel Charpentier <emm.charpentier@free.fr> writes:
> > 
> > > 
> > 
> > > > Whereas the HTML exporter correctly recognize a source block as
> > 
> > > > such,
> > 
> > > > the LaTeX/PDF exporter does not.
> > 
> > > > 
> > 
> > > > This can be demonstrated in a (minimal) org file using *only*
> > the
> > 
> > > > built-in tools (no external packages), where a source block is
> > 
> > > > labelled
> > 
> > > > as such by the HTML exporter but as a figure by the LaTeX
> > 
> > > > exporter.The
> > 
> > > > generated LaTeX source shows a suspicious
> > 
> > > > "\captionof{figure}{\label{orgf2d4160}" in the export of the
> > source
> > 
> > > > block.
> > 
> > > > 
> > 
> > > > Further tests (not shown) show that the proble persists when
> > org-
> > 
> > > > mode
> > 
> > > > is set up to use the minted package for LaTeX export of source
> > 
> > > > blocks
> > 
> > > > (minted is indeed used, but the block is s still mislabeled).
> > 
> > > 
> > 
> > > What LaTeX code do you suggest instead?
> > 
> > 
> > 
> > Dunno. Maybe \captionof{listing} ? Or let minted do its thing ?
> > Anyway,
> > 
> > in most cases, the code excerpts will be too long for a float ; the
> > 
> > idea is to send them (unfloated but labeled/captioned) in an
> > appendix
> > 
> > and point to them via a link.
> > 
> > 
> > 
> > [ BTW : we should stop suggesting to use listings, which is
> > problematic
> > 
> > for anything not strictly ASCII, bloody likely to occur at least on
> > a
> > 
> > comment/prompt for most of mankind... Listingsutf8 is but a patch
> > 
> > working only for (a subset of) European languages. Arabic, Hebrew,
> > 
> > Asian languages : nope. Minted in (xe|lua)tex is probably more
> > usable
> > 
> > (but needs --shell-escape, which can justifiably frowned upon... ].
> > 
> > 
> > 
> > > > The org source and resulting pdf and html files are available
> > here
> > 
> > > > : 
> > 
> > > > 
> > https://drive.google.com/drive/folders/1bQmaefiztW9ZDRNLcjOD_WbEmTg4d8dG?usp=sharing
> > 
> > > 
> > 
> > > Could you send your ECM in the ML without requiring to access
> > Google
> > 
> > > Drive?
> > 
> > 
> > 
> > Attached.
> > 
> > 
> > 
> > But please coordinate with Bastien, who asked me just yesterday to
> > 
> > avoid posting fat attachments to a message going to a lot of
> > people.
> > 
> > Which I did (to no avail : the "heavy" mail went through anyway. Go
> > 
> > figure.... ;-).
> > 
> > 
> > 
> > 
> > 
> > > Thank you.
> > 
> > 
> > 
> > You're welcome ;-). Thank YOU for considering scratching *MY*
> > itch...
> > 
> > 
> > 
> > --
> > 
> > Emmanuel Charpentier
> > 
> > 
> > 

[-- Attachment #1.2: Type: text/html, Size: 5234 bytes --]

[-- Attachment #2: C2.html --]
[-- Type: text/html, Size: 10213 bytes --]

[-- Attachment #3: C2.org --]
[-- Type: text/plain, Size: 770 bytes --]

# An archi-minimal test of source blocks labelling,
# using only the built-in tools.

#+options: tex:t title:nil author:nil date:nil toc:nil
#+property: header-args:R :session
#+title: Test of source block exports

The R block ref:lst:DoFig generates the figure ref:fig:DoFig:

#+name: DoFig
#+begin_src R :exports results :results output graphics :file Fig.png
curve(sin(x),from=-pi, to=pi)
#+end_src

#+caption: Figure generated by R label:fig:DoFig
#+RESULTS: DoFig
[[file:Fig.png]]

#+caption: R code generating a figure label:lst:DoFig
#+begin_src R :eval no :exports code :noweb yes
<<DoFig>>
#+end_src

Problem: whereas the HTML export labels the source listing as "Listing 1" and is correctly refers to 1, the PDF export labels it "Figure 2" (and points to it).

[-- Attachment #4: C2.pdf --]
[-- Type: application/pdf, Size: 55454 bytes --]

[-- Attachment #5: C2.tex --]
[-- Type: text/x-tex, Size: 1156 bytes --]

% Created 2019-04-30 mar. 20:01
% 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}
\date{}
\title{Test of source block exports}
\hypersetup{
 pdfauthor={Emmanuel Charpentier},
 pdftitle={Test of source block exports},
 pdfkeywords={},
 pdfsubject={},
 pdfcreator={Emacs 26.1 (Org mode 9.2.3)}, 
 pdflang={English}}
\begin{document}

The R block \ref{lst:DoFig} generates the figure \ref{fig:DoFig}:

\begin{figure}[htbp]
\centering
\includegraphics[width=.9\linewidth]{Fig.png}
\caption{Figure generated by R \label{fig:DoFig}}
\end{figure}

\begin{verbatim}
curve(sin(x),from=-pi, to=pi)
\end{verbatim}
\captionof{figure}{R code generating a figure \label{lst:DoFig}}

Problem: whereas the HTML export labels the source listing as "Listing 1" and is correctly refers to 1, the PDF export labels it "Figure 2" (and points to it).
\end{document}

[-- Attachment #6: Fig.png --]
[-- Type: image/png, Size: 7444 bytes --]

  reply	other threads:[~2019-04-30 18:07 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-04-30  7:18 BUG: the builtin LaTeX/P DF exporter mislabels source blocks as figures Emmanuel Charpentier
2019-04-30 17:05 ` Nicolas Goaziou
2019-04-30 17:39   ` Emmanuel Charpentier
2019-04-30 17:46     ` John Kitchin
2019-04-30 18:05       ` Emmanuel Charpentier [this message]
2019-05-01 16:26     ` Nicolas Goaziou
2019-04-30 21:27 ` Correction and addition [Re: BUG: the builtin LaTeX/P DF exporter mislabels source blocks as figures.] Emmanuel Charpentier

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.orgmode.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=ade9a2bcc5bb67c9ce8df7f1aa6e235b7e2bad5f.camel@free.fr \
    --to=emm.charpentier@free.fr \
    --cc=emacs-orgmode@gnu.org \
    --cc=jkitchin@andrew.cmu.edu \
    --cc=mail@nicolasgoaziou.fr \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).