gestion des documents beamer/beamerarticle
Cette révision appartient à :
@@ -8,14 +8,27 @@ def compiler(nf, suff) :
|
|||||||
basedir = os.path.dirname(nf)
|
basedir = os.path.dirname(nf)
|
||||||
builddir = os.path.join(basedir, "_build")
|
builddir = os.path.join(basedir, "_build")
|
||||||
basejobname = os.path.splitext(os.path.basename(nf))[0]
|
basejobname = os.path.splitext(os.path.basename(nf))[0]
|
||||||
subprocess.call(["latexmk", "-pdflua", "-shell-escape", "-bibtex-cond", "-cd", "-interaction=batchmode", "-dvi-", "-jobname="+basejobname+suff, "-outdir=" + builddir, "-latexoption=\"--output-directory="+builddir+"\"", nf])
|
options = suff[1]
|
||||||
os.rename(os.path.join(builddir, basejobname+suff+".pdf"), os.path.join(basedir, basejobname+suff+".pdf"))
|
subprocess.call('''latexmk -pdflua -shell-escape -bibtex-cond -cd -interaction=batchmode -dvi- -jobname=''' +basejobname+suff[0] +''' -outdir=''' + builddir + ''' -latexoption="--output-directory='''+builddir+''' --synctex=0 ''' + options + '''" ''' + nf, shell=True)
|
||||||
|
os.rename(os.path.join(builddir, basejobname+suff[0]+".pdf"), os.path.join(basedir, basejobname+suff[0]+".pdf"))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def clean(nf, suff) :
|
def clean(nf, suff) :
|
||||||
subprocess.call(["latexmk", "-cd", "-c", "-jobname="+os.path.splitext(os.path.basename(nf))[0]+suff, nf])
|
subprocess.call(["latexmk", "-cd", "-c", "-jobname="+os.path.splitext(os.path.basename(nf))[0]+suff, nf])
|
||||||
|
|
||||||
for suff in ["-ENONCE", "-PROF", "-CORRIGE"] :
|
with open(sys.argv[1]) as f :
|
||||||
|
for l in f.readlines() :
|
||||||
|
if l.strip() == "" or l.strip().startswith("%") :
|
||||||
|
continue
|
||||||
|
if "beamerarticle" in l or "-PRES" in l or "-PRINT" in l :
|
||||||
|
modes = [("-PRES", ""), ("-PRINT", "")]
|
||||||
|
elif "beamer" in l :
|
||||||
|
modes = [("", "")]
|
||||||
|
else :
|
||||||
|
modes = [("-ENONCE", ""), ("-PROF", ""), ("-CORRIGE", "")]
|
||||||
|
break
|
||||||
|
|
||||||
|
for suff in modes :
|
||||||
compiler(sys.argv[1], suff)
|
compiler(sys.argv[1], suff)
|
||||||
|
|
||||||
|
|||||||
21
latex/texmf/ysbeamerarticle.cls
Fichier normal
21
latex/texmf/ysbeamerarticle.cls
Fichier normal
@@ -0,0 +1,21 @@
|
|||||||
|
\NeedsTeXFormat{LaTeX2e}
|
||||||
|
\ProvidesClass{ysbeamerarticle}
|
||||||
|
\def\@classoptionslist{french}
|
||||||
|
\PassOptionsToClass{french,10pt,a4paper,DIV=18}{scrartcl}
|
||||||
|
\PassOptionsToClass{french,aspectratio=43}{beamer}
|
||||||
|
\RequirePackage{luacode}
|
||||||
|
\@ifundefined{beamerarticle}{\def\CLASSNAME{beamer}}{\ifnum \beamerarticle = 1 \def\CLASSNAME{scrartcl}\else \def\CLASSNAME{beamer}\fi}%
|
||||||
|
%
|
||||||
|
\begin{luacode*}
|
||||||
|
local beamer = [[\def\CLASSNAME{beamer}]]
|
||||||
|
local scrartcl = [[\def\CLASSNAME{scrartcl}]]
|
||||||
|
if string.sub(tex.jobname, -5) == "-PRES" then
|
||||||
|
tex.print(beamer)
|
||||||
|
elseif string.sub(tex.jobname, -6) == "-PRINT" then
|
||||||
|
tex.print(scrartcl)
|
||||||
|
end
|
||||||
|
\end{luacode*}
|
||||||
|
\LoadClass{\CLASSNAME}
|
||||||
|
|
||||||
|
\endinput
|
||||||
|
|
||||||
Référencer dans un nouveau ticket
Bloquer un utilisateur