Hi, Nicolas !

Le mardi 30 avril 2019 à 19:05 +0200, Nicolas Goaziou a écrit :
> Hello,
> 
> Emmanuel Charpentier <emm.charpent...@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

Title: Test of source block exports

The R block 1 generates the figure 1:

Fig.png

Figure 1: Figure generated by R

curve(sin(x),from=-pi, to=pi)

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).

Created: 2019-04-30 mar. 08:53

Validate

# 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 [[lst:DoFig]] generates the figure [[fig:DoFig]]:

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

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

#+name: lst:DoFig
#+caption: R code generating a figure
#+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: C1.pdf
Description: Adobe PDF document

% Created 2019-04-30 mar. 09:10
% 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{orgf2d4160} generates the figure \ref{fig:org1c384b0}:

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

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

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}

Reply via email to