script lua pour permettre la sélection du mode de compilation par un argument sur la ligne de commande
Cette révision appartient à :
@@ -1,22 +1,44 @@
|
||||
\NeedsTeXFormat{LaTeX2e}
|
||||
\ProvidesClass{ysbeamerarticle}
|
||||
\def\@classoptionslist{french}
|
||||
\g@addto@macro\@classoptionslist{,french}
|
||||
\PassOptionsToClass{french,10pt,a4paper,DIV=18}{scrartcl}
|
||||
\PassOptionsToClass{french,aspectratio=43}{beamer}
|
||||
\PassOptionsToClass{french}{beamer}
|
||||
\RequirePackage{luacode}
|
||||
\@ifundefined{beamerarticle}{\def\CLASSNAME{beamer}}{\ifnum \beamerarticle = 1 \def\CLASSNAME{scrartcl}\else \def\CLASSNAME{beamer}\fi}%
|
||||
%
|
||||
\begin{luacode*}
|
||||
local beamer = [[\gdef\CLASSNAME{beamer}\wlog{CLASSNAME regle a beamer}]]
|
||||
local scrartcl = [[\gdef\CLASSNAME{scrartcl}\wlog{CLASSNAME regle a scrartcl}]]
|
||||
if string.sub(tex.jobname, -5) == "-PRES" then
|
||||
texio.write_nl("-PRES detecte")
|
||||
tex.print(beamer)
|
||||
elseif string.sub(tex.jobname, -6) == "-PRINT" then
|
||||
tex.print(scrartcl)
|
||||
texio.write_nl("-PRINT detecte")
|
||||
function parseargv()
|
||||
local rep = {}
|
||||
for k, x in pairs(arg) do
|
||||
local kw, vw = string.match(x, "([%w_%-%.]+)=?([%w_%-%./]*)")
|
||||
rep[kw] = vw
|
||||
end
|
||||
return rep
|
||||
end
|
||||
|
||||
function string:endswith(suff)
|
||||
return suff == "" or string.sub(self, -string.len(suff)) == suff
|
||||
end
|
||||
|
||||
local arguments = parseargv()
|
||||
|
||||
local beamer = [[\gdef\CLASSNAME{beamer}]]
|
||||
local scrartcl = [[\gdef\CLASSNAME{scrartcl}]]
|
||||
if arguments["-beamerarticle"] == nil then
|
||||
texio.write_nl("-beamerarticle est nil")
|
||||
if string.endswith(tex.jobname, "-PRES") then
|
||||
tex.print(beamer)
|
||||
elseif string.endswith(tex.jobname, "-PRINT") then
|
||||
tex.print(scrartcl)
|
||||
else
|
||||
texio.write_nl("tex.jobname sans suffixe intéressant : "..tex.jobname)
|
||||
end
|
||||
elseif arguments["-beamerarticle"] == "0" then
|
||||
tex.print(beamer)
|
||||
elseif arguments["-beamerarticle"] == "1" then
|
||||
tex.print(scrartcl)
|
||||
else
|
||||
texio.write_nl("pas de suffixe detecte")
|
||||
texio.write_nl("Erreur : arguments.-beamerarticle vaut "..arguments["-beamerarticle"])
|
||||
end
|
||||
\end{luacode*}
|
||||
\LoadClass{\CLASSNAME}
|
||||
|
||||
Référencer dans un nouveau ticket
Bloquer un utilisateur