texlive[42687] trunk: ptex2pdf (12dec16)
commits+karl at tug.org
commits+karl at tug.org
Mon Dec 12 23:53:44 CET 2016
Revision: 42687
http://tug.org/svn/texlive?view=revision&revision=42687
Author: karl
Date: 2016-12-12 23:53:44 +0100 (Mon, 12 Dec 2016)
Log Message:
-----------
ptex2pdf (12dec16)
Modified Paths:
--------------
trunk/Build/source/texk/texlive/linked_scripts/ptex2pdf/ptex2pdf.lua
trunk/Master/texmf-dist/scripts/ptex2pdf/ptex2pdf.lua
Added Paths:
-----------
trunk/Master/texmf-dist/doc/latex/ptex2pdf/README.md
Removed Paths:
-------------
trunk/Master/texmf-dist/doc/latex/ptex2pdf/README
Modified: trunk/Build/source/texk/texlive/linked_scripts/ptex2pdf/ptex2pdf.lua
===================================================================
--- trunk/Build/source/texk/texlive/linked_scripts/ptex2pdf/ptex2pdf.lua 2016-12-12 22:52:09 UTC (rev 42686)
+++ trunk/Build/source/texk/texlive/linked_scripts/ptex2pdf/ptex2pdf.lua 2016-12-12 22:53:44 UTC (rev 42687)
@@ -1,7 +1,7 @@
#!/usr/bin/env texlua
NAME = "ptex2pdf[.lua]"
-VERSION = "0.8"
+VERSION = "0.9"
AUTHOR = "Norbert Preining"
AUTHOREMAIL = "norbert at preining.info"
SHORTDESC = "Convert Japanese TeX documents to pdf"
@@ -15,7 +15,7 @@
[texlua] ptex2pdf[.lua] { option | basename[.tex] } ...
options: -v version
-h help
- --help print full help (installation, TeXworks setup)
+ -help print full help (installation, TeXworks setup)
-e use eptex class of programs
-u use uptex class of programs
-l use latex based formats
@@ -22,13 +22,15 @@
-s stop at dvi
-i retain intermediate files
-ot '<opts>' extra options for TeX
- -od '<opts>' extra options for dvipdfmx]]
+ -od '<opts>' extra options for dvipdfmx
+ -output-directory '<dir>' directory for created files]]
LICENSECOPYRIGHT = [[
Originally based on musixtex.lua from Bob Tennent.
+(c) Copyright 2016 by Japanese TeX Development Community
+(c) Copyright 2013-2016 Norbert Preining norbert at preining.info
(c) Copyright 2012 Bob Tennent rdt at cs.queensu.ca
-(c) Copyright 2013-2015 Norbert Preining norbert at preining.info
This program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
@@ -129,37 +131,43 @@
| | $fullname |
]]
-DEVELPLACE = "http://github.com/norbusan/ptex2pdf"
+DEVELPLACE = "http://github.com/texjporg/ptex2pdf"
CHANGELOG = [[
-- version 0.1 2013-03-08 NP
+- version 0.1 2013-03-08 NP
Initial release on blog
-- version 0.2 2013-03-10 NP
- import into git repository
- support passing options on to tex and dvipdfm
- add README with TeXworks config options
-- version 0.3 2013-05-01 NP
- include the readme in the lua code
- fix program name for -e -u
-- version 0.4 2013-05-07 NP
- quote the filename with ", so that special chars do survive
- add an example for TeXworks for files with different kanji encoding
-- version 0.5 2014-11-05 NP
- on Windows: set command_line_encoding to utf8 when running uptex
- (patch by Akira Kakuto)
-- version 0.6 2015-03-08 NP
- cygwin didn't like the (accidentally inserted) spaces after the
- texlua in the shebang line, and stopped working with
- "no such program: "texlua " ..."
-- version 0.7 2015-04-29
- move to github as gitorious will be closed, adapt help output
- to generate github flavored markdown
- check for files using kpathsea instead of opening directly, to allow
- for input of files found by kpathsea (closes github issue 1)
-- version 0.8 2015-06-15
- file name checks: first search for arg as is, then try .tex and .ltx
- (closes github issue: 3)
+- version 0.2 2013-03-10 NP
+ import into git repository
+ support passing options on to tex and dvipdfm
+ add README with TeXworks config options
+- version 0.3 2013-05-01 NP
+ include the readme in the lua code
+ fix program name for -e -u
+- version 0.4 2013-05-07 NP
+ quote the filename with ", so that special chars do survive
+ add an example for TeXworks for files with different kanji encoding
+- version 0.5 2014-11-05 NP
+ on Windows: set command_line_encoding to utf8 when running uptex
+ (patch by Akira Kakuto)
+- version 0.6 2015-03-08 NP
+ cygwin didn't like the (accidentally inserted) spaces after the
+ texlua in the shebang line, and stopped working with
+ "no such program: "texlua " ..."
+- version 0.7 2015-04-29
+ move to github as gitorious will be closed, adapt help output
+ to generate github flavored markdown
+ check for files using kpathsea instead of opening directly, to allow
+ for input of files found by kpathsea (closes github issue 1)
+- version 0.8 2015-06-15
+ file name checks: first search for arg as is, then try .tex and .ltx
+ (closes github issue: 3)
+- version 0.9 2016-12-12
+ allow for files in sub-directories
+ add -output-directory option
+ update copyright and development place (now in texjp)
+ support 'flag=val' to specify option values
+ only allow one (1) filename argument
]]
@@ -249,6 +257,7 @@
use_eptex = 0
use_uptex = 0
use_latex = 0
+outputdir = "."
filename = ""
bname = ""
exit_code = 0
@@ -255,19 +264,27 @@
narg = 1
repeat
this_arg = arg[narg]
+ -- replace double dash by single dash at the beginning
+ this_arg = string.gsub(this_arg, "^%-%-", "-")
+
if this_arg == "-v" then
whoami()
os.exit(0)
- elseif this_arg == "--readme" then
+ elseif this_arg == "-readme" then
makereadme()
os.exit(0)
- elseif this_arg == "--print-version" then
+ elseif this_arg == "-output-directory" then
+ narg = narg+1
+ outputdir = arg[narg]
+ elseif (string.sub(this_arg, 1, 18) == "-output-directory=") then
+ outputdir = string.sub(this_arg, 19, -1)
+ elseif this_arg == "-print-version" then
print(VERSION)
os.exit(0)
elseif this_arg == "-h" then
help()
os.exit(0)
- elseif this_arg == "--help" then
+ elseif this_arg == "-help" then
fullhelp()
os.exit(0)
elseif this_arg == "-e" then
@@ -283,11 +300,20 @@
elseif this_arg == "-ot" then
narg = narg+1
texopts = arg[narg]
+ elseif (string.sub(this_arg, 1, 4) == "-ot=") then
+ texopts = string.sub(this_arg, 5, -1)
elseif this_arg == "-od" then
narg = narg+1
dvipdfopts = arg[narg]
+ elseif (string.sub(this_arg, 1, 4) == "-od=") then
+ dvipdfopts = string.sub(this_arg, 5, -1)
else
- filename = this_arg
+ if filename == "" then
+ filename = this_arg
+ else
+ print("Multiple filename arguments, only one can be processed, exiting.")
+ os.exit(1)
+ end
end --if this_arg == ...
narg = narg+1
until narg > #arg
@@ -354,6 +380,9 @@
-- if it has already an extension, we need to drop it to get the dvi name
bname = string.gsub(filename, "^(.*)%.[^.]+$", "%1")
end
+ -- filename may contain "/" or "\", but the intermediate output is written
+ -- in current directory, so we need to drop it
+ bname = string.gsub(bname, "^.*[/\\](.*)$", "%1")
end
-- we are still here, so we found a file
@@ -363,6 +392,11 @@
os.setenv('command_line_encoding', 'utf8')
end
end
+if (outputdir ~= ".") then
+ texopts = "-output-directory \"" .. outputdir .. "\" " .. texopts
+ bname = outputdir .. "/" .. bname
+ dvipdfopts = "-o \"" .. bname .. ".pdf\""
+end
print("Processing ".. filename)
if (os.execute(tex .. " " .. texopts .. " \"" .. filename .. "\"") == 0) and
(dvipdf == "" or (os.execute(dvipdf .. " " .. dvipdfopts .. " \"" .. bname .. ".dvi" .. "\"") == 0)) then
Deleted: trunk/Master/texmf-dist/doc/latex/ptex2pdf/README
===================================================================
--- trunk/Master/texmf-dist/doc/latex/ptex2pdf/README 2016-12-12 22:52:09 UTC (rev 42686)
+++ trunk/Master/texmf-dist/doc/latex/ptex2pdf/README 2016-12-12 22:53:44 UTC (rev 42687)
@@ -1,171 +0,0 @@
-# ptex2pdf[.lua] #
-
-**Author:** Norbert Preining
-**Website:** http://www.preining.info/blog/software-projects/ptex2pdf/ (in Japanese)
-**License:** GPLv2
-
-Convert Japanese TeX documents to pdf
-
-## Description ##
-
-Main purpose of the script is easy support of Japanese typesetting
-engines in TeXworks. As TeXworks typesetting setup does not allow
-for multistep processing, this script runs one of the ptex based
-programs (ptex, uptex, eptex, platex, uplatex) followed by dvipdfmx.
-
-## Usage ##
-
-`````
-[texlua] ptex2pdf[.lua] { option | basename[.tex] } ...
-options: -v version
- -h help
- --help print full help (installation, TeXworks setup)
- -e use eptex class of programs
- -u use uptex class of programs
- -l use latex based formats
- -s stop at dvi
- -i retain intermediate files
- -ot '<opts>' extra options for TeX
- -od '<opts>' extra options for dvipdfmx
-`````
-
-## Installation ##
-
-Copy the file ptex2pdf.lua into a directory where scripts are found,
-that is for example
-
- `TLROOT/texmf-dist/scripts/ptex2pdf/`
-
-(where `TLROOT` is for example the root of your TeX Live installation)
-
-### Unix ###
-
-create a link in one of the bin dirs to the above file, in the
-TeX Live case:
-
- `TLROOT/bin/ARCH/ptex2pdf -> ../../texmf-dist/scripts/ptex2pdf/ptex2pdf.lua`
-
-### Windows ###
-create a copy of runscript.exe as ptex2pdf.exe, in the TeX Live case:
-
- `copy TLROOT/bin/win32/runscript.exe TLROOT/bin/win32/ptex2pdf.exe`
-
-## TeXworks setup ##
-
-Under Preferences > Typesetting add new entries, for example:
-
-for ptex files:
-
-| Setting | Value |
-|-------------|------------------|
-| Name: | pTeX to pdf |
-| Program: | ptex2pdf |
-| Arguments: | -ot |
-| | $synctexoption |
-| | $fullname |
-
-
-for platex files:
-
-| Setting | Value |
-|-------------|----------------|
-| Name: | pLaTeX to pdf |
-| Program: | ptex2pdf |
-| Arguments: | -l |
-| | -ot |
-| | $synctexoption |
-| | $fullname |
-
-for uptex files:
-
-| Setting | Value |
-|-------------|----------------|
-| Name: | upTeX to pdf |
-| Program: | ptex2pdf |
-| Arguments: | -u |
-| | -ot |
-| | $synctexoption |
-| | $fullname |
-
-for uplatex files:
-
-| Setting | Value |
-|-------------|----------------|
-| Name: | upLaTeX to pdf |
-| Program: | ptex2pdf |
-| Arguments: | -l |
-| | -u |
-| | -ot |
-| | $synctexoption |
-| | $fullname |
-
-If you need special kanji encodings for one of these programs,
-add the respective `-kanji` option after the `$synctexoption`. Example:
-
-for platex files in SJIS encoding:
-
-| Setting | Value |
-|-------------|-----------------------------|
-| Name: | pLaTeX/SJIS to pdf |
-| Program: | ptex2pdf |
-| Arguments: | -l |
-| | -ot |
-| | $synctexoption -kanji=sjis |
-| | $fullname |
-
-
-## Development place ##
-
-http://github.com/norbusan/ptex2pdf
-
-## Changelog ##
-
-- version 0.1 2013-03-08 NP
- Initial release on blog
-- version 0.2 2013-03-10 NP
- import into git repository
- support passing options on to tex and dvipdfm
- add README with TeXworks config options
-- version 0.3 2013-05-01 NP
- include the readme in the lua code
- fix program name for -e -u
-- version 0.4 2013-05-07 NP
- quote the filename with ", so that special chars do survive
- add an example for TeXworks for files with different kanji encoding
-- version 0.5 2014-11-05 NP
- on Windows: set command_line_encoding to utf8 when running uptex
- (patch by Akira Kakuto)
-- version 0.6 2015-03-08 NP
- cygwin didn't like the (accidentally inserted) spaces after the
- texlua in the shebang line, and stopped working with
- "no such program: "texlua " ..."
-- version 0.7 2015-04-29
- move to github as gitorious will be closed, adapt help output
- to generate github flavored markdown
- check for files using kpathsea instead of opening directly, to allow
- for input of files found by kpathsea (closes github issue 1)
-- version 0.8 2015-06-15
- file name checks: first search for arg as is, then try .tex and .ltx
- (closes github issue: 3)
-
-## Copyright and License ##
-
-Originally based on musixtex.lua from Bob Tennent.
-
-(c) Copyright 2012 Bob Tennent rdt at cs.queensu.ca
-(c) Copyright 2013-2015 Norbert Preining norbert at preining.info
-
-This program is free software; you can redistribute it and/or modify it
-under the terms of the GNU General Public License as published by the
-Free Software Foundation; either version 2 of the License, or (at your
-option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
-Public License for more details.
-
-You should have received a copy of the GNU General Public License along
-with this program; if not, write to the Free Software Foundation, Inc.,
-51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-
Added: trunk/Master/texmf-dist/doc/latex/ptex2pdf/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/ptex2pdf/README.md (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/ptex2pdf/README.md 2016-12-12 22:53:44 UTC (rev 42687)
@@ -0,0 +1,179 @@
+# ptex2pdf[.lua] #
+
+**Author:** Norbert Preining
+**Website:** http://www.preining.info/blog/software-projects/ptex2pdf/ (in Japanese)
+**License:** GPLv2
+
+Convert Japanese TeX documents to pdf
+
+## Description ##
+
+Main purpose of the script is easy support of Japanese typesetting
+engines in TeXworks. As TeXworks typesetting setup does not allow
+for multistep processing, this script runs one of the ptex based
+programs (ptex, uptex, eptex, platex, uplatex) followed by dvipdfmx.
+
+## Usage ##
+
+`````
+[texlua] ptex2pdf[.lua] { option | basename[.tex] } ...
+options: -v version
+ -h help
+ -help print full help (installation, TeXworks setup)
+ -e use eptex class of programs
+ -u use uptex class of programs
+ -l use latex based formats
+ -s stop at dvi
+ -i retain intermediate files
+ -ot '<opts>' extra options for TeX
+ -od '<opts>' extra options for dvipdfmx
+ -output-directory '<dir>' directory for created files
+`````
+
+## Installation ##
+
+Copy the file ptex2pdf.lua into a directory where scripts are found,
+that is for example
+
+ `TLROOT/texmf-dist/scripts/ptex2pdf/`
+
+(where `TLROOT` is for example the root of your TeX Live installation)
+
+### Unix ###
+
+create a link in one of the bin dirs to the above file, in the
+TeX Live case:
+
+ `TLROOT/bin/ARCH/ptex2pdf -> ../../texmf-dist/scripts/ptex2pdf/ptex2pdf.lua`
+
+### Windows ###
+create a copy of runscript.exe as ptex2pdf.exe, in the TeX Live case:
+
+ `copy TLROOT/bin/win32/runscript.exe TLROOT/bin/win32/ptex2pdf.exe`
+
+## TeXworks setup ##
+
+Under Preferences > Typesetting add new entries, for example:
+
+for ptex files:
+
+| Setting | Value |
+|-------------|------------------|
+| Name: | pTeX to pdf |
+| Program: | ptex2pdf |
+| Arguments: | -ot |
+| | $synctexoption |
+| | $fullname |
+
+
+for platex files:
+
+| Setting | Value |
+|-------------|----------------|
+| Name: | pLaTeX to pdf |
+| Program: | ptex2pdf |
+| Arguments: | -l |
+| | -ot |
+| | $synctexoption |
+| | $fullname |
+
+for uptex files:
+
+| Setting | Value |
+|-------------|----------------|
+| Name: | upTeX to pdf |
+| Program: | ptex2pdf |
+| Arguments: | -u |
+| | -ot |
+| | $synctexoption |
+| | $fullname |
+
+for uplatex files:
+
+| Setting | Value |
+|-------------|----------------|
+| Name: | upLaTeX to pdf |
+| Program: | ptex2pdf |
+| Arguments: | -l |
+| | -u |
+| | -ot |
+| | $synctexoption |
+| | $fullname |
+
+If you need special kanji encodings for one of these programs,
+add the respective `-kanji` option after the `$synctexoption`. Example:
+
+for platex files in SJIS encoding:
+
+| Setting | Value |
+|-------------|-----------------------------|
+| Name: | pLaTeX/SJIS to pdf |
+| Program: | ptex2pdf |
+| Arguments: | -l |
+| | -ot |
+| | $synctexoption -kanji=sjis |
+| | $fullname |
+
+
+## Development place ##
+
+http://github.com/texjporg/ptex2pdf
+
+## Changelog ##
+
+- version 0.1 2013-03-08 NP
+ Initial release on blog
+- version 0.2 2013-03-10 NP
+ import into git repository
+ support passing options on to tex and dvipdfm
+ add README with TeXworks config options
+- version 0.3 2013-05-01 NP
+ include the readme in the lua code
+ fix program name for -e -u
+- version 0.4 2013-05-07 NP
+ quote the filename with ", so that special chars do survive
+ add an example for TeXworks for files with different kanji encoding
+- version 0.5 2014-11-05 NP
+ on Windows: set command_line_encoding to utf8 when running uptex
+ (patch by Akira Kakuto)
+- version 0.6 2015-03-08 NP
+ cygwin didn't like the (accidentally inserted) spaces after the
+ texlua in the shebang line, and stopped working with
+ "no such program: "texlua " ..."
+- version 0.7 2015-04-29
+ move to github as gitorious will be closed, adapt help output
+ to generate github flavored markdown
+ check for files using kpathsea instead of opening directly, to allow
+ for input of files found by kpathsea (closes github issue 1)
+- version 0.8 2015-06-15
+ file name checks: first search for arg as is, then try .tex and .ltx
+ (closes github issue: 3)
+- version 0.9 2016-12-12
+ allow for files in sub-directories
+ add -output-directory option
+ update copyright and development place (now in texjp)
+ support 'flag=val' to specify option values
+ only allow one (1) filename argument
+
+## Copyright and License ##
+
+Originally based on musixtex.lua from Bob Tennent.
+
+(c) Copyright 2016 by Japanese TeX Development Community
+(c) Copyright 2013-2016 Norbert Preining norbert at preining.info
+(c) Copyright 2012 Bob Tennent rdt at cs.queensu.ca
+
+This program is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 2 of the License, or (at your
+option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
+Public License for more details.
+
+You should have received a copy of the GNU General Public License along
+with this program; if not, write to the Free Software Foundation, Inc.,
+51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+
Modified: trunk/Master/texmf-dist/scripts/ptex2pdf/ptex2pdf.lua
===================================================================
--- trunk/Master/texmf-dist/scripts/ptex2pdf/ptex2pdf.lua 2016-12-12 22:52:09 UTC (rev 42686)
+++ trunk/Master/texmf-dist/scripts/ptex2pdf/ptex2pdf.lua 2016-12-12 22:53:44 UTC (rev 42687)
@@ -1,7 +1,7 @@
#!/usr/bin/env texlua
NAME = "ptex2pdf[.lua]"
-VERSION = "0.8"
+VERSION = "0.9"
AUTHOR = "Norbert Preining"
AUTHOREMAIL = "norbert at preining.info"
SHORTDESC = "Convert Japanese TeX documents to pdf"
@@ -15,7 +15,7 @@
[texlua] ptex2pdf[.lua] { option | basename[.tex] } ...
options: -v version
-h help
- --help print full help (installation, TeXworks setup)
+ -help print full help (installation, TeXworks setup)
-e use eptex class of programs
-u use uptex class of programs
-l use latex based formats
@@ -22,13 +22,15 @@
-s stop at dvi
-i retain intermediate files
-ot '<opts>' extra options for TeX
- -od '<opts>' extra options for dvipdfmx]]
+ -od '<opts>' extra options for dvipdfmx
+ -output-directory '<dir>' directory for created files]]
LICENSECOPYRIGHT = [[
Originally based on musixtex.lua from Bob Tennent.
+(c) Copyright 2016 by Japanese TeX Development Community
+(c) Copyright 2013-2016 Norbert Preining norbert at preining.info
(c) Copyright 2012 Bob Tennent rdt at cs.queensu.ca
-(c) Copyright 2013-2015 Norbert Preining norbert at preining.info
This program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
@@ -129,37 +131,43 @@
| | $fullname |
]]
-DEVELPLACE = "http://github.com/norbusan/ptex2pdf"
+DEVELPLACE = "http://github.com/texjporg/ptex2pdf"
CHANGELOG = [[
-- version 0.1 2013-03-08 NP
+- version 0.1 2013-03-08 NP
Initial release on blog
-- version 0.2 2013-03-10 NP
- import into git repository
- support passing options on to tex and dvipdfm
- add README with TeXworks config options
-- version 0.3 2013-05-01 NP
- include the readme in the lua code
- fix program name for -e -u
-- version 0.4 2013-05-07 NP
- quote the filename with ", so that special chars do survive
- add an example for TeXworks for files with different kanji encoding
-- version 0.5 2014-11-05 NP
- on Windows: set command_line_encoding to utf8 when running uptex
- (patch by Akira Kakuto)
-- version 0.6 2015-03-08 NP
- cygwin didn't like the (accidentally inserted) spaces after the
- texlua in the shebang line, and stopped working with
- "no such program: "texlua " ..."
-- version 0.7 2015-04-29
- move to github as gitorious will be closed, adapt help output
- to generate github flavored markdown
- check for files using kpathsea instead of opening directly, to allow
- for input of files found by kpathsea (closes github issue 1)
-- version 0.8 2015-06-15
- file name checks: first search for arg as is, then try .tex and .ltx
- (closes github issue: 3)
+- version 0.2 2013-03-10 NP
+ import into git repository
+ support passing options on to tex and dvipdfm
+ add README with TeXworks config options
+- version 0.3 2013-05-01 NP
+ include the readme in the lua code
+ fix program name for -e -u
+- version 0.4 2013-05-07 NP
+ quote the filename with ", so that special chars do survive
+ add an example for TeXworks for files with different kanji encoding
+- version 0.5 2014-11-05 NP
+ on Windows: set command_line_encoding to utf8 when running uptex
+ (patch by Akira Kakuto)
+- version 0.6 2015-03-08 NP
+ cygwin didn't like the (accidentally inserted) spaces after the
+ texlua in the shebang line, and stopped working with
+ "no such program: "texlua " ..."
+- version 0.7 2015-04-29
+ move to github as gitorious will be closed, adapt help output
+ to generate github flavored markdown
+ check for files using kpathsea instead of opening directly, to allow
+ for input of files found by kpathsea (closes github issue 1)
+- version 0.8 2015-06-15
+ file name checks: first search for arg as is, then try .tex and .ltx
+ (closes github issue: 3)
+- version 0.9 2016-12-12
+ allow for files in sub-directories
+ add -output-directory option
+ update copyright and development place (now in texjp)
+ support 'flag=val' to specify option values
+ only allow one (1) filename argument
]]
@@ -249,6 +257,7 @@
use_eptex = 0
use_uptex = 0
use_latex = 0
+outputdir = "."
filename = ""
bname = ""
exit_code = 0
@@ -255,19 +264,27 @@
narg = 1
repeat
this_arg = arg[narg]
+ -- replace double dash by single dash at the beginning
+ this_arg = string.gsub(this_arg, "^%-%-", "-")
+
if this_arg == "-v" then
whoami()
os.exit(0)
- elseif this_arg == "--readme" then
+ elseif this_arg == "-readme" then
makereadme()
os.exit(0)
- elseif this_arg == "--print-version" then
+ elseif this_arg == "-output-directory" then
+ narg = narg+1
+ outputdir = arg[narg]
+ elseif (string.sub(this_arg, 1, 18) == "-output-directory=") then
+ outputdir = string.sub(this_arg, 19, -1)
+ elseif this_arg == "-print-version" then
print(VERSION)
os.exit(0)
elseif this_arg == "-h" then
help()
os.exit(0)
- elseif this_arg == "--help" then
+ elseif this_arg == "-help" then
fullhelp()
os.exit(0)
elseif this_arg == "-e" then
@@ -283,11 +300,20 @@
elseif this_arg == "-ot" then
narg = narg+1
texopts = arg[narg]
+ elseif (string.sub(this_arg, 1, 4) == "-ot=") then
+ texopts = string.sub(this_arg, 5, -1)
elseif this_arg == "-od" then
narg = narg+1
dvipdfopts = arg[narg]
+ elseif (string.sub(this_arg, 1, 4) == "-od=") then
+ dvipdfopts = string.sub(this_arg, 5, -1)
else
- filename = this_arg
+ if filename == "" then
+ filename = this_arg
+ else
+ print("Multiple filename arguments, only one can be processed, exiting.")
+ os.exit(1)
+ end
end --if this_arg == ...
narg = narg+1
until narg > #arg
@@ -354,6 +380,9 @@
-- if it has already an extension, we need to drop it to get the dvi name
bname = string.gsub(filename, "^(.*)%.[^.]+$", "%1")
end
+ -- filename may contain "/" or "\", but the intermediate output is written
+ -- in current directory, so we need to drop it
+ bname = string.gsub(bname, "^.*[/\\](.*)$", "%1")
end
-- we are still here, so we found a file
@@ -363,6 +392,11 @@
os.setenv('command_line_encoding', 'utf8')
end
end
+if (outputdir ~= ".") then
+ texopts = "-output-directory \"" .. outputdir .. "\" " .. texopts
+ bname = outputdir .. "/" .. bname
+ dvipdfopts = "-o \"" .. bname .. ".pdf\""
+end
print("Processing ".. filename)
if (os.execute(tex .. " " .. texopts .. " \"" .. filename .. "\"") == 0) and
(dvipdf == "" or (os.execute(dvipdf .. " " .. dvipdfopts .. " \"" .. bname .. ".dvi" .. "\"") == 0)) then
More information about the tex-live-commits
mailing list