So erstellen Sie einen Kommentar mit \pgfversion

So erstellen Sie einen Kommentar mit \pgfversion

Ich möchte in meiner Latex-Datei (.tex) einen Kommentar wie folgt erstellen:

% My pgf version is: 3.1.9a

außer dass die Versionsnummer (im obigen Beispiel „3.1.9a“) aus dem \pgfversionBefehl stammt.

Gibt es eine Möglichkeit, dies zu tun?

Hinweis: Meiner Meinung nach ist es besser, die PGF-Version als Kommentar in der .tex-Datei zu verstauen, als sie in dem von mir erstellten Dokument auszudrucken. Mein Problem ist, dass der gesamte Text nach dem Kommentarzeileninitiator „%“ wörtlich als Kommentartext behandelt wird. Ich verwende MiKTeX unter Windows und TeX Live unter Ubuntu. Die Antwort sollte mit beiden kompatibel sein.

Antwort1

wenn Sie das Lua-Skript unten speichern alspgfv.lua

und lassen Sie eine Datei sagen myfile.tex, die einen Kommentar hat

% My pgf version is: anything

dann laufen

texlua pgfv.lua myfile.tex

wird aktualisiert myfile.tex, sodass der Kommentar Ihre aktuelle PGF-Version enthält

% My pgf version is: 3.1.9a

NOTIZDieses Skript schreibt die Datei mit minimalen Fehlerprüfungen neu. Sichern Sie sie, bevor Sie es ausführen.


Lua-Skript;



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

verwandte Informationen