texlive[57521] trunk: ltximg (25jan21)
commits+karl at tug.org
commits+karl at tug.org
Mon Jan 25 23:07:48 CET 2021
Revision: 57521
http://tug.org/svn/texlive?view=revision&revision=57521
Author: karl
Date: 2021-01-25 23:07:47 +0100 (Mon, 25 Jan 2021)
Log Message:
-----------
ltximg (25jan21)
Modified Paths:
--------------
trunk/Build/source/texk/texlive/linked_scripts/ltximg/ltximg.pl
trunk/Build/source/texk/texlive/linked_scripts/tlshell/tlshell.tcl
trunk/Master/texmf-dist/doc/support/ltximg/README.md
trunk/Master/texmf-dist/doc/support/ltximg/ltximg-doc.pdf
trunk/Master/texmf-dist/doc/support/ltximg/ltximg-doc.tex
trunk/Master/texmf-dist/scripts/ltximg/ltximg.pl
Added Paths:
-----------
trunk/Master/texmf-dist/doc/support/ltximg/ltximg.1
trunk/Master/texmf-dist/doc/support/ltximg/ltximg.man1.pdf
Modified: trunk/Build/source/texk/texlive/linked_scripts/ltximg/ltximg.pl
===================================================================
(Binary files differ)
Modified: trunk/Build/source/texk/texlive/linked_scripts/tlshell/tlshell.tcl
===================================================================
--- trunk/Build/source/texk/texlive/linked_scripts/tlshell/tlshell.tcl 2021-01-25 22:07:26 UTC (rev 57520)
+++ trunk/Build/source/texk/texlive/linked_scripts/tlshell/tlshell.tcl 2021-01-25 22:07:47 UTC (rev 57521)
@@ -1403,11 +1403,12 @@
set m1 [expr {[dict get $::platforms $pl "fut"] ? 0 : 1}]
dict set ::platforms $pl "fut" $m1
set m0 [dict get $::platforms $pl "cur"]
- if {$m0 == $m1} {
- .tlpl.pl set $pl "stat" [mark_sym $m0]
+ if {$m1 eq $m0} {
+ .tlpl.pl tag remove "changed" $pl
} else {
- .tlpl.pl set $pl "stat" "[mark_sym $m0] \u21d2 [mark_sym $m1]"
+ .tlpl.pl tag add "changed" $pl
}
+ .tlpl.pl set $pl "stat" [mark_sym $m1]
# any changes to apply?
.tlpl.do state disabled
dict for {pname pdict} $::platforms {
@@ -1449,7 +1450,7 @@
} ; # platforms_commit
- # the platforms dialog
+# the platforms dialog
proc platforms_select {} {
if {$::tcl_platform(platform) eq "windows"} return
@@ -1470,10 +1471,14 @@
ttk::button .tlpl.dont -text [__ "Close"] -command \
{end_dlg "" .tlpl}
ppack .tlpl.do -in .tlpl.but -side right
- ppack .tlpl.dont -in .tlpl.but -side right
+ ppack .tlpl.dont -in .tlpl.but -side left
bind .tlpl <Escape> {.tlpl.dont invoke}
+ pack [ttk::label .tlpl.bold -text [__ "Changed entries are bold"] \
+ -font bfont] -in .tlpl.bg -side bottom
+
# platforms treeview; do we need a scrollbar?
+
pack [ttk::frame .tlpl.fpl] -in .tlpl.bg -fill both -expand 1
ttk::treeview .tlpl.pl -columns {stat plat} -show headings \
-height [dict size $::platforms] -yscrollcommand {.tlpl.plsb set}
@@ -1481,9 +1486,13 @@
ttk::scrollbar .tlpl.plsb -orient vertical \
-command {.tlpl.pl yview}
ppack .tlpl.plsb -in .tlpl.fpl -side right -fill y -expand 1
- .tlpl.pl column stat -width [expr {$::cw * 8}]
+ .tlpl.pl column stat -width [expr {$::cw * 3}]
.tlpl.pl heading plat -text [__ "platform"] -anchor w
.tlpl.pl column plat -width [expr {$::cw * 20}]
+
+ # tag for indicating changed entries
+ .tlpl.pl tag configure "changed" -font bfont
+
dict for {pname pdict} $::platforms {
dict set ::platforms $pname "fut" [dict get $pdict "cur"]
}
@@ -1506,7 +1515,169 @@
place_dlg .tlpl .
} ; # platforms_select
+### paper sizes
+# for the simple options:
+proc set_all_papers {p} {
+ run_cmd "paper paper $p" 1
+}
+
+# the next few procs are for the advanced paper selection dialog
+
+proc paper_diff {} {
+ # check for different values and update widgets accordingly
+ set n [lindex [array names ::papers] 0]
+ set p $::papers($n)
+ set ::allpapers $p
+ set ::paperchanges 0
+ .tlpap.do state disabled
+ foreach nm [array names ::papers] {
+ .tlpap.radios.$nm configure -font TkDefaultFont
+ if {$::papers($nm) ne $p} {set ::allpapers ""}
+ if {$::papers($nm) ne $::prevpapers($nm)} {
+ .tlpap.radios.$nm configure -font bfont
+ set ::paperchanges 1
+ .tlpap.do state !disabled
+ }
+ }
+}
+
+proc allpapers_adv {} {
+ # ::allpapers has already been set
+ set ::paperchanges 0
+ .tlpap.do state disabled
+ foreach nm [array names ::papers] {
+ set ::papers($nm) $::allpapers
+ }
+ paper_diff
+}
+
+proc commit_papers {} {
+ foreach nm [array names ::papers] {
+ if {$::papers($nm) ne $::prevpapers($nm)} {
+ set cmd "paper $nm paper $::papers($nm)"
+ if [catch {run_cmd_waiting $cmd} res] {
+ puts "failed paper setting: $res"
+ }
+ }
+ }
+ # clean up no longer needed globals
+ foreach nm [array names ::papers] {unset -nocomplain ::papers($nm)}
+ foreach nm [array names ::prevpapers] {unset -nocomplain ::prevpapers($nm)}
+ unset -nocomplain ::allpapers
+ unset -nocomplain ::paperchanges
+}
+
+proc papersize_advanced {} {
+ # dialog for settings papersize for:
+ # all | pdftex | dvipdfmx | context | dvips | psutils | xdvi
+ # on windows, xdvi is omitted
+ # we also insert a non-existent engine to test handling of missing entries
+ # we could have handled papers somewhat like the platforms dialog,
+ # but radio buttons seem more natural,
+ # and there are not enough items to worry about scrollability.
+ # we create a grid with the radio buttons and a column 'changed'.
+
+ set ::papers(dummy) "" ; # dummy: see comment above
+ foreach nm {"pdftex" "dvipdfmx" "context" "dvips" "psutils" "xdvi"} {
+ set ::papers($nm) ""
+ }
+ if {$::tcl_platform(platform) eq "windows"} {
+ unset -nocomplain ::papers(xdvi)
+ }
+ foreach nm [array names ::papers] {
+ if {[catch {run_cmd_waiting "paper $nm paper"} ::papers($nm)] ||
+ ([llength $::err_log]<1)} {
+ unset -nocomplain ::papers($nm)
+ } else {
+ set l [lindex $::err_log 0]
+ set r [string last "): " $l]
+ if {$r<0} {
+ unset -nocomplain ::papers($nm)
+ continue
+ } else {
+ set r [expr {$r+3}]
+ set ::papers($nm) [string tolower [string range $l $r end]]
+ }
+ if {$::papers($nm) ne "a4" && $::papers($nm) ne "letter"} {
+ set $::papers($nm) ""
+ }
+ }
+ }
+ set nms [array names ::papers] ; # invalid names have now been weeded out
+ if {[llength $nms] < 1} {
+ tk_messageBox -title [__ "Error"] -message [__ "No papersizes available"]
+ # we did not yet start building the dialog, so we can just:
+ return
+ }
+ set nm0 [lindex $nms 0]
+ set ::allpapers $::papers($nm0)
+ foreach nm $nms {
+ set ::prevpapers($nm) $::papers($nm)
+ if {$::papers($nm) ne $::allpapers} {set ::allpapers ""}
+ }
+ set ::paperchanges 0
+
+ # build gui
+ create_dlg .tlpap
+ wm title .tlpap [__ "Paper sizes"]
+ if $::plain_unix {wm attributes .tlpap -type dialog}
+
+ # wallpaper frame
+ pack [ttk::frame .tlpap.bg] -expand 1 -fill both
+
+ # grid with radio buttons
+ pack [ttk::frame .tlpap.radios] -in .tlpap.bg
+
+ foreach {p c} {"a4" 1 "letter" 2} {
+ pgrid [ttk::label .tlpap.radios.head$p -text $p -font bfont] \
+ -row 0 -column $c
+ }
+ grid [ttk::separator .tlpap.radios.sep0 -orient horizontal] \
+ -row 1 -column 0 -columnspan 3 -sticky ew
+ pgrid [ttk::label .tlpap.radios.lall -text [__ "All"]] \
+ -row 2 -column 0 -sticky e
+ foreach {p c} {"a4" 1 "letter" 2} {
+ pgrid [ttk::radiobutton .tlpap.radios.${p}all -value $p \
+ -variable ::allpapers -command allpapers_adv] -row 2 -column $c
+ }
+ grid [ttk::separator .tlpap.radios.sep1 -orient horizontal] \
+ -row 3 -column 0 -columnspan 3 -sticky ew
+ set rw 3
+ foreach nm $nms {
+ incr rw
+ pgrid [ttk::label .tlpap.radios.$nm -text $nm] \
+ -row $rw -column 0 -sticky e
+ foreach {p c} {"a4" 1 "letter" 2} {
+ pgrid [ttk::radiobutton .tlpap.radios.$p$nm -value $p \
+ -variable ::papers($nm) -command paper_diff] -row $rw -column $c
+ }
+ }
+ incr rw
+ grid [ttk::separator .tlpap.radios.sep2 -orient horizontal] \
+ -row $rw -column 0 -columnspan 3 -sticky ew
+
+ # buttons
+ pack [ttk::frame .tlpap.but] -in .tlpap.bg -side bottom -fill x
+ ttk::button .tlpap.do -text [__ "Apply and close"] -command {
+ disable_dlg .tlpap
+ commit_papers
+ end_dlg "" .tlpap
+ }
+ ttk::button .tlpap.dont -text [__ "Close"] -command \
+ {end_dlg "" .tlpap}
+ ppack .tlpap.do -in .tlpap.but -side right
+ ppack .tlpap.dont -in .tlpap.but -side right
+ .tlpap.do state disabled
+ bind .tlpap <Escape> {.tlpap.dont invoke}
+
+ pack [ttk::label .tlpap.bold -text [__ "Changed entries are bold"] \
+ -font bfont] -in .tlpap.bg -side bottom
+
+ wm resizable .tlpap 0 0
+ place_dlg .tlpap .
+}
+
##### restore from backup #####
# This is currently rather dangerous.
@@ -2033,10 +2204,6 @@
focus .pkg_popup
} ; # do_package_popup_menu
-proc set_paper {p} {
- run_cmd "paper paper $p" 1
-}
-
#### gui options ####
proc set_language {l} {
@@ -2208,10 +2375,12 @@
.mn.opt add cascade -label [__ "Paper ..."] -menu .mn.opt.paper
incr inx
menu .mn.opt.paper
- foreach p [list A4 letter] {
+ foreach p {a4 letter} {
.mn.opt.paper add command -label $p -command \
- "set_paper [string tolower $p]"
+ "set_all_papers [string tolower $p]"
}
+ .mn.opt.paper add command -label "[__ "Advanced"] ..." \
+ -command papersize_advanced
if {[llength $::langs] > 1} {
incr inx
Modified: trunk/Master/texmf-dist/doc/support/ltximg/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/support/ltximg/README.md 2021-01-25 22:07:26 UTC (rev 57520)
+++ trunk/Master/texmf-dist/doc/support/ltximg/README.md 2021-01-25 22:07:47 UTC (rev 57521)
@@ -1,6 +1,6 @@
-## LTXimg – LaTeX environments to image format and standalone files
+## LTXimg – LaTeX environments to image and standalone files
-Release v1.9 \[2020-08-22\]
+Release v2.0 \[2021-01-24\]
## Description
@@ -42,7 +42,7 @@
```
[default]
-h, --help Display command line help and exit [off]
--v, --version Display current version (1.8) and exit [off]
+-v, --version Display current version (2.0) and exit [off]
-V, --verbose Verbose printing information [off]
-l, --log Write .log file with debug information [off]
-t, --tif Create .tif files using ghostscript [gs]
@@ -55,19 +55,19 @@
-g, --gray Gray scale for images using ghostscript [off]
-f, --force Capture "\psset" and "\tikzset" to extract [off]
-n, --noprew Create images files without "preview" package [off]
--r <integer>, --runs <integer>
+-r <integer>, --runs=<integer>
Set the number of times the compiler will run
on the input file for environment extraction [1]
--d <integer>, --dpi <integer>
+-d <integer>, --dpi=<integer>
Dots per inch resolution for images [150]
--m <integer>, --margins <integer>
+-m <integer>, --margins=<integer>
Set margins in bp for pdfcrop [0]
--o <filename>, --output <filename>
+-o <filename>, --output=<filename>
Create output file [off]
---imgdir <dirname> Set name of directory to save images/files [images]
---prefix <string> Set prefix append to each generated files [fig]
---myverb <macroname> Add "\macroname" to verbatim inline search [myverb]
---clean (doc|pst|tkz|all|off)
+--imgdir=<dirname> Set name of directory to save images/files [images]
+--prefix=<string> Set prefix append to each generated files [fig]
+--myverb=<macroname> Add "\macroname" to verbatim inline search [myverb]
+--clean=doc|pst|tkz|all|off
Removes specific block text in output file [doc]
--zip Compress files generated in .zip [off]
--tar Compress files generated in .tar.gz [off]
@@ -89,11 +89,11 @@
--norun Run script, but no create images files [off]
--nopdf Don't create a ".pdf" image files [off]
--nocrop Don't run pdfcrop [off]
---extrenv <env1,...> Add new environments to extract [empty]
---skipenv <env1,...> Skip some default environments to extract [empty]
---verbenv <env1,...> Add new verbatim environments [empty]
---writenv <env1,...> Add new verbatim write environments [empty]
---deltenv <env1,...> Delete environments in output file [empty]
+--extrenv=<env1,...> Add new environments to extract [empty]
+--skipenv=<env1,...> Skip some default environments to extract [empty]
+--verbenv=<env1,...> Add new verbatim environments [empty]
+--writenv=<env1,...> Add new verbatim write environments [empty]
+--deltenv=<env1,...> Delete environments in output file [empty]
```
## Example
@@ -118,11 +118,17 @@
For recreation all documentation use:
```
-$ arara ltximg-doc.dtx -H
+$ arara ltximg-doc.tex -H
```
-## Licence
+## Author
+Pablo González L, `<pablgonz at yahoo.com>`.
+
+## Copyright and Licence
+
+Copyright 2013 - 2020 Pablo González L `<pablgonz at yahoo.com>`.
+
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 3 of the License,
or (at your option) any later version.
@@ -130,11 +136,3 @@
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.
-
-## Author
-
-Written by Pablo González L `<pablgonz at yahoo.com>`.
-
-## Copyright
-
-Copyright 2013 - 2020 by Pablo González L.
Modified: trunk/Master/texmf-dist/doc/support/ltximg/ltximg-doc.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/support/ltximg/ltximg-doc.tex
===================================================================
--- trunk/Master/texmf-dist/doc/support/ltximg/ltximg-doc.tex 2021-01-25 22:07:26 UTC (rev 57520)
+++ trunk/Master/texmf-dist/doc/support/ltximg/ltximg-doc.tex 2021-01-25 22:07:47 UTC (rev 57521)
@@ -85,8 +85,8 @@
% Identification
\def\myscript{ltximg}
-\def\fileversion{1.9}
-\def\filedate{2020-08-22}
+\def\fileversion{2.0}
+\def\filedate{2021-01-24}
% Logo with fetamont and libertuns font
\ExplSyntaxOn
@@ -137,10 +137,10 @@
urlcolor = magenta,%
colorlinks = true,%
linktoc = all,
- pdftitle = {.:: ltximg v\fileversion{} [\filedate] --- LaTeX environments to image format and standalone files ::.},%
+ pdftitle = {.:: ltximg v\fileversion{} [\filedate] --- LaTeX environments to image and standalone files ::.},%
pdfauthor = {Pablo Gonz\'{a}lez Luengo},%
pdfsubject = {Documentation for version \fileversion},%
- pdfcopyright = {\textcopyright 2013 - 2020 by Pablo González Luengo},
+ pdfcopyright = {\textcopyright 2013 - 2021 by Pablo González Luengo},
pdfcontacturl = {https://github.com/pablgonz/ltximg},
pdfkeywords = {extract, conversion, images, TikZ, PStricks, standalone files},
pdfstartview = {FitH},%
@@ -161,7 +161,7 @@
}
\setfoot{\rlap{\hskip\dimexpr-\oddsidemargin-1in\relax%
\parbox{1.93\paperwidth}{\hfil\thepage\,/\,\pageref{LastPage}}}}%
- {\parbox{\textwidth}{\raggedright \textcolor{gray}{\raisebox{-1pt}{\textcopyright}{}2013 -- 2020 by Pablo González}}}%
+ {\parbox{\textwidth}{\raggedright \textcolor{gray}{\raisebox{-1pt}{\textcopyright}{}2013 -- 2021 by Pablo González}}}%
{}%
\sethead{\llap{\raisebox{0.55cm}{\parbox{\dimexpr\oddsidemargin+1in\relax}{\makebox[0pt][l]{\hspace{15pt}\pkglogo\space\fileversion}}}}}
{\raisebox{0.55cm}{\parbox{\textwidth}{\hspace*{-\oddsidemargin}\centering\small\S.\firstextramarks{section}\thesection\space\sectiontitle}}}%
@@ -637,7 +637,7 @@
#1,%
}% close lstset
}%
-{}% close examplecode
+{\vspace{-\parskip}}% close examplecode
% \begin{examplecmd}...\end{examplecmd}
\lstnewenvironment{examplecmd}{%
@@ -663,7 +663,7 @@
% % Reserved words (cmd line options)
classoffset=8,%
keywordstyle={\color{ForestGreen}},%
- morekeywords={gs,pdftoppm,pdftocairo,pdftops,cd,perl,pdfcrop},%
+ morekeywords={gs,ps2pdf,pdftoppm,pdftocairo,pdftops,cd,perl,pdfcrop},%
% Only for command line options
classoffset=5,%
keywordstyle=\color{blue},%
@@ -678,7 +678,7 @@
{~}{{\textcolor{blue}{\bfseries\textasciitilde}}}{1}%
}% close lstset
}%
-{}% close examplecmd
+{\vspace{-\parskip}}% close examplecmd
% \lstinline[style=inline]|...|
\lstdefinestyle{inline}
@@ -707,11 +707,11 @@
This file describes a documentation for version \fileversion, last revised \filedate.}\\[25pt]%
\author{%
\large%
- \raisebox{-1pt}{\textcopyright}{}2013--2020 by Pablo González L%
+ \raisebox{-1pt}{\textcopyright}{}2013--2021 by Pablo González L%
\thanks{E-mail: \textcolor{optcolor}{\textsf{\guillemotleft}}\email{pablgonz at yahoo.com}\textcolor{optcolor}{\textsf{\guillemotright}}}
}%
\small
-\textsc{ctan}: \url{https://www.ctan.org/pkg/ltximg}\\
+\textcolor{gray}{\textsc{ctan}}\,\,\,\url{https://www.ctan.org/pkg/ltximg}\\
\textcolor{gray}{\scriptsize\faIcon[regular]{github}}\,\,\,\url{https://github.com/pablgonz/ltximg}
\vspace*{-2cm}
}%
@@ -788,25 +788,30 @@
For the complete operation of \ltximg{} you need to have a modern %
\hologo{TeX} distribution such as \hologo{TeX} Live or \hologo{MiKTeX}, have
a version equal to or greater than \liningnums{5.28} of \prgname{perl}, a
-version equal to or greater than \liningnums{9.24} of \prgname{ghostscript}, a
+version equal to or greater than \liningnums{9.52} of \prgname{ghostscript}, a
version equal to or greater than \liningnums{1.40} of \scriptname{pdfcrop}
and have a version equal to or greater than \liningnums{0.52} of %
-\prgname{poppler-utils}. The distribution of \hologo{TeX} Live 2020 for \OSsystem{Windows} includes %
-\ltximg{} and all requirements, \hologo{MiKTeX} users must install the
-appropriate software for full operation.
+\prgname{poppler-utils}.
+The script uses only packages from the core of the \prgname{perl}, the
+distribution encapsulated in \hologo{TeX} Live 2020 for \OSsystem{Windows}
+does not have the \verb|Win32::Console::ANSI| package, this does not
+affect the operation of the script, but it does affect the presentation
+of the messages when invoked from \verb|cmd|, it is recommended to use
+a more modern (and comfortable) application such as \prgname{Windows Terminal}.
+\hologo{MiKTeX} users must install the appropriate software for full
+operation.
+
The script auto detects the \prgname{ghostscript}, but not \prgname{poppler-utils}.
You should keep this in mind if you are using the script directly and not
the version provided in your \hologo{TeX} distribution.
-The script has been tested on \OSsystem{Windows} (v10) and %
-\OSsystem{Linux} (fedora 32) using \prgname{ghostscript} %
-\liningnums{v9.52}, \prgname{poppler-utils} \liningnums{v0.84}, \prgname{perl} \liningnums{v5.30}
-and the standard classes offers by \hologo{LaTeX}: \myclass{book},
-\myclass{report}, \myclass{article} and \myclass{letter}. The \pkgname{preview}\cite{preview} and
-\pkgname{pst-pdf}\cite{pst-pdf} packages are required to process the \meta{input file} and if
-an \meta{output file} is generated, the \pkgname{graphicx}\cite{graphicx} and \pkgname{grfext}\cite{grfext}
-packages will be needed.
+The script has been tested on \OSsystem{Windows} v10, \prgname{cygwin} v3.1.6, \prgname{Git for Windows} v2.30 and %
+\OSsystem{Linux} (fedora 33) using \prgname{ghostscript} v9.53.3, \prgname{poppler-utils} v0.90, \prgname{perl} v5.32
+and the standard classes offers by \hologo{LaTeX}: \myclass{book}, \myclass{report}, \myclass{article} and
+\myclass{letter}. The \pkgname{preview}\cite{preview} and \pkgname{pst-pdf}\cite{pst-pdf} packages are
+required to process the \meta{input file} and if an \meta{output file} is generated, the \pkgname{graphicx}\cite{graphicx}
+and \pkgname{grfext}\cite{grfext} packages will be needed.
\section{How it works}
\label{sec:howtowork}
@@ -896,10 +901,9 @@
supported. They are automatically detected the \emph{verbatim macro} (including \texttt{\small\bfseries\textcolor{MediumOrchid}{*}} argument) generates by
\ics{newmint} and \ics{newmintinline} and the following list:
-\vspace*{-10pt}
+\setlength{\multicolsep}{2ex}
\begin{multicols}{3}
-\begin{itemize}[font=\sffamily\small,partopsep=5pt,parsep=5pt,nosep,leftmargin=*]
-\small
+\begin{itemize}[font=\sffamily\small,first=\small,partopsep=5pt,parsep=5pt,nosep,leftmargin=*]
\item \ics{mint}
\item \ics{spverb}
\item \ics{qverb}
@@ -944,9 +948,9 @@
environments. The following list (including \texttt{\small\bfseries\textcolor{MediumOrchid}{*}} argument)
is considered as \meta{verbatim standard} environments:
+\setlength{\multicolsep}{2ex}
\begin{multicols}{4}
-\begin{itemize}[font=\sffamily\small, noitemsep,leftmargin=*]
-\small
+\begin{itemize}[font=\sffamily\small, first=\small,noitemsep,leftmargin=*]
\item \LVenv{Example}
\item \LVenv{CenterExample}
\item \LVenv{SideBySideExample}
@@ -989,9 +993,9 @@
(including \texttt{\small\bfseries\textcolor{MediumOrchid}{*}} argument)
generates by commands:
+\setlength{\multicolsep}{2ex}
\begin{multicols}{2}
-\begin{itemize}[font=\sffamily\small,noitemsep,leftmargin=*]
-\small
+\begin{itemize}[font=\sffamily\small,first=\small,noitemsep,leftmargin=*]
\item \ics{DefineVerbatimEnvironment}
\item \ics{NewListingEnvironment}
\item \ics{DeclareTCBListing}
@@ -1021,9 +1025,9 @@
or \LWenv{VerbatimOut} environments. The following list is considered (including \texttt{\small\bfseries\textcolor{MediumOrchid}{*}} argument) as %
\meta{verbatim write} environments:
+\setlength{\multicolsep}{2ex}
\begin{multicols}{4}
-\begin{itemize}[font=\sffamily\small, noitemsep,leftmargin=*]
-\ttfamily\small
+\begin{itemize}[font=\sffamily\small, first=\ttfamily\small,noitemsep,leftmargin=*]
\item \LWenv{scontents}
\item \LWenv{filecontents}
\item \LWenv{tcboutputlisting}
@@ -1047,8 +1051,7 @@
(including \texttt{\small\bfseries\textcolor{MediumOrchid}{*}} argument) environments generates
by commands:
-\begin{itemize}[font=\sffamily\small, noitemsep,leftmargin=*]
-\small
+\begin{itemize}[font=\sffamily\small, first=\small, noitemsep,leftmargin=*]
\item \ics{renewtcbexternalizetcolorbox}
\item \ics{renewtcbexternalizeenvironment}
\item \ics{newtcbexternalizeenvironment}
@@ -1167,20 +1170,25 @@
\subsection*{Generate image formats}
-In the fourth step, the script generating the file \sysfile{test-fig-1981.pdf} with all code extracted and croping, running:
+In the fourth step, the script generating the file \sysfile{test-fig-1981.pdf}
+with all code extracted and croping, running:
+
\begin{examplecmd}
[user at machine ~:]§ `\small\meta[type=tt,cf=ForestGreen,ac=lightgray]{compiler}` -no-shell-escape -interaction=nonstopmode -recorder test-fig-1981.tex
[user at machine ~:]§ pdfcrop --margins `\small\textcolor{gray}{0}` test-fig-1981.pdf test-fig-1981.pdf
\end{examplecmd}
+
Now move \sysfile{test-fig-1981.pdf} to \sysdir{/tmp/hG45uVklv9} and rename to \sysfile{test-fig-all.pdf},
generate image files \sysfile{test-fig-1.pdf} and \sysfile{test-fig-2.pdf} and copy to \sysdir{./images}, if the
image files exist, they will be rewritten each time you run the script. The file \sysfile{test-fig-1981.tex} is
moved to the \sysdir{./images} and rename to \sysfile{test-fig-all.tex}.
-Note the options passed to \meta[type=tt,cf=ForestGreen,ac=lightgray]{compiler} always use \prgopt*{no-shell-escape}
-and \prgopt*{recorder}, to generate the \fext{fls} file which is used to delete temporary files and directories after
-the process is completed. The \cmdopt{shell} option activates \prgopt*{shell-escape} for compatibility with packages
-such as \pkgname{minted} or others.
+Note the options passed to \meta[type=tt,cf=ForestGreen,ac=lightgray]{compiler}
+always use \prgopt*{no-shell-escape} and \prgopt*{recorder} to generate the
+\fext{fls} file which is used to delete temporary files and directories
+after the process is completed. The \cmdopt{shell} option activates
+\prgopt*{shell-escape} or \prgopt*{enable-write18} in \hologo{MiKTeX}
+for compatibility with packages such as \pkgname{minted} or others.
\subsection*{Create output file}
@@ -1200,7 +1208,7 @@
in \enquote{\sysdir{./}}, then proceed to run:
\begin{examplecmd}
-[user at machine ~:]§ `\small\meta[type=tt,cf=ForestGreen,ac=lightgray]{compiler}` -recorder -shell-escape test-out.tex
+[user at machine ~:]§ `\small\meta[type=tt,cf=ForestGreen,ac=lightgray]{compiler}` -recorder -no-shell-escape test-out.tex
\end{examplecmd}
generating the file \sysfile{test-out.pdf}.
@@ -1330,9 +1338,10 @@
\DescribeTE{nopreview}
Environment provide by \pkgname{preview} package. Internally the script
-converts all \emph{\enquote{skip}} environments to \lstinline|\begin{nopreview} ... \end{nopreview}|.
-Is better comment this package in preamble unless the option \cmdopt[n]{noprew}{} is used.
-This environment is reserved for the internal process of extraction and conversion, it
+converts all \emph{\enquote{skip}} environments to \lstinline|\begin{nopreview}| \dots
+\lstinline|\end{nopreview}|. Is better comment this package in preamble
+unless the option \cmdopt[n]{noprew}{} is used. This environment is
+reserved for the internal process of extraction and conversion, it
cannot be passed as an argument to the option \cmdopt{extrenv}.
\vspace{\baselineskip}
@@ -1430,12 +1439,15 @@
\section{How to use}
\subsection{Syntax}
+
The syntax for \ltximg{} is simple, if your use the version provided in your \hologo{TeX} distribution:
\begin{examplecmd}
[user at machine ~:]§ ltximg `\small\oarg[type=tt,cf=optcolor,sbc=gray,ac=lightgray]{options} \textcolor{gray}{\texttt{[-\/-]}} \meta[cf=optcolor]{input file}`
\end{examplecmd}
+
If the development version is used:
+
\begin{examplecmd}
[user at machine ~:]§ perl ltximg `\small\oarg[type=tt,cf=optcolor,sbc=gray,ac=lightgray]{options} \textcolor{gray}{\texttt{[-\/-]}} \meta[cf=optcolor]{input file}`
\end{examplecmd}
@@ -1455,43 +1467,44 @@
between the option and the \meta{value}. Multiple short options can be bundling and if the last option takes a
\meta{comma separated list} you need \textcolor{optcolor}{\bfseries\texttt{-\/-}} at the end.
-\DescribeCmd[h]{help}{bolean}{off}
+\vspace{\baselineskip}
+\DescribeCmd[h]{help}{boolean}{off}
Display a command line help and exit.
-\DescribeCmd[l]{log}{bolean}{off}
+\DescribeCmd[l]{log}{boolean}{off}
Write a \Fext{ltximg}{log} file with all process information.
-\DescribeCmd[v]{version}{bolean}{off}
+\DescribeCmd[v]{version}{boolean}{off}
Display the current version (\fileversion) and exit.
-\DescribeCmd[V]{verbose}{bolean}{off}
+\DescribeCmd[V]{verbose}{boolean}{off}
Show verbose information of process in terminal.
\DescribeCmd[d]{dpi}{integer}{150}
Dots per inch for images files. Values are positive integers less than or equal to 2500.
-\DescribeCmd[t]{tif}{bolean}{off}
+\DescribeCmd[t]{tif}{boolean}{off}
Create a \fext{tif} images files using \prgname{ghostscript}.
-\DescribeCmd[b]{bmp}{bolean}{off}
+\DescribeCmd[b]{bmp}{boolean}{off}
Create a \fext{bmp} images files using \prgname{ghostscript}.
-\DescribeCmd[j]{jpg}{bolean}{off}
+\DescribeCmd[j]{jpg}{boolean}{off}
Create a \fext{jpg} images files using \prgname{ghostscript}.
-\DescribeCmd[p]{png}{bolean}{off}
+\DescribeCmd[p]{png}{boolean}{off}
Create a \fext{png} transparent image files using \prgname{ghostscript}.
-\DescribeCmd[e]{eps}{bolean}{off}
+\DescribeCmd[e]{eps}{boolean}{off}
Create a \fext{eps} image files using \prgname{pdftops}.
-\DescribeCmd[s]{svg}{bolean}{off}
+\DescribeCmd[s]{svg}{boolean}{off}
Create a \fext{svg} image files using \prgname{pdftocairo}.
-\DescribeCmd[P]{ppm}{bolean}{off}
+\DescribeCmd[P]{ppm}{boolean}{off}
Create a \fext{ppm} image files using \prgname{pdftoppm}.
-\DescribeCmd[g]{gray}{bolean}{off}
+\DescribeCmd[g]{gray}{boolean}{off}
Create a gray scale for all images using \prgname{ghostscript}. The line behind this options is:
\begin{examplecmd}
@@ -1499,13 +1512,13 @@
-sColorConversionStrategy=Gray -dProcessColorModel=/DeviceGray
\end{examplecmd}
-\DescribeCmd[f]{force}{bolean}{off}
+\DescribeCmd[f]{force}{boolean}{off}
Try to capture \lstinline|\psset|\marg[type=tt]{code} and \lstinline|\tikzset|\marg[type=tt]{code} to extract.
When using the \cmdopt{force} option the script will try to capture \lstinline|\psset|\marg[type=tt]{code} or
\lstinline|\tikzset|\marg[type=tt]{code} and leave it inside the \env{preview} environment, any line that is between \lstinline|\psset|\marg[type=tt]{code} and
\lstinline|\begin{pspicture}| or between \lstinline|\tikzset|\marg[type=tt]{code} and \lstinline|\begin{tikzpicture}| will be captured.
-\DescribeCmd[n]{noprew}{bolean}{off}
+\DescribeCmd[n]{noprew}{boolean}{off}
Create images files without \pkgname{preview} package. The \lstinline|\begin{preview}|\ldots \lstinline|\end{preview}|
lines are only used as delimiters for extracting the content \emph{without} using the package \pkgname{preview}.
Using this option \emph{\enquote{only}} the extracted environments are processed and not the whole \meta[cf=optcolor]{input file}, sometimes
@@ -1512,7 +1525,7 @@
it is better to use it together with \cmdopt{force}.
\DescribeCmd[m]{margins}{integer}{0}
-Set margins in bp for \scriptname{pdfcrop}.
+Set margins in \texttt{bp} for \scriptname{pdfcrop}.
\DescribeCmd[r]{runs}{\textnormal{\ttfamily 1\textbar 2\textbar 3}}{1}
Set the number of times the \meta[type=tt,cf=ForestGreen,ac=lightgray]{compiler} will run
@@ -1527,73 +1540,93 @@
\DescribeCmd{myverb}{macro name}{myverb}
Set custom verbatim command \lstinline+\myverb+. Just pass the \meta{macro name}{}
-\emph{without} \enquote{\textcolor{optcolor}{\texttt{\bfseries\textbackslash}}}.
+\emph{without} \enquote{\textcolor{blue!75}{\texttt{\bfseries\textbackslash}}}.
\DescribeCmd{imgdir}{string}{images}
Set the name of directory for save generated files. Only the \meta{name} of directory
must be passed \emph{without} relative or absolute paths.
-\DescribeCmd{zip}{bolean}{off}
+\DescribeCmd{zip}{boolean}{off}
Compress the files generated by the script in \sysdir{./images} in \fext{zip} format.
Does not include \meta[cf=optcolor]{output file}.
-\DescribeCmd{tar}{bolean}{off}
+\DescribeCmd{tar}{boolean}{off}
Compress the files generated by the script in \sysdir{./images} in \fext{tar.gz} format.
Does not include \meta[cf=optcolor]{output file}.
-\DescribeCmd{srcenv}{bolean}{off}
+\DescribeCmd{srcenv}{boolean}{off}
Create separate files with \emph{\enquote{only code}} for all extracted
environments. This option is mutually exclusive with \cmdopt{subenv}.
-\DescribeCmd{subenv}{bolean}{off}
+\DescribeCmd{subenv}{boolean}{off}
Create a \meta{standalone} files (with \emph{\enquote{preamble and code}}) for all extracted
environments. This option is designed to generate \emph{\enquote{compilable files}}
for each extracted environment, is mutually exclusive with \cmdopt{srcenv}.
-\DescribeCmd{shell}{bolean}{off}
+\DescribeCmd{shell}{boolean}{off}
Enable \ics*{write18}\meta{shell command}.
-\DescribeCmd{norun}{bolean}{off}
+\DescribeCmd{norun}{boolean}{off}
Execute the script, but do not create image files. This option is designed to
be used in conjunction with \cmdopt{srcenv} or \cmdopt{subenv} and to
debug the \meta[cf=optcolor]{output file}.
-\DescribeCmd{nopdf}{bolean}{off}
+\DescribeCmd{nopdf}{boolean}{off}
Don't create a \fext{pdf} image files.
-\DescribeCmd{nocrop}{bolean}{off}
+\DescribeCmd{nocrop}{boolean}{off}
Don't run \scriptname{pdfcrop} in image files.
-\DescribeCmd{arara}{bolean}{off}
+\DescribeCmd{arara}{boolean}{off}
Use \prgname*{arara}\footnote{\url{https://ctan.org/pkg/arara}} tool for compiler \meta[cf=optcolor]{input file}
and \meta[cf=optcolor]{output file}. This option is designed to full process \meta[cf=optcolor]{input file}
and \meta[cf=optcolor]{output file}, is mutually exclusive with \emph{\enquote{any}} other
\meta[type=tt,cf=ForestGreen,ac=lightgray]{compiler} option. See \ref{sec:arara} for more information.
-\DescribeCmd{xetex}{bolean}{off}
+\DescribeCmd{xetex}{boolean}{off}
Using \prgname*{xelatex} compiler \meta[cf=optcolor]{input file} and \meta[cf=optcolor]{output file}.
+In the execution \prgname*{xelatex} is called with the \prgopt*{no-pdf} option
+generating a \fext{xvd} file and then it is processed using \prgname*{xdvipdfmx},
+this is only to execute \emph{faster} the conversion of environments to images
+and it is only done on the \meta[cf=optcolor]{input file}.
-\DescribeCmd{latex}{bolean}{off}
+\DescribeCmd{latex}{boolean}{off}
Using \prgname*{latex}\textcolor{optcolor}{\texttt{\bfseries\guillemotright}}\prgname*{dvips}\textcolor{optcolor}{\texttt{\bfseries\guillemotright}}\scriptname{ps2pdf}
-compiler in \meta[cf=optcolor]{input file} and \prgname*{pdflatex} for \meta[cf=optcolor]{output file}.
+compiler in \meta[cf=optcolor]{input file} and \prgname*{pdflatex} for
+\meta[cf=optcolor]{output file}. To support transparencies in the
+updated versions of \prgname{ghostscript} the line executed by \scriptname{ps2pdf} is:
-\DescribeCmd{dvips}{bolean}{off}
+\begin{examplecmd}
+[user at machine ~:]§ ps2pdf -sPDFSETTINGS=prepress -sAutoRotatePages=None -dALLOWPSTRANSPARENCY
+\end{examplecmd}
+
+\DescribeCmd{dvips}{boolean}{off}
Using \prgname*{latex}\textcolor{optcolor}{\texttt{\bfseries\guillemotright}}\prgname*{dvips}\textcolor{optcolor}{\texttt{\bfseries\guillemotright}}\scriptname{ps2pdf}
-for compiler \meta[cf=optcolor]{input file} and \meta[cf=optcolor]{output file}.
+for compiler \meta[cf=optcolor]{input file} and \meta[cf=optcolor]{output file}. To support transparencies in the
+updated versions of \prgname{ghostscript} the line executed by \scriptname{ps2pdf} is:
-\DescribeCmd{dvilua}{bolean}{off}
+\begin{examplecmd}
+[user at machine ~:]§ ps2pdf -sPDFSETTINGS=prepress -sAutoRotatePages=None -dALLOWPSTRANSPARENCY
+\end{examplecmd}
+
+\DescribeCmd{dvilua}{boolean}{off}
Using \prgname*{dvilualatex}\textcolor{optcolor}{\texttt{\bfseries\guillemotright}}\prgname*{dvips}\textcolor{optcolor}{\texttt{\bfseries\guillemotright}}\scriptname{ps2pdf}
-for compiler \meta[cf=optcolor]{input file} and \prgname*{lualatex} for \meta[cf=optcolor]{output file}.
+for compiler \meta[cf=optcolor]{input file} and \prgname*{lualatex} for \meta[cf=optcolor]{output file}. To support transparencies in the
+updated versions of \prgname{ghostscript} the line executed by \scriptname{ps2pdf} is:
-\DescribeCmd{dvipdf}{bolean}{off}
+\begin{examplecmd}
+[user at machine ~:]§ ps2pdf -sPDFSETTINGS=prepress -sAutoRotatePages=None -dALLOWPSTRANSPARENCY
+\end{examplecmd}
+
+\DescribeCmd{dvipdf}{boolean}{off}
Using \prgname*{latex}\textcolor{optcolor}{\texttt{\bfseries\guillemotright}}\prgname*{dvipdfmx}
for compiler \meta[cf=optcolor]{input file} and \meta[cf=optcolor]{output file}.
-\DescribeCmd{latexmk}{bolean}{off}
+\DescribeCmd{latexmk}{boolean}{off}
Using \scriptname{latexmk}\footnote{\url{https://www.ctan.org/pkg/latexmk}} for process \meta[cf=optcolor]{output file}.
This option is designed to full process \meta[cf=optcolor]{output file}, is mutually exclusive with \cmdopt{arara}.
-\DescribeCmd{luatex}{bolean}{off}
+\DescribeCmd{luatex}{boolean}{off}
Using \prgname*{lualatex} for compiler \meta[cf=optcolor]{input file} and \meta[cf=optcolor]{output file}.
\DescribeCmd{clean}{\textnormal{\ttfamily doc\textbar pst\textbar tkz\textbar all\textbar off}}{doc}
@@ -1645,8 +1678,6 @@
and \pkgname{preview} package for for process \meta[ac=LightSlateGrey,cf=OrangeRed]{test-in.ltx} and
\prgname*{pdflatex} for \meta[ac=LightSlateGrey,cf=OrangeRed]{test-out.ltx}.
-\newpage
-
\subsection{Options from input file}
\label{sec:optfile}
@@ -1803,8 +1834,32 @@
In this way we can \meta{compile} and \meta{convert} any document as long as the conditions
of the \meta[cf=optcolor]{input file} are met and the correct \enquote{rule} are used.
-\newpage
+\section{Note for \texttt{dvisvgm} users}
+\label{sec:dvisvgm}
+By design, the image format \iext{svg} is created using \prgname{pdftocairo} over the
+generated \iext{pdf} file, but, if you want to have a good \iext{svg} files that preserve our \emph{typographic} fonts it is best to
+use \prgname{dvisvgm}\footnote{\url{https://ctan.org/pkg/dvisvgm}}. The best results of \prgname{dvisvgm}\cite{dvisvgm} are obtained when processing the file in \fext{dvi} or \fext{xdv}
+format, there are two possible ways to do this:
+
+\begin{enumerate}[font=\small, nosep, noitemsep,leftmargin=*]
+\item Execute the script using \cmdopt{subenv}{} and \cmdopt{norun}{} to generate \meta{standalone} files, move to \sysdir{./images}
+and generate \fext{dvi} or \fext{xdv} files, then runing:
+
+\begin{examplecmd}
+[user at machine~:]§ for i in *.tex; do `\meta[type=tt,cf=ForestGreen,ac=lightgray]{compiler} \oarg[type=tt,cf=gray,sbc=optcolor,ac=gray]{options}` §i;done
+[user at machine~:]§ for i in *.dvi; do `\small\prgname{dvisvgm} \oarg[type=tt,cf=gray,sbc=optcolor,ac=gray]{options}` §i;done
+\end{examplecmd}
+
+\item Execute the script using \cmdopt{norun}{}, move to \sysdir{./images} and generate \fext{dvi} or \fext{xdv} file, then runing:
+
+\begin{examplecmd}
+[user at machine~:]§ `\meta[type=tt,cf=ForestGreen,ac=lightgray]{compiler} \oarg[type=tt,cf=gray,sbc=optcolor,ac=gray]{options}` test-fig-all.tex
+[user at machine~:]§ `\small\prgname{dvisvgm} \oarg[type=tt,cf=gray,sbc=optcolor,ac=gray]{options}` test-fig-all.dvi
+\end{examplecmd}
+
+\end{enumerate}
+
\section{Example usign \texttt{latexmk}}
If you are a user of \scriptname{latexmk}, another great utility that automates the compilation process, you must keep
@@ -1865,32 +1920,8 @@
\meta[ac=LightSlateGrey,cf=OrangeRed]{file-in.tex} and \scriptname{latexmk} for \emph{full} process
\meta[ac=LightSlateGrey,cf=OrangeRed]{file-out.tex}.
-\section{Note for \texttt{dvisvgm} users}
-\label{sec:dvisvgm}
+\newpage
-By design, the image format \iext{svg} is created using \prgname{pdftocairo} over the
-generated \iext{pdf} file, but, if you want to have a good \iext{svg} files that preserve our \emph{typographic} fonts it is best to
-use \prgname{dvisvgm}\footnote{\url{https://ctan.org/pkg/dvisvgm}}. The best results of \prgname{dvisvgm}\cite{dvisvgm} are obtained when processing the file in \fext{dvi} or \fext{xdv}
-format, there are two possible ways to do this:
-
-\begin{enumerate}[font=\small, nosep, noitemsep,leftmargin=*]
-\item Execute the script using \cmdopt{subenv}{} and \cmdopt{norun}{} to generate \meta{standalone} files, move to \sysdir{./images}
-and generate \fext{dvi} or \fext{xdv} files, then runing:
-
-\begin{examplecmd}
-[user at machine~:]§ for i in *.tex; do `\meta[type=tt,cf=ForestGreen,ac=lightgray]{compiler} \oarg[type=tt,cf=gray,sbc=optcolor,ac=gray]{options}` §i;done
-[user at machine~:]§ for i in *.dvi; do `\small\prgname{dvisvgm} \oarg[type=tt,cf=gray,sbc=optcolor,ac=gray]{options}` §i;done
-\end{examplecmd}
-
-\item Execute the script using \cmdopt{norun}{}, move to \sysdir{./images} and generate \fext{dvi} or \fext{xdv} file, then runing:
-
-\begin{examplecmd}
-[user at machine~:]§ `\meta[type=tt,cf=ForestGreen,ac=lightgray]{compiler} \oarg[type=tt,cf=gray,sbc=optcolor,ac=gray]{options}` test-fig-all.tex
-[user at machine~:]§ `\small\prgname{dvisvgm} \oarg[type=tt,cf=gray,sbc=optcolor,ac=gray]{options}` test-fig-all.dvi
-\end{examplecmd}
-
-\end{enumerate}
-
\section{Final notes}
The process and operations required to generate the various types of \meta{image
@@ -1920,18 +1951,24 @@
This is a short list of some of the notable changes in the history of the \ltximg{} along with the
versions, both development (devp) and public (ctan).
-\setlist[itemize,1]{label=\textendash,wide=0.5em,nosep,noitemsep,leftmargin=10pt}
-% length for change history
-\newlength\descrwidth
-\settowidth{\descrwidth}{\textsf{v1.4.5, (ctan), 2013-01-23}}
-\begin{description}[font=\small\sffamily,wide=0pt,style=multiline,leftmargin=\descrwidth,nosep,noitemsep]
-\item [v\fileversion\ (ctan), \filedate]
+\setlength{\columnsep}{30pt}
+\begin{multicols}{2}
+\setlist[itemize,1]{label=\textendash,nosep,noitemsep,leftmargin=-10pt}
+\begin{description}[font=\small\sffamily,style=nextline,nosep,noitemsep]
+\item [v\fileversion\ (ctan), \filedate] \leavevmode\vspace{-\baselineskip}
\begin{itemize}
+ \item Add \texttt{-dALLOWPSTRANSPARENCY} to \texttt{ps2pdf}.
+ \item The \texttt{--xetex} option now uses \texttt{xelatex} and then \texttt{xdvipdfmx}.
+ \item Fix module detection under \hologo{TeX} Live on Windows.
+ \item Add \texttt{POD} and \texttt{man} documentation.
+ \end{itemize}
+\item [v1.9 (ctan), 2020-08-22] \leavevmode\vspace{-\baselineskip}
+ \begin{itemize}
\item Fix \texttt{graphicx} detection.
\item Fix typos in documentation.
\item Add more contents to \texttt{.log} file.
\end{itemize}
-\item [v1.8 (ctan), 2020-08-18]
+\item [v1.8 (ctan), 2020-08-18] \leavevmode\vspace{-\baselineskip}
\begin{itemize}
\item It is now possible to extract any environment.
\item Add \texttt{--log}, \texttt{--runs}, \texttt{--latexmk} and \texttt{--dvilua} options.
@@ -1939,7 +1976,7 @@
\item Re-write source code acording to \texttt{Perl} v5.3x.
\item Review of documentation.
\end{itemize}
-\item [v1.7 (ctan), 2019-08-24]
+\item [v1.7 (ctan), 2019-08-24] \leavevmode\vspace{-\baselineskip}
\begin{itemize}
\item Add \texttt{scontents} environment support.
\item Add \texttt{filecontentsdefmacro} environment support.
@@ -1946,21 +1983,21 @@
\item Fix regex in source code.
\item Update documentation.
\end{itemize}
-\item [v1.6 (ctan), 2019-07-13]
+\item [v1.6 (ctan), 2019-07-13] \leavevmode\vspace{-\baselineskip}
\begin{itemize}
\item Add \texttt{--zip} and \texttt{--tar} options.
\item Add new \texttt{Verb} from \texttt{fvextra}.
\item Fix and update source code and documentation.
\end{itemize}
-\item [v1.5 (ctan), 2018-04-12]
+\item [v1.5 (ctan), 2018-04-12] \leavevmode\vspace{-\baselineskip}
\begin{itemize}
\item Use \texttt{GitHub} to control version.
- \item Rewrite and optimize most part of source code and options.
+ \item Rewrite and optimize code and options.
\item Change \texttt{pdf2svg} for \texttt{pdftocairo}.
\item Complete support for \texttt{pst-exa} package.
\item Escape characters in regex according to \texttt{Perl} v5.2x.
\end{itemize}
-\item [v1.4 (devp), 2016-11-29]
+\item [v1.4 (devp), 2016-11-29] \leavevmode\vspace{-\baselineskip}
\begin{itemize}
\item Remove and rewrite code for regex and system call.
\item Add \texttt{--arara} compiler, clean and comment code.
@@ -1967,7 +2004,7 @@
\item Add \texttt{--dvips} and \texttt{--dvipdfm(x)} for creation images.
\item Add \texttt{bmp}, \texttt{tiff} image format.
\end{itemize}
-\item [v1.3 (devp), 2016-08-14]
+\item [v1.3 (devp), 2016-08-14] \leavevmode\vspace{-\baselineskip}
\begin{itemize}
\item Rewrite some part of code (norun, nocrop, clean).
\item Suport \texttt{minted} and \texttt{tcolorbox} package.
@@ -1975,13 +2012,13 @@
\item All options read from command line and input file.
\item Use \texttt{/tmp} dir for work process.
\end{itemize}
-\item [v1.2 (ctan), 2015-04-22]
+\item [v1.2 (ctan), 2015-04-22] \leavevmode\vspace{-\baselineskip}
\begin{itemize}
\item Remove unused modules.
\item Add more image format.
\item Fix regex.
\end{itemize}
-\item [v1.1 (ctan), 2015-04-21]
+\item [v1.1 (ctan), 2015-04-21] \leavevmode\vspace{-\baselineskip}
\begin{itemize}
\item Change \texttt{mogrify} to \texttt{gs} for image formats.
\item Create output file.
@@ -1988,11 +2025,12 @@
\item Rewrite source code and fix regex.
\item Change format date to iso format.
\end{itemize}
-\item [v1.0 (ctan), 2013-12-01]
+\item [v1.0 (ctan), 2013-12-01] \leavevmode\vspace{-\baselineskip}
\begin{itemize}
\item First public release.
\end{itemize}
\end{description}
+\end{multicols}
\newpage
Added: trunk/Master/texmf-dist/doc/support/ltximg/ltximg.1
===================================================================
--- trunk/Master/texmf-dist/doc/support/ltximg/ltximg.1 (rev 0)
+++ trunk/Master/texmf-dist/doc/support/ltximg/ltximg.1 2021-01-25 22:07:47 UTC (rev 57521)
@@ -0,0 +1,279 @@
+.\" Automatically generated by Pod::Man 4.14 (Pod::Simple 3.40)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" Set up some character translations and predefined strings. \*(-- will
+.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
+.\" double quote, and \*(R" will give a right double quote. \*(C+ will
+.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
+.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
+.\" nothing in troff, for use with C<>.
+.tr \(*W-
+.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.ie n \{\
+. ds -- \(*W-
+. ds PI pi
+. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
+. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
+. ds L" ""
+. ds R" ""
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds -- \|\(em\|
+. ds PI \(*p
+. ds L" ``
+. ds R" ''
+. ds C`
+. ds C'
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is >0, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.\"
+.\" Avoid warning from groff about undefined register 'F'.
+.de IX
+..
+.nr rF 0
+.if \n(.g .if rF .nr rF 1
+.if (\n(rF:(\n(.g==0)) \{\
+. if \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. if !\nF==2 \{\
+. nr % 0
+. nr F 2
+. \}
+. \}
+.\}
+.rr rF
+.\" ========================================================================
+.\"
+.IX Title "ltximg 1"
+.TH ltximg 1 "2021-01-24" "2.0" "General Commands Manual"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH "NAME"
+ltximg \- LaTeX environments to image and standalone files
+.SH "SYNOPSIS"
+.IX Header "SYNOPSIS"
+\&\fBltximg\fR [<\fIoptions\fR>] [\-\-] <\fIfilename\fR>.<\fItex\fR|\fIltx\fR>
+.SH "DESCRIPTION"
+.IX Header "DESCRIPTION"
+\&\fBltximg\fR automates the process of extracting and converting
+environments from LaTeX file to image formats and \fIstandalone\fR files
+using \fIghostscript\fR and \fIpoppler-utils\fR. Generates a one file with
+only extracted environments and other with all extracted environments
+converted to \f(CW\*(C`\eincludegraphics\*(C'\fR.
+.PP
+By default the extracted environments are:
+.PP
+\&\fBpreview\fR \fBpspicture\fR \fBtikzpicture\fR \fBpgfpicture\fR \fBpsgraph\fR \fBpostscript\fR \fBPSTexample\fR
+.SH "OPTIONS"
+.IX Header "OPTIONS"
+Options that accept a value require either a blank space or \f(CW\*(C`=\*(C'\fR between
+the option and the value. Multiple short options can be bundling and
+if the last option takes a comma separated list you need \f(CW\*(C`\-\-\*(C'\fR at the end.
+Relative or absolute paths for directories and files is not supported.
+.PP
+If used without [<\fIoptions\fR>] the extracted environments are converted
+to \fIpdf\fR image format and saved in \f(CW\*(C`./images\*(C'\fR directory using \f(CW\*(C`pdflatex\*(C'\fR
+and \fIpreview\fR package for process.
+.PP
+General script options:
+.IP "\fB\-h\fR, \fB\-\-help\fR" 4
+.IX Item "-h, --help"
+Display command line help and exit.
+.IP "\fB\-v\fR, \fB\-\-version\fR" 4
+.IX Item "-v, --version"
+Display current version and exit.
+.IP "\fB\-V\fR, \fB\-\-verbose\fR" 4
+.IX Item "-V, --verbose"
+Verbose printing information.
+.IP "\fB\-l\fR, \fB\-\-log\fR" 4
+.IX Item "-l, --log"
+Write \f(CW\*(C`.log\*(C'\fR file with debug information.
+.IP "\fB\-t\fR, \fB\-\-tif\fR" 4
+.IX Item "-t, --tif"
+Create \f(CW\*(C`.tif\*(C'\fR files using \fIghostscript\fR.
+.IP "\fB\-b\fR, \fB\-\-bmp\fR" 4
+.IX Item "-b, --bmp"
+Create \f(CW\*(C`.bmp\*(C'\fR files using \fIghostscript\fR.
+.IP "\fB\-j\fR, \fB\-\-jpg\fR" 4
+.IX Item "-j, --jpg"
+Create \f(CW\*(C`.jpg\*(C'\fR files using \fIghostscript\fR.
+.IP "\fB\-p\fR, \fB\-\-png\fR" 4
+.IX Item "-p, --png"
+Create \f(CW\*(C`.png\*(C'\fR files using \fIghostscript\fR.
+.IP "\fB\-e\fR, \fB\-\-eps\fR" 4
+.IX Item "-e, --eps"
+Create \f(CW\*(C`.eps\*(C'\fR files using \fIpdftops\fR.
+.IP "\fB\-s\fR, \fB\-\-svg\fR" 4
+.IX Item "-s, --svg"
+Create \f(CW\*(C`.svg\*(C'\fR files using \fIpdftocairo\fR.
+.IP "\fB\-P\fR, \fB\-\-ppm\fR" 4
+.IX Item "-P, --ppm"
+Create \f(CW\*(C`.ppm\*(C'\fR files using \fIpdftoppm\fR.
+.IP "\fB\-g\fR, \fB\-\-gray\fR" 4
+.IX Item "-g, --gray"
+Gray scale for images using \fIghostscript\fR.
+.IP "\fB\-f\fR, \fB\-\-force\fR" 4
+.IX Item "-f, --force"
+Capture \f(CW\*(C`\epsset\*(C'\fR and \f(CW\*(C`\etikzset\*(C'\fR to extract.
+.IP "\fB\-n\fR, \fB\-\-noprew\fR" 4
+.IX Item "-n, --noprew"
+Create images files without \fIpreview\fR package.
+.IP "\fB\-r\fR \fIinteger\fR, \fB\-\-runs\fR=\fIinteger\fR" 4
+.IX Item "-r integer, --runs=integer"
+Set the number of times the compiler will run on the \fIinput\fR file for
+environment extraction (default: 1).
+.IP "\fB\-d\fR \fIinteger\fR, \fB\-\-dpi\fR=\fIinteger\fR" 4
+.IX Item "-d integer, --dpi=integer"
+Dots per inch resolution for images (default: 150).
+.IP "\fB\-m\fR \fIinteger\fR, \fB\-\-margins\fR=\fIinteger\fR" 4
+.IX Item "-m integer, --margins=integer"
+Set margins in bp for \fIpdfcrop\fR (default: 0).
+.IP "\fB\-o\fR \fIfilename\fR, \fB\-\-output\fR=\fIfilename\fR" 4
+.IX Item "-o filename, --output=filename"
+Create \fIoutput\fR file.
+.IP "\fB\-\-imgdir\fR=\fIdirname\fR" 4
+.IX Item "--imgdir=dirname"
+Set name of directory to save images and files (default: images).
+.IP "\fB\-\-prefix\fR=\fIstring\fR" 4
+.IX Item "--prefix=string"
+Set \fIprefix\fR append to each generated files (default: fig).
+.IP "\fB\-\-myverb\fR=\fImacroname\fR" 4
+.IX Item "--myverb=macroname"
+Add \f(CW\*(C`\emacroname\*(C'\fR to verbatim inline search (default: myverb).
+.IP "\fB\-\-clean\fR=\fIdoc\fR|\fIpst\fR|\fItkz\fR|\fIall\fR|\fIoff\fR" 4
+.IX Item "--clean=doc|pst|tkz|all|off"
+Removes specific block text in \fIoutput\fR file (default: doc).
+.IP "\fB\-\-zip\fR" 4
+.IX Item "--zip"
+Compress files generated in \f(CW\*(C`.zip\*(C'\fR format.
+.IP "\fB\-\-tar\fR" 4
+.IX Item "--tar"
+Compress files generated in \f(CW\*(C`.tar.gz\*(C'\fR format.
+.IP "\fB\-\-srcenv\fR" 4
+.IX Item "--srcenv"
+Create files with only code of environments.
+.IP "\fB\-\-subenv\fR" 4
+.IX Item "--subenv"
+Create standalone files for environments.
+.IP "\fB\-\-shell\fR" 4
+.IX Item "--shell"
+Enable \f(CW\*(C`\ewrite18{SHELL COMMAND}\*(C'\fR.
+.IP "\fB\-\-latex\fR" 4
+.IX Item "--latex"
+Using \f(CW\*(C`latex>dvips>ps2pdf\*(C'\fR for compiler \fIinput\fR and \f(CW\*(C`pdflatex\*(C'\fR for compiler
+\&\fIoutput\fR.
+.IP "\fB\-\-dvips\fR" 4
+.IX Item "--dvips"
+Using \f(CW\*(C`latex>dvips>ps2pdf\*(C'\fR for compiler \fIinput\fR and \f(CW\*(C`latex>dvips>ps2pdf\*(C'\fR for
+compiler \fIoutput\fR.
+.IP "\fB\-\-dvilua\fR" 4
+.IX Item "--dvilua"
+Using \f(CW\*(C`dvilualatex>dvips>ps2pdf\*(C'\fR for compiler \fIinput\fR and \f(CW\*(C`lualatex\*(C'\fR for
+compiler \fIoutput\fR.
+.IP "\fB\-\-dvipdf\fR" 4
+.IX Item "--dvipdf"
+Using \f(CW\*(C`latex>dvipdfmx\*(C'\fR for compiler \fIinput\fR and \f(CW\*(C`latex>dvipdfmx\*(C'\fR for compiler
+\&\fIoutput\fR.
+.IP "\fB\-\-xetex\fR" 4
+.IX Item "--xetex"
+Using \f(CW\*(C`xelatex\*(C'\fR for compiler \fIinput\fR and \fIoutput\fR.
+.IP "\fB\-\-luatex\fR" 4
+.IX Item "--luatex"
+Using \f(CW\*(C`lualatex\*(C'\fR for compiler \fIinput\fR and \fIoutput\fR.
+.IP "\fB\-\-arara\fR" 4
+.IX Item "--arara"
+Use \f(CW\*(C`arara\*(C'\fR for compiler \fIinput\fR and \fIoutput\fR.
+.IP "\fB\-\-latexmk\fR" 4
+.IX Item "--latexmk"
+Using \f(CW\*(C`latexmk\*(C'\fR for compiler \fIoutput\fR file.
+.IP "\fB\-\-norun\fR" 4
+.IX Item "--norun"
+Run script, but no create images files.
+.IP "\fB\-\-nopdf\fR" 4
+.IX Item "--nopdf"
+Don't create a \f(CW\*(C`.pdf\*(C'\fR image files.
+.IP "\fB\-\-nocrop\fR" 4
+.IX Item "--nocrop"
+Don't run \fIpdfcrop\fR.
+.IP "\fB\-\-extrenv\fR=\fIenv1,env2,...\fR" 4
+.IX Item "--extrenv=env1,env2,..."
+Add new environments to extract.
+.IP "\fB\-\-skipenv\fR=\fIenv1,env2,...\fR" 4
+.IX Item "--skipenv=env1,env2,..."
+Skip some default environments to extract.
+.IP "\fB\-\-verbenv\fR=\fIenv1,env2,...\fR" 4
+.IX Item "--verbenv=env1,env2,..."
+Add new verbatim environments.
+.IP "\fB\-\-writenv\fR=\fIenv1,env2,...\fR" 4
+.IX Item "--writenv=env1,env2,..."
+Add new verbatim write environments.
+.IP "\fB\-\-deltenv\fR=\fIenv1,env2,...\fR" 4
+.IX Item "--deltenv=env1,env2,..."
+Delete environments in \fIoutput\fR file.
+.SH "EXAMPLE"
+.IX Header "EXAMPLE"
+\&\fBltximg\fR \-\-latex \-e \-p \-\-subenv \-o test\-out.ltx test\-in.ltx
+.PP
+Create a \f(CW\*(C`./images\*(C'\fR directory (if it doesn't exist) with all extracted
+environments converted to \f(CW\*(C`.pdf\*(C'\fR, \f(CW\*(C`.eps\*(C'\fR, \f(CW\*(C`.png\*(C'\fR and \fIstandalone\fR
+files, a file \fItest\-in\-fig\-all.ltx\fR with all extracted environments
+and the file \fItest\-out.ltx\fR with all environments converted to
+\&\f(CW\*(C`\eincludegraphics\*(C'\fR using \f(CW\*(C`latex>dvips>ps2pdf\*(C'\fR and \fIpreview\fR
+package for \fItest\-in.ltx\fR and \f(CW\*(C`pdflatex\*(C'\fR for \fItest\-out.ltx\fR.
+.SH "DOCUMENTATION"
+.IX Header "DOCUMENTATION"
+For full documentation use:
+.PP
+texdoc \fBltximg\fR
+.SH "ISSUES AND REPORTS"
+.IX Header "ISSUES AND REPORTS"
+\&\fBRepository\fR : <https://github.com/pablgonz/ltximg>
+.PP
+\&\fBBug tracker\fR: <https://github.com/pablgonz/ltximg/issues>
+.SH "AUTHOR"
+.IX Header "AUTHOR"
+Pablo González Luengo, \fIpablgonz at yahoo.com\fR.
+.SH "COPYRIGHT AND LICENSE"
+.IX Header "COPYRIGHT AND LICENSE"
+Copyright 2013\-2021 Pablo González, \fIpablgonz at yahoo.com\fR.
+.PP
+This program is free software; you can redistribute it and/or modify
+it under the terms of the \s-1GNU\s0 General Public License as published by
+the Free Software Foundation; either version 3 of the License, or
+(at your option) any later version.
+.PP
+This program is distributed in the hope that it will be useful, but
+\&\s-1WITHOUT ANY WARRANTY\s0; without even the implied warranty of
+\&\s-1MERCHANTABILITY\s0 or \s-1FITNESS FOR A PARTICULAR PURPOSE.\s0 See the \s-1GNU\s0
+General Public License for more details.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+\&\fBgs\fR\|(1), \fBdvips\fR\|(1), \fBps2pdf\fR\|(1), \fBpdfcrop\fR\|(1), \fBpdftops\fR\|(1), \fBpdftocairo\fR\|(1), \fBpdftoppm\fR\|(1)
Property changes on: trunk/Master/texmf-dist/doc/support/ltximg/ltximg.1
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/support/ltximg/ltximg.man1.pdf
===================================================================
(Binary files differ)
Index: trunk/Master/texmf-dist/doc/support/ltximg/ltximg.man1.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/support/ltximg/ltximg.man1.pdf 2021-01-25 22:07:26 UTC (rev 57520)
+++ trunk/Master/texmf-dist/doc/support/ltximg/ltximg.man1.pdf 2021-01-25 22:07:47 UTC (rev 57521)
Property changes on: trunk/Master/texmf-dist/doc/support/ltximg/ltximg.man1.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Modified: trunk/Master/texmf-dist/scripts/ltximg/ltximg.pl
===================================================================
(Binary files differ)
More information about the tex-live-commits
mailing list.