ES-TEX Archivos

Usuarios hispanohablantes de TeX

ES-TEX@LISTSERV.REDIRIS.ES

Opciones: Vista Forum

Use Monospaced Font
Por defecto enseñar Text Part
Mostrar todas las cabeceras de correo

Mensaje: [<< Primero] [< Prev] [Siguiente >] [Último >>]
Tema: [<< Primero] [< Prev] [Siguiente >] [Último >>]
Autor: [<< Primero] [< Prev] [Siguiente >] [Último >>]

Print Responder
Subject:
Emisor:
Juan Manuel Macías <[log in para visualizar]>
Reply To:
Usuarios hispanohablantes de TeX <[log in para visualizar]>
Fecha:
Fri, 24 Jun 2022 01:49:14 +0000
Content-Type:
text/plain
Parts/Attachments:
text/plain (75 lines)
Hola a todos:

Ando un poco perdido con un problemilla de Lua en LuaTeX, y no sé si
algún alma piadosa me podría situar en la buena dirección.

Al ver. Si evalúo este código en un bloque de Lua en Org Mode:

#+begin_src lua :results output latex
local texto = [[
|-------------+-------------+-------------+
| lorem ipsum | lorem ipsum | lorem ipsum |
|-------------+-------------+-------------+
| lorem ipsum | lorem ipsum | lorem ipsum |
| lorem ipsum | lorem ipsum | lorem ipsum |
| lorem ipsum | lorem ipsum | lorem ipsum |
|-------------+-------------+-------------+]]

local x = io.popen("./test.sh '" .. texto .. "'")
local output = x:read("*all")
x:close ()
print(output)
#+end_src

Obtengo, correctamente, el siguiente resultado en el dodumento de Org
(lo que hace el código anterior es ejecutar desde lua un script que hice
para convertir cualquier cadena de texto de Org en LaTeX, llamando a una
instancia ciega de Emacs en la terminal, y la devuelve como "output". O
sea, que aquí lo que nos devuelve como output es una tabla de LaTeX
convertida de una tabla de Org):

#+RESULTS:
#+begin_export latex
\begin{center}
\begin{tabular}{lll}
\hline
lorem ipsum & lorem ipsum & lorem ipsum\\
\hline
lorem ipsum & lorem ipsum & lorem ipsum\\
lorem ipsum & lorem ipsum & lorem ipsum\\
lorem ipsum & lorem ipsum & lorem ipsum\\
\hline
\end{tabular}
\end{center}
#+end_export

Entonces, si dentro de Org, que usa la consola de Lua, funciona, ¿por qué
no me funciona si defino en LaTeX un comando como este?:

\newcommand{\miorgoutput}[1]{%
\directlua{
local texto = [[#1]]
local x = io.popen("./test.sh '" .. texto .. "'")
local output = x:read("*all")
x:close ()
tex.print (output)
}

¿No se supone que [[]] es para encerrar una cadena literal con varias
líneas? Y creo que el tema viene por lo de las varias líneas, porque si
pongo el comando con una cadena corta, algo así como \miorgoutput{/hola
mundo/} sí que me funciona bien. Y si sustituyo el comando de shell por
un `echo' a otro archivo, parece que no se respetan los saltos de línea
literales y en el archivo nuevo aparece la tabla toda en una línea,
descuajeringada. En fin, un misterio.

Saludos,

Juan Manuel 

----------------------------------------------------
Si tiene algun problema con la utilizacion de la lista.
Pongase en contacto con nosotros a traves de:
[log in para visualizar]
----------------------------------------------------

ATOM RSS1 RSS2