Cómo crear un comentario con \pgfversion

Cómo crear un comentario con \pgfversion

Me gustaría crear un comentario en mi archivo Latex (.tex) de la siguiente manera:

% My pgf version is: 3.1.9a

excepto que el número de versión ("3.1.9a" en el ejemplo anterior) proviene del \pgfversioncomando.

¿Hay alguna forma de hacer esto?

Nota: En mi opinión, es mejor guardar la versión PGF en el archivo .tex como comentario en lugar de imprimirla en el documento que creo. Mi problema es que todo el texto que sigue al iniciador de la línea de comentario '%' se trata literalmente como texto de comentario. Utilizo MiKTeX en Windows y TeX Live en Ubuntu. La respuesta debería ser compatible con ambos.

Respuesta1

si guarda el script Lua a continuación comopgfv.lua

y tener un archivo que diga myfile.texque tiene un comentario

% My pgf version is: anything

luego corriendo

texlua pgfv.lua myfile.tex

se actualizará myfile.texpara que el comentario tenga su versión pgf actual

% My pgf version is: 3.1.9a

NOTAEste script reescribe el archivo con comprobaciones de errores mínimas; haga una copia de seguridad antes de ejecutarlo.


escritura lua;



-- get pgf version file
kpse.set_program_name("kpsewhich")
local pgfr=kpse.lookup("pgf.revision.tex")
local f = assert(io.open(pgfr, "r"))
local content = f:read("*all")
f:close()

-- extract version string
local v,v2,pgfversion = string.find(content,"pgfversion{([^}]*)")



local myfile = io.open(arg[1], "r")
local content = myfile:read("*all")
myfile:close()

print ("% My pgf version is: " .. pgfversion)

-- edit comment
 content = string.gsub(content,
     "%% My pgf version is: %S*",
     "%% My pgf version is: " .. pgfversion)

-- update file BEWARE WRITES FILE
 local myfile = io.open(arg[1], "w")
 myfile:write(content)
 myfile:close()

información relacionada