Como criar um comentário com \pgfversion

Como criar um comentário com \pgfversion

Gostaria de criar um comentário em meu arquivo Latex (.tex) da seguinte maneira:

% My pgf version is: 3.1.9a

exceto que o número da versão ("3.1.9a" no exemplo acima) vem do \pgfversioncomando.

Existe uma maneira de fazer isso?

Nota: Na minha opinião, a versão PGF fica melhor guardada no arquivo .tex como um comentário do que impressa no documento que eu crio. Meu problema é que todo o texto que segue o iniciador da linha de comentários '%' é tratado literalmente como texto de comentário. Eu uso MiKTeX no Windows e TeX Live no Ubuntu. A resposta deve ser compatível com ambos.

Responder1

se você salvar o script Lua abaixo comopgfv.lua

e faça com que um arquivo diga myfile.texque tem um comentário

% My pgf version is: anything

então correndo

texlua pgfv.lua myfile.tex

será atualizado myfile.texpara que o comentário tenha sua versão atual do pgf

% My pgf version is: 3.1.9a

OBSERVAÇÃOeste script reescreve o arquivo com verificações mínimas de erros, faça backup dele antes de executá-lo.


roteiro 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()

informação relacionada