diff options
author | Karl Berry <karl@freefriends.org> | 2017-04-29 22:24:28 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2017-04-29 22:24:28 +0000 |
commit | 85935959636bed572e9a4916d5373565cbcdc79b (patch) | |
tree | cefad06ac27ff673ee40c9fdae8adaf2f732e731 /Build/source/texk | |
parent | f73d138cf7df8989e3e97d47731a4ca4754fd399 (diff) |
lwarp (29apr17)
git-svn-id: svn://tug.org/texlive/trunk@44119 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/texk')
-rwxr-xr-x | Build/source/texk/texlive/linked_scripts/lwarp/lwarpmk.lua | 78 | ||||
-rwxr-xr-x | Build/source/texk/texlive/linked_scripts/texlive/tlmgr.pl | 28 |
2 files changed, 71 insertions, 35 deletions
diff --git a/Build/source/texk/texlive/linked_scripts/lwarp/lwarpmk.lua b/Build/source/texk/texlive/linked_scripts/lwarp/lwarpmk.lua index 9b7e7e29197..07334170924 100755 --- a/Build/source/texk/texlive/linked_scripts/lwarp/lwarpmk.lua +++ b/Build/source/texk/texlive/linked_scripts/lwarp/lwarpmk.lua @@ -4,7 +4,7 @@ -- Print the usage of the lwarpmk command: -printversion = "v0.29" +printversion = "v0.30" function printhelp () print ("lwarpmk: Use lwarpmk -h or lwarpmk --help for help.") ; @@ -45,8 +45,9 @@ latexname = "pdflatex" (or "lualatex", or "xelatex") sourcename = "projectname" (the source-code filename w/o .tex) homehtmlfilename = "index" (or perhaps the project name) htmlfilename = "" (or "projectname" - filename prefix) -uselatexmk = "false" (or "true" to use latexmk to build PDFs) +latexmk = "false" (or "true" to use latexmk to build PDFs) languge = "english" (use a language supported by xindy) +xdyfile = "lwarp.xdy" (or a custom file based on lwarp.xdy) -- Filenames must contain only letters, numbers, underscore, or dash. Values must be in "quotes". @@ -90,6 +91,8 @@ local conffile = "lwarpmk.conf" if arg[2] ~= nil then conffile = arg[2]..".lwarpmkconf" end -- Default language: language = "english" +-- Default xdyfile: +xdyfile = "lwarp.xdy" -- Verify the file exists: if (lfs.attributes(conffile,"mode")==nil) then -- file not exists print("lwarpmk: " .. conffile .." does not exist.") @@ -104,7 +107,7 @@ io.input(conffile) ; local linenum = 0 for line in io.lines() do -- scan lines linenum = linenum + 1 -i,j,cvarname,cvalue = string.find (line,"([%w-_]*)%s*=%s*\"([%w-_]*)\"") ; +i,j,cvarname,cvalue = string.find (line,"([%w-_]*)%s*=%s*\"([%w%-_%.]*)\"") ; -- Error if incorrect enclosing characters: if ( i == nil ) then print ( linenum .. " : " .. line ) ; @@ -133,8 +136,9 @@ elseif ( cvarname == "latexname" ) then elseif ( cvarname == "sourcename" ) then sourcename = cvalue elseif ( cvarname == "homehtmlfilename" ) then homehtmlfilename = cvalue elseif ( cvarname == "htmlfilename" ) then htmlfilename = cvalue -elseif ( cvarname == "uselatexmk" ) then uselatexmk = cvalue +elseif ( cvarname == "latexmk" ) then latexmk = cvalue elseif ( cvarname == "language" ) then language = cvalue +elseif ( cvarname == "xdyfile" ) then xdyfile = cvalue else print ( linenum .. " : " .. line ) ; print ("lwarpmk: Incorrect variable name \"" .. cvarname .. "\" in " .. conffile ..".\n" ) ; @@ -160,6 +164,16 @@ dirslash = "\\" opquote= "\"" else print ( "lwarpmk: Select Unix or Windows for opsystem" ) end --- for Windows + +-- set xindycmd according to pdflatex vs xelatex/lualatex: +if ( latexname == "pdflatex" ) then +xindycmd = "texindy -C utf8" +glossarycmd = "xindy -C utf8" +else +xindycmd = "xindy -M texindy -C utf8" +glossarycmd = "xindy -C utf8" +end + end -- loadconf function refreshdate () @@ -215,8 +229,10 @@ end function pdftohtml () -- Convert to text: - print ("lwarpmk: Converting " .. sourcename .."_html.pdf to " .. sourcename .. "_html.html") - os.execute("pdftotext -enc UTF-8 -nopgbrk -layout " .. sourcename .. "_html.pdf " .. sourcename .. "_html.html") + print ("lwarpmk: Converting " .. sourcename + .."_html.pdf to " .. sourcename .. "_html.html") + os.execute("pdftotext -enc UTF-8 -nopgbrk -layout " + .. sourcename .. "_html.pdf " .. sourcename .. "_html.html") -- Split the result into individual HTML files: splitfile (homehtmlfilename .. ".html" , sourcename .. "_html.html") end @@ -273,6 +289,24 @@ end end -- do end -- function +-- Use latexmk to compile source and index: +-- fsuffix is "" for print, or "_html" for HTML +function compilelatexmk ( fsuffix ) + -- The recorder option is required to detect changes in <project>.tex + -- while we are loading <project>_html.tex. + err=os.execute ( "latexmk -pdf -dvi- -ps- -recorder " + .. "-e " + .. opquote + .. "$makeindex = q/" + .. xindycmd + .. " -M " .. xdyfile + .. " -L " .. language .. " /" + .. opquote + .. " -pdflatex=\"" .. latexname .." %O %S\" " + .. sourcename..fsuffix ..".tex" ) ; + if ( err ~= 0 ) then print ( "lwarpmk: Compile error.") ; os.exit(1) ; end +end + -- lwarpmk --version : if (arg[1] == "--version") then @@ -288,8 +322,8 @@ print ("lwarpmk: " .. printversion .. " Automated make for the LaTeX lwarp pack if arg[1] == "print" then loadconf () -if ( uselatexmk == "true" ) then - os.execute ( "latexmk -pdf -dvi- -ps- -pdflatex=\"" .. latexname .." %O %S\" " .. sourcename ..".tex" ) ; +if ( latexmk == "true" ) then + compilelatexmk ("") print ("lwarpmk: Done.") else -- not latexmk verifyfileexists (sourcename .. ".tex") ; @@ -316,7 +350,11 @@ end -- not latexmk elseif arg[1] == "printindex" then loadconf () print ("lwarpmk: Processing the index.") -os.execute("texindy -M lwarp_html.xdy " .. sourcename .. ".idx") +os.execute( + xindycmd + .. " -M " .. xdyfile + .. " -L " .. language + .. " " .. sourcename .. ".idx") print ("lwarpmk: Forcing an update of " .. sourcename ..".tex.") refreshdate () print ("lwarpmk: " .. sourcename ..".tex is ready to be recompiled.") @@ -330,7 +368,7 @@ elseif arg[1] == "printglossary" then loadconf () print ("lwarpmk: Processing the glossary.") -os.execute("xindy -L " .. language .. " -C utf8 -I xindy -M " .. sourcename .. +os.execute(glossarycmd .. " -L " .. language .. " -I xindy -M " .. sourcename .. " -t " .. sourcename .. ".glg -o " .. sourcename .. ".gls " .. sourcename .. ".glo") print ("lwarpmk: Forcing an update of " .. sourcename ..".tex.") @@ -342,15 +380,8 @@ print ("lwarpmk: Done.") elseif arg[1] == "html" then loadconf () -if ( uselatexmk == "true" ) then - -- The recorder option is required to detect changes in <project>.tex - -- while we are loading <project>_html.tex. - err=os.execute ( "latexmk -pdf -dvi- -ps- -recorder " - .. "-e " - .. opquote .. "$makeindex = q/texindy -M lwarp_html.xdy/" .. opquote - .. " -pdflatex=\"" .. latexname .." %O %S\" " - .. sourcename .."_html.tex" ) ; - if ( err ~= 0 ) then print ( "lwarpmk: Compile error.") ; os.exit(1) ; end +if ( latexmk == "true" ) then + compilelatexmk ("_html") pdftohtml () print ("lwarpmk: Done.") else -- not latexmk @@ -383,7 +414,12 @@ elseif arg[1] == "pdftohtml" then elseif arg[1] == "htmlindex" then loadconf () print ("lwarpmk: Processing the index.") -os.execute("texindy -M lwarp_html.xdy " .. sourcename .. "_html.idx") +os.execute( + xindycmd + .. " -M " .. xdyfile + .. " -L " .. language + .. " " .. sourcename .. "_html.idx" +) print ("lwarpmk: Forcing an update of " .. sourcename ..".tex.") refreshdate () print ("lwarpmk: " .. sourcename ..".tex is ready to be recompiled.") @@ -397,7 +433,7 @@ elseif arg[1] == "htmlglossary" then loadconf () print ("lwarpmk: Processing the glossary.") -os.execute("xindy -L " .. language .. " -C utf8 -I xindy -M " ..sourcename .. +os.execute(glossarycmd .. " -L " .. language .. " -I xindy -M " ..sourcename .. "_html -t " .. sourcename .. "_html.glg -o " ..sourcename .. "_html.gls " ..sourcename .. "_html.glo") diff --git a/Build/source/texk/texlive/linked_scripts/texlive/tlmgr.pl b/Build/source/texk/texlive/linked_scripts/texlive/tlmgr.pl index f8f3e55ba42..ebc97294ea4 100755 --- a/Build/source/texk/texlive/linked_scripts/texlive/tlmgr.pl +++ b/Build/source/texk/texlive/linked_scripts/texlive/tlmgr.pl @@ -1,13 +1,13 @@ #!/usr/bin/env perl -# $Id: tlmgr.pl 44076 2017-04-27 08:51:00Z preining $ +# $Id: tlmgr.pl 44109 2017-04-28 23:12:11Z karl $ # # Copyright 2008-2017 Norbert Preining # This file is licensed under the GNU General Public License version 2 # or any later version. # -my $svnrev = '$Revision: 44076 $'; -my $datrev = '$Date: 2017-04-27 10:51:00 +0200 (Thu, 27 Apr 2017) $'; +my $svnrev = '$Revision: 44109 $'; +my $datrev = '$Date: 2017-04-29 01:12:11 +0200 (Sat, 29 Apr 2017) $'; my $tlmgrrevision; my $prg; if ($svnrev =~ m/: ([0-9]+) /) { @@ -7134,6 +7134,12 @@ out). If I<value> is given in addition, I<key> is set to I<value> in the respective file. I<No error checking is done!> +Here is a practical example of changing configuration values. If the +execution of (some or all) system commands via C<\write18> was left +enabled during installation, you can disable it afterwards: + + tlmgr conf texmf shell_escape 0 + For C<texmf>, an additional subcommand C<auxtrees> allows adding and removing arbitrary additional texmf trees, completely under user control. C<texmf auxtrees show> shows the list of additional trees, @@ -7145,18 +7151,12 @@ C<ROOT/texmf.cnf>. Example: tlmgr conf texmf auxtrees add /my/quick/test/tree tlmgr conf texmf auxtrees remove /my/quick/test/tree -In all cases the file used can be explicitly specified via the option -C<--conffile I<file>>, in case one wants to operate on a different file. +In all cases the configuration file can be explicitly specified via the +option C<--conffile> I<file>, if desired. -The C<PATH> value shown is that used by C<tlmgr>. The directory in -which the C<tlmgr> executable is found is automatically prepended to the -PATH value inherited from the environment. - -A practical example of changing configuration values: if the execution of -(some or all) system commands via C<\write18> was left enabled during -installation, you can disable it afterwards: - - tlmgr conf texmf shell_escape 0 +The C<PATH> value shown is as used by C<tlmgr>. The directory in which +the C<tlmgr> executable is found is automatically prepended to the PATH +value inherited from the environment. Warning: The general facility is here, but tinkering with settings in this way is strongly discouraged. Again, no error checking on either |