From 97ce845259184eb7b0b92436afd8ffb1c6896693 Mon Sep 17 00:00:00 2001 From: Yann Salmon Date: Sun, 5 Aug 2018 21:59:19 +0200 Subject: [PATCH] =?UTF-8?q?script=20lua=20pour=20permettre=20la=20s=C3=A9l?= =?UTF-8?q?ection=20du=20mode=20de=20compilation=20par=20un=20argument=20s?= =?UTF-8?q?ur=20la=20ligne=20de=20commande?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- latex/texmf/ysbeamerarticle.cls | 44 ++++++++++++++++++++++++--------- 1 file changed, 33 insertions(+), 11 deletions(-) diff --git a/latex/texmf/ysbeamerarticle.cls b/latex/texmf/ysbeamerarticle.cls index 3c7fa41..c05b733 100644 --- a/latex/texmf/ysbeamerarticle.cls +++ b/latex/texmf/ysbeamerarticle.cls @@ -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}