From d71ff2e95fba8d79c320e101691b90c6a70e6053 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Thu, 19 Apr 2012 16:17:34 +0000 Subject: vpe 0.2 (18apr12) git-svn-id: svn://tug.org/texlive/trunk@26039 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/latex/vpe/README | 478 ++++++++++++++++++++++++++++++++ Master/texmf-dist/doc/latex/vpe/vpe.txt | 474 ------------------------------- Master/texmf-dist/scripts/vpe/vpe.pl | 23 +- Master/texmf-dist/tex/latex/vpe/vpe.sty | 7 +- 4 files changed, 498 insertions(+), 484 deletions(-) create mode 100644 Master/texmf-dist/doc/latex/vpe/README delete mode 100644 Master/texmf-dist/doc/latex/vpe/vpe.txt (limited to 'Master/texmf-dist') diff --git a/Master/texmf-dist/doc/latex/vpe/README b/Master/texmf-dist/doc/latex/vpe/README new file mode 100644 index 00000000000..9ac6edf8fd8 --- /dev/null +++ b/Master/texmf-dist/doc/latex/vpe/README @@ -0,0 +1,478 @@ +README for project vpe 2012/04/18 v0.2 + +TABLE OF CONTENTS +================= +A. Project vpe +B. Copyright, Disclaimer, Lizenz +C. Files +D. Requirements +E. Installation +F. Howto +F.1 VTeX/Linux +F.2 PdfTeX and dvips +F.3 (X)emacs +G. User interface +G.1 Perl script +G.2 Package +H. Linux launch details +I. Author +J. Questions, bug reports +K. History + +A. PROJECT VPE +============== +VPE deals with source specials for pdf files: clicking +on special annotations will launch an editor with the +source file at the source line. + +The project supports three routes to pdf files: + +* VTeX/Linux route: + MicroPress' VTeX is able to insert specials by itself. + It smoothly works under Windows. But the AcrobatReader + versions under Linux/Unix require additional work, see + section H "Linux launch details", that is done by the + perl script `vpe.pl'. + +* pdfTeX route: + For Han The Thanh's pdfTeX under Linux/Unix or Windows + the package `vpe.sty' inserts the specials with the + help of the perl script `vpe.pl'. + The catalog entry `/AcroForm' is added, so that + the `revert' menu entry of AR4.05 is enabled for + easier reloading, if the pdf file has changed. + Users of AR4.05 can also try option `form' of + the package to get nicer source special markers, + but the memory consumption is higher. + +* dvips route: + As in the pdfTeX route package `vpe.sty' inserts the + specials with the help of the perl script `vpe.pl'. + Also the `/AcroForm' entry is added, but the + `form' option is not implemented. + +B. COPYRIGHT, DISCLAIMER, LIZENZ +================================ +Copyright (C) 1999, 2000, 2012 Heiko Oberdiek. + +This program may be distributed and/or modified under the +conditions of the LaTeX Project Public License, either version 1.2 +of this license or (at your option) any later version. +The latest version of this license is in + http://www.latex-project.org/lppl.txt +and version 1.2 or later is part of all distributions of LaTeX +version 1999/12/01 or later. + +C. FILES +======== +The project `vpe' consists of three files: + +vpe(.pl): Perl script, used by all routes. The extension `.pl' + may be omitted for installation purposes. +vpe.sty: LaTeX2e package for pdftex and dvips routes. +README: Documentation, the file you are reading. + +Help and temporary files, generated by use: +myfile.tex.vpe: Symbol link from source file `myfile.tex' + to the perl script, required for the source + specials launch actions in the pdf file. + Each source file need a link. +myfile.vpe: Temporary file for data exchange between + TeX and the perl script called by \write18{}. +vpe.cfg: Configuration file of package `vpe.sty'. + +D. REQUIREMENTS +=============== +All routes: +* Perl5 (version 5 of the perl interpreter). + +pdfTeX, dvips routes: +* \write18 feature (--shell-escape) +* LaTeX2e + +pdfTeX route: +* pdfTeX >= v0.14 + +E. INSTALLATION +=============== +1. TeX directory structure (TDS): + The files + `vpe.txt' (documentation) + `vpe.sty' (pdf(e)tex, pdf(e)latex, (e)tex, (e)latex) + go to + texmf/doc/latex/oberdiek/vpe.txt + texmf/tex/latex/oberdiek/vpe.sty + +2. Perl script `vpe.pl': + + Unix + * Your are allowed to rename `vpe.pl' to `vpe': + mv vpe.pl vpe + * Ensure that the execute permission is set: + chmod +x vpe + * Move the file to a directory where the shell can find it + (environment variable PATH, e.g. /usr/local/bin/). + * The environment variables TEXEDIT and VPE are + looked for the editor call, eg: + export VPE='xterm -e joe +%d %s' (bash) + %d will be replaced by the line number and + %s by the file name. + + Windows (Dos) + * Methods for calling by typing the script name without extension + and perl interpreter: + a) If your perl distribution provides a pl2exe program, + use it to generate `vpe.exe'. + Advantage: I/O redirection works. + b) A good method is a dos program of John Dallman: + #!perl.exe (versions below 4) + hbperl.exe (version 4) + http://www.perl.com/CPAN/authors/id/JDALLMAN/hbp_403.zip + Move vpe.pl in a PERLLIB directory and copy the + exe program to `vpe.exe'. Then the program looks + for the perl interpreter, the script and calls them. + Advantage: I/O redirection works. + c) Windows NT 4.0 users can use associated file types: + SET PATHEXT=.pl;%PATHEXT% + See perl win32 faq "How do I associate Perl scripts with perl?": + http://www.activestate.com/support/faqs/win32/perlwin32faq4.html + Disadvantage: I/O redirection does not work. + d) 4DOS: SET .PL=c:/bin/perl.exe + See perl win32 faq "How can I get Perl to run a Perl script at + the 4DOS command line by typing the name of the script without + the extension or "perl", just like a regular exe file?": + http://www.activestate.com/support/faqs/win32/perlwin32faq1.html + e) Convert the perl script to a batch file `vpe.bat', if your + distribution provides `pl2bat.bat'. + Disadvantage: I/O redirection does not work. + Many of this methods are listed in the perl win32 faq + "What's the equivalent of the shebang ("#!") syntax for Win32?": + http://www.activestate.com/support/faqs/win32/perlwin32faq4.html + * Running the perl interpreter directly with the perl script: + perl vpe.pl ... + Use this method only, if the other methods fail. + Then you have to configure the command name in the + configuration file `vpe.cfg': + \vpesetup{command={perl vpe.pl}} + * The editor application and the syntax of the paramters + for the editor can be configured by \vpesetup in + the configuration file `vpe.cfg': + \vpesetup{application={pfe.exe},parameters={-g $d $s}} + $d will be replaced by the line number, + $s by the file name. + +F. HOWTO +======== + +F.1 VTeX/Linux +-------------- +Do not use the package `vpe.sty', the VTeX/Linux route +is only based on the perl script. + +a) Enable VTeX's source special generation with option `-*', + eg: -*20 +b) Run the perl script on the generated pdf file. It + fixes the launch actions and creates the necessary symbol + links (See section H "Linux launch details"): + vpe myfile.pdf + +F.2 PdfTeX and dvips +-------------------- +a) Load the package `vpe.sty', eg: + \usepackage{vpe} +b) Produce the pdf file, but with enabled \write18{} feature + for system commands. This can be achieved by setting the + command line option `--shell-escape' for pdfTeX or TeX. + An alternative is the boolean variable `shell_escape' + in the configuration file `texmf.cnf'. For security + reasons I recommend the command line option. +c) Only Linux: After the first call it is possible that + the symbol links are not created yet (depends on write + puffer effects). Then it can be done by envoking the + perl script manually: + vpe myfile.pdf + +F.3 (X)emacs +------------ +This section is provided by Uwe Brauer. + +In order to use vpe with (X)emacs, you will need to set a +client as the editor variable since otherwise for each +call a separate (X)macs session would be started. There +are two server/clients: gnuclient which is shipped with +xemacs and emacsclient which is shipped with GNU emacs. +The configuration for emacsclient is a little more +delicate, that's why in the following only the +configuration of gnuclient is discussed. Either install +gnuclient for GNU emacs or, if you want to use emacsclient, +read the following instuctions +http://xdvi.sourceforge.net/inverse-search.html. + +* insert in your .emacs the line + (gnuserv-start) + +* set the variable VPE, either + setenv VPE 'gnuclient -q +%d %s' + in your .tcshrc file or + export VPE='gnuclient -q +%d %s' + in your .bashrc file + +* now if you want to avoid that a new window(frame) is + opened every time you call the gnuclient, insert + something like this in your .emacs file + + (custom-set-variables + ;;; ... other stuff ... + '(gnuserv-frame t) + '(gnuserv-visit-hook (lambda () (raise-frame) (recenter)))) + +* If you use AuCTeX, the following definitions come in handy: + Copy in your .emacs file + + (custom-set-variables + '(TeX-command-list (quote ( + ;; ..other stuff.. + ("srcpdflatex" "pdflatex --shell-escape %t" TeX-run-command t "nil") + ("vpe" "vpe %g" TeX-run-command t nil)))) + '(TeX-expand-list (quote ( + ;; ..other stuff.. + ("%g" file "pdf" t))))) + + If you don't want to use %g for pdf files, use another letter + but make sure that it is not already in use. + Now you can call srcpdflatex for generating an appropriate pdf + file and the perl script vpe to insert the source specials. + +G. USER INTERFACE +================= + +G.1 Perl script +--------------- +General options: +--help: print help and usage screen. +--verbose: print additional informations. + +Options that influence the symbol links: +--force: force symbol links (`ln -f' is called). +--delete: remove the symbol links for the source files, + mentioned in the pdf file: + vpe --delete myfile.pdf + +Internal options, called by the package `vpe.sty': +--system: detects the system (linux or win) and writes + the information in the data exchange file: + vpe --system myfile.vpe +--sty: generates the absolute file name of the + source file `file.tex', get the maximum + line number and writes the informations + in the data exchange file `myfile.vpe': + vpe --sty file.tex myfile.vpe +--progname: this option sets the program name option + of `kpsewhich', called by the --sty option: + vpe --sty --progname=pdfelatex file.tex myfile.vpe + +G.2 Package +----------- +There are three places, where the options can be specified +in evaluation order: +a) Configuration file `vpe.cfg` with \vpesetup. +b) LaTeX package options: local in \usepackage or + global in \documentclass. +c) Some options can be set by \vpesetup after the + package is loaded. + +`active', `inactive' (place: abc, default: active) + Enables/disables insertion of source specials + +`debug' (place: a, default: off) + Verbose messages for debugging purposes. + +`dupes', `nodupes' (place: abc, default: dupes) + Option `nodupes' suppresses source specials that point + to the same file and line. + +`linux', `unix', `win', `dos' (place: ab, default: automatic) +`system=linux|win' (place b) + The format of the launch action differs in the win and unix + case. Therefore the packages has to know, which kind it + should generate. If none of the options is given, then + the packages calls the perl script with option `--system' + to get the information. + (Recommendation: set in `vpe.cfg' to save time.) + +`form', `noform' (place: ab, default: noform) + Users of AR4.05 can try this option to get nicer + source special marks. Only the pdfTeX route is + supported currently. + +`acroform', `noacroform' (place: ab, default: acroform) + With forms AR4.05 enables the `revert' menu entry, + so that changed files can more easily be reloaded. + If option `form' is used, the /AcroForm dictionary + can be suppressed with `noacroform', when another + /AcroForm is already provided. + +`command=...' (place: bc, default: vpe) + Call of the perl script for the \write18{} feature. + +`progname=...' (place: bc, default: automatic) + TeX cannot provide absolute path names of files, + therefore the package calls the perl script to ask + `kpsewhich'. This program needs the program/format + name in order to select the correct search path + variables. Automatically the package is able to + distinguish between `latex', `elatex', `pdflatex' + and `pdfelatex'. For other names this option has + to be set. + +`application=...' (place: bc, default: pfe.exe) +`parameters=...' (place: bc, default: `-g $d $s') + These options configure the editor call for windows: + `application' contains the call of the editor, + `parameters' the parameters for the editor. + $d will be replaced by the line number and + $s by the file name. + +`width', `height', `depth', `color', `border', +`flag', `attr' (place: bc, default: see vpe.sty) + With these options the launch annotation + can be configured (`noform' version). + Because of the beta status of the options, + they can change in future, for details see + the package source. + +`everyhbox', `noeveryhbox' (place: ab, default: noeveryhbox) + By this option a lot of source specials are inserted, + but there is a high risk to get a lot of "Underfull + \hbox" warnings. + +`no' (place: a, default: ) + For the introduction of source specials many + internal commands are redefined. This can cause + problems with incompatible packages and macros. + The redefinitions that cause problems can be + disabled. Current list of features: + input, @input, include, + newpage, clearpage, + everypar, document, @item, @doendpe, + @arrayparboxrestore, @xsect, @afterheading, + @setminipage, @startsection, + everymath, everyhbox, + newline, mbox, TILDE, + ref, cite, + item, trivlist, endtrivlist, + @bsphack, @esphack, @Esphack, @xaddvskip, + @tabularcr, @arraycr, + hrule, vrule + +H. LINUX LAUNCH DETAILS +======================= +It is quite easy to launch a program with parameters +with a link annotation under Windows, because +AcrobatReader knows a /Win dictionary, eg: + << /Type Annot + /Subtype /Link + /Rect [100 700 120 720] + /A << /Type /Action + /S /Launch + /Win << /F (pfe.exe) + /P (-g 21 c:/myhome/myfile.tex) + >> + >> + >> +A corresponding /Unix dictionary is not yet defined +in the pdf specification and not implemented in AR. +Therefore only the file name can be used to store +the parameter informations, eg: + /A << /Type /Action + /S /Launch + /F (//.////../myhome/myfile.tex.vpe) + >> + +The file that will be launched is a symbol link +to the script `vpe(.pl)', eg: + ln -s /usr/local/bin/vpe /myhome/myfile.tex.vpe + +The script scans its calling name, the name of the +symbol link, to extract the parameters for the +editor call: +* The initial part encodes the line number, +* the rest without the extension `.vpe' is the + file name. +* Condition: The path names are absolute path names. + +The coding algorithm for the line number: +* The decimal digits of the number are separated + and ended by the sequence "./". +* Each decimal digit of the number is converted + to a sequence of slashes, optionally followed + by a period. The count of slashes is the + number. With the period, the count have to be + incremented by 5. +* The conversion of the first digit always starts + with a slash to ensure a absolute path names, + eg: "5" is converted to "/////", but not as + first digit it can be shrunk to ".". +Examples (spaces only for clarifying): + 2: // ./ + 6: /. ./ + 9: ////. ./ + 11: / ./ / ./ + 28: // ./ ///. ./ (see example above) + 505: ///// ./ ./ . ./ + +I. AUTHOR +========= +Heiko Oberdiek +Email: heiko.oberdiek at googlemail.com + +J. QUESTIONS, BUG REPORTS +========================= +If you have questions, problems with `vpe', error reports, +if you have improvements or want to have additional features, +please send them to the author. + +Because I do not have to much time, I cannot garantee +that I will fix all problems and add all suggested features. + +Regarding bug reports I have some wishes: +* Please only send a minimal test file. + I do not have the time to check hundreds of lines + and pages. + Strip the minimal file off all unnecessary packages, + macros, and stuff. + But the minimal file should be complete, so that I can + immediately call latex on it. +* Please no .log, .dvi, .ps, .pdf files. + I have a lot of TeX and related programs installed + and can generate them in the most cases. +* Please get all versions numbers of packages and + programs (examples see below). Only the + distribution version does not help, so I do not + have MikTeX installed and I am using a very old + teTeX and even emTeX, but almost always the latest + pdfTeX binaries. Therefore the pdfTeX version is + much more important. + Hints: + * With "\listfiles" LaTeX prints the versions of the + used files at the end of the .log file. + * Many programs know options like: + --version, -v, -help, -h, -? + +My environment for developing and testing (2000): +* linux, debian 2.0 +* perl 5.004_04 +* VTeX/Linux: 7.06 +* pdfTeX: 0.14g-pretest-20000912 +* TeX: 3.14159, Web2C 7.2 +* dvips 5.78 +* Ghostscript 6.01 + +K. HISTORY +========== +2000/09/15 v0.1: First release +2005/11/28 (X)emacs section from Uwe Brauer +2012/04/18 v0.2: + * Option --version added. + * `vpe.txt' renamed to `README'. + * Email address updated. diff --git a/Master/texmf-dist/doc/latex/vpe/vpe.txt b/Master/texmf-dist/doc/latex/vpe/vpe.txt deleted file mode 100644 index 729c80a84b0..00000000000 --- a/Master/texmf-dist/doc/latex/vpe/vpe.txt +++ /dev/null @@ -1,474 +0,0 @@ -readme.txt (2005/11/28) for project vpe 2000/09/15 v0.1 - -TABLE OF CONTENTS -================= -A. Project vpe -B. Copyright, Disclaimer, Lizenz -C. Files -D. Requirements -E. Installation -F. Howto -F.1 VTeX/Linux -F.2 PdfTeX and dvips -F.3 (X)emacs -G. User interface -G.1 Perl script -G.2 Package -H. Linux launch details -I. Author -J. Questions, bug reports -K. History - -A. PROJECT VPE -============== -VPE deals with source specials for pdf files: clicking -on special annotations will launch an editor with the -source file at the source line. - -The project supports three routes to pdf files: - -* VTeX/Linux route: - MicroPress' VTeX is able to insert specials by itself. - It smoothly works under Windows. But the AcrobatReader - versions under Linux/Unix require additional work, see - section H "Linux launch details", that is done by the - perl script `vpe.pl'. - -* pdfTeX route: - For Han The Thanh's pdfTeX under Linux/Unix or Windows - the package `vpe.sty' inserts the specials with the - help of the perl script `vpe.pl'. - The catalog entry `/AcroForm' is added, so that - the `revert' menu entry of AR4.05 is enabled for - easier reloading, if the pdf file has changed. - Users of AR4.05 can also try option `form' of - the package to get nicer source special markers, - but the memory consumption is higher. - -* dvips route: - As in the pdfTeX route package `vpe.sty' inserts the - specials with the help of the perl script `vpe.pl'. - Also the `/AcroForm' entry is added, but the - `form' option is not implemented. - -B. COPYRIGHT, DISCLAIMER, LIZENZ -================================ -Copyright (C) 1999, 2000 Heiko Oberdiek. - -This program may be distributed and/or modified under the -conditions of the LaTeX Project Public License, either version 1.2 -of this license or (at your option) any later version. -The latest version of this license is in - http://www.latex-project.org/lppl.txt -and version 1.2 or later is part of all distributions of LaTeX -version 1999/12/01 or later. - -C. FILES -======== -The project `vpe' consists of three files: - -vpe(.pl): Perl script, used by all routes. The extension `.pl' - may be omitted for installation purposes. -vpe.sty: LaTeX2e package for pdftex and dvips routes. -vpe.txt: Documentation, the file you are reading. - -Help and temporary files, generated by use: -myfile.tex.vpe: Symbol link from source file `myfile.tex' - to the perl script, required for the source - specials launch actions in the pdf file. - Each source file need a link. -myfile.vpe: Temporary file for data exchange between - TeX and the perl script called by \write18{}. -vpe.cfg: Configuration file of package `vpe.sty'. - -D. REQUIREMENTS -=============== -All routes: -* Perl5 (version 5 of the perl interpreter). - -pdfTeX, dvips routes: -* \write18 feature (--shell-escape) -* LaTeX2e - -pdfTeX route: -* pdfTeX >= v0.14 - -E. INSTALLATION -=============== -1. TeX directory structure (TDS): - The files - `vpe.txt' (documentation) - `vpe.sty' (pdf(e)tex, pdf(e)latex, (e)tex, (e)latex) - go to - texmf/doc/latex/oberdiek/vpe.txt - texmf/tex/latex/oberdiek/vpe.sty - -2. Perl script `vpe.pl': - - Unix - * Your are allowed to rename `vpe.pl' to `vpe': - mv vpe.pl vpe - * Ensure that the execute permission is set: - chmod +x vpe - * Move the file to a directory where the shell can find it - (environment variable PATH, e.g. /usr/local/bin/). - * The environment variables TEXEDIT and VPE are - looked for the editor call, eg: - export VPE='xterm -e joe +%d %s' (bash) - %d will be replaced by the line number and - %s by the file name. - - Windows (Dos) - * Methods for calling by typing the script name without extension - and perl interpreter: - a) If your perl distribution provides a pl2exe program, - use it to generate `vpe.exe'. - Advantage: I/O redirection works. - b) A good method is a dos program of John Dallman: - #!perl.exe (versions below 4) - hbperl.exe (version 4) - http://www.perl.com/CPAN/authors/id/JDALLMAN/hbp_403.zip - Move thumbpdf.pl in a PERLLIB directory and copy the - exe program to `thumbpdf.exe'. Then the program looks - for the perl interpreter, the script and calls them. - Advantage: I/O redirection works. - c) Windows NT 4.0 users can use associated file types: - SET PATHEXT=.pl;%PATHEXT% - See perl win32 faq "How do I associate Perl scripts with perl?": - http://www.activestate.com/support/faqs/win32/perlwin32faq4.html - Disadvantage: I/O redirection does not work. - d) 4DOS: SET .PL=c:/bin/perl.exe - See perl win32 faq "How can I get Perl to run a Perl script at - the 4DOS command line by typing the name of the script without - the extension or "perl", just like a regular exe file?": - http://www.activestate.com/support/faqs/win32/perlwin32faq1.html - e) Convert the perl script to a batch file `vpe.bat', if your - distribution provides `pl2bat.bat'. - Disadvantage: I/O redirection does not work. - Many of this methods are listed in the perl win32 faq - "What's the equivalent of the shebang ("#!") syntax for Win32?": - http://www.activestate.com/support/faqs/win32/perlwin32faq4.html - * Running the perl interpreter directly with the perl script: - perl vpe.pl ... - Use this method only, if the other methods fail. - Then you have to configure the command name in the - configuration file `vpe.cfg': - \vpesetup{command={perl vpe.pl}} - * The editor application and the syntax of the paramters - for the editor can be configured by \vpesetup in - the configuration file `vpe.cfg': - \vpesetup{application={pfe.exe},parameters={-g $d $s}} - $d will be replaced by the line number, - $s by the file name. - -F. HOWTO -======== - -F.1 VTeX/Linux --------------- -Do not use the package `vpe.sty', the VTeX/Linux route -is only based on the perl script. - -a) Enable VTeX's source special generation with option `-*', - eg: -*20 -b) Run the perl script on the generated pdf file. It - fixes the launch actions and creates the necessary symbol - links (See section H "Linux launch details"): - vpe myfile.pdf - -F.2 PdfTeX and dvips --------------------- -a) Load the package `vpe.sty', eg: - \usepackage{vpe} -b) Produce the pdf file, but with enabled \write18{} feature - for system commands. This can be achieved by setting the - command line option `--shell-escape' for pdfTeX or TeX. - An alternative is the boolean variable `shell_escape' - in the configuration file `texmf.cnf'. For security - reasons I recommend the command line option. -c) Only Linux: After the first call it is possible that - the symbol links are not created yet (depends on write - puffer effects). Then it can be done by envoking the - perl script manually: - vpe myfile.pdf - -F.3 (X)emacs ------------- -This section is provided by Uwe Brauer. - -In order to use vpe with (X)emacs, you will need to set a -client as the editor variable since otherwise for each -call a separate (X)macs session would be started. There -are two server/clients: gnuclient which is shipped with -xemacs and emacsclient which is shipped with GNU emacs. -The configuration for emacsclient is a little more -delicate, that's why in the following only the -configuration of gnuclient is discussed. Either install -gnuclient for GNU emacs or, if you want to use emacsclient, -read the following instuctions -http://xdvi.sourceforge.net/inverse-search.html. - -* insert in your .emacs the line - (gnuserv-start) - -* set the variable VPE, either - setenv VPE 'gnuclient -q +%d %s' - in your .tcshrc file or - export VPE='gnuclient -q +%d %s' - in your .bashrc file - -* now if you want to avoid that a new window(frame) is - opened every time you call the gnuclient, insert - something like this in your .emacs file - - (custom-set-variables - ;;; ... other stuff ... - '(gnuserv-frame t) - '(gnuserv-visit-hook (lambda () (raise-frame) (recenter)))) - -* If you use AuCTeX, the following definitions come in handy: - Copy in your .emacs file - - (custom-set-variables - '(TeX-command-list (quote ( - ;; ..other stuff.. - ("srcpdflatex" "pdflatex --shell-escape %t" TeX-run-command t "nil") - ("vpe" "vpe %g" TeX-run-command t nil)))) - '(TeX-expand-list (quote ( - ;; ..other stuff.. - ("%g" file "pdf" t))))) - - If you don't want to use %g for pdf files, use another letter - but make sure that it is not already in use. - Now you can call srcpdflatex for generating an appropriate pdf - file and the perl script vpe to insert the source specials. - -G. USER INTERFACE -================= - -G.1 Perl script ---------------- -General options: ---help: print help and usage screen. ---verbose: print additional informations. - -Options that influence the symbol links: ---force: force symbol links (`ln -f' is called). ---delete: remove the symbol links for the source files, - mentioned in the pdf file: - vpe --delete myfile.pdf - -Internal options, called by the package `vpe.sty': ---system: detects the system (linux or win) and writes - the information in the data exchange file: - vpe --system myfile.vpe ---sty: generates the absolute file name of the - source file `file.tex', get the maximum - line number and writes the informations - in the data exchange file `myfile.vpe': - vpe --sty file.tex myfile.vpe ---progname: this option sets the program name option - of `kpsewhich', called by the --sty option: - vpe --sty --progname=pdfelatex file.tex myfile.vpe - -G.2 Package ------------ -There are three places, where the options can be specified -in evaluation order: -a) Configuration file `vpe.cfg` with \vpesetup. -b) LaTeX package options: local in \usepackage or - global in \documentclass. -c) Some options can be set by \vpesetup after the - package is loaded. - -`active', `inactive' (place: abc, default: active) - Enables/disables insertion of source specials - -`debug' (place: a, default: off) - Verbose messages for debugging purposes. - -`dupes', `nodupes' (place: abc, default: dupes) - Option `nodupes' suppresses source specials that point - to the same file and line. - -`linux', `unix', `win', `dos' (place: ab, default: automatic) -`system=linux|win' (place b) - The format of the launch action differs in the win and unix - case. Therefore the packages has to know, which kind it - should generate. If none of the options is given, then - the packages calls the perl script with option `--system' - to get the information. - (Recommendation: set in `vpe.cfg' to save time.) - -`form', `noform' (place: ab, default: noform) - Users of AR4.05 can try this option to get nicer - source special marks. Only the pdfTeX route is - supported currently. - -`acroform', `noacroform' (place: ab, default: acroform) - With forms AR4.05 enables the `revert' menu entry, - so that changed files can more easily be reloaded. - If option `form' is used, the /AcroForm dictionary - can be suppressed with `noacroform', when another - /AcroForm is already provided. - -`command=...' (place: bc, default: vpe) - Call of the perl script for the \write18{} feature. - -`progname=...' (place: bc, default: automatic) - TeX cannot provide absolute path names of files, - therefore the package calls the perl script to ask - `kpsewhich'. This program needs the program/format - name in order to select the correct search path - variables. Automatically the package is able to - distinguish between `latex', `elatex', `pdflatex' - and `pdfelatex'. For other names this option has - to be set. - -`application=...' (place: bc, default: pfe.exe) -`parameters=...' (place: bc, default: `-g $d $s') - These options configure the editor call for windows: - `application' contains the call of the editor, - `parameters' the parameters for the editor. - $d will be replaced by the line number and - $s by the file name. - -`width', `height', `depth', `color', `border', -`flag', `attr' (place: bc, default: see vpe.sty) - With these options the launch annotation - can be configured (`noform' version). - Because of the beta status of the options, - they can change in future, for details see - the package source. - -`everyhbox', `noeveryhbox' (place: ab, default: noeveryhbox) - By this option a lot of source specials are inserted, - but there is a high risk to get a lot of "Underfull - \hbox" warnings. - -`no' (place: a, default: ) - For the introduction of source specials many - internal commands are redefined. This can cause - problems with incompatible packages and macros. - The redefinitions that cause problems can be - disabled. Current list of features: - input, @input, include, - newpage, clearpage, - everypar, document, @item, @doendpe, - @arrayparboxrestore, @xsect, @afterheading, - @setminipage, @startsection, - everymath, everyhbox, - newline, mbox, TILDE, - ref, cite, - item, trivlist, endtrivlist, - @bsphack, @esphack, @Esphack, @xaddvskip, - @tabularcr, @arraycr, - hrule, vrule - -H. LINUX LAUNCH DETAILS -======================= -It is quite easy to launch a program with parameters -with a link annotation under Windows, because -AcrobatReader knows a /Win dictionary, eg: - << /Type Annot - /Subtype /Link - /Rect [100 700 120 720] - /A << /Type /Action - /S /Launch - /Win << /F (pfe.exe) - /P (-g 21 c:/myhome/myfile.tex) - >> - >> - >> -A corresponding /Unix dictionary is not yet defined -in the pdf specification and not implemented in AR. -Therefore only the file name can be used to store -the parameter informations, eg: - /A << /Type /Action - /S /Launch - /F (//.////../myhome/myfile.tex.vpe) - >> - -The file that will be launched is a symbol link -to the script `vpe(.pl)', eg: - ln -s /usr/local/bin/vpe /myhome/myfile.tex.vpe - -The script scans its calling name, the name of the -symbol link, to extract the parameters for the -editor call: -* The initial part encodes the line number, -* the rest without the extension `.vpe' is the - file name. -* Condition: The path names are absolute path names. - -The coding algorithm for the line number: -* The decimal digits of the number are separated - and ended by the sequence "./". -* Each decimal digit of the number is converted - to a sequence of slashes, optionally followed - by a period. The count of slashes is the - number. With the period, the count have to be - incremented by 5. -* The conversion of the first digit always starts - with a slash to ensure a absolute path names, - eg: "5" is converted to "/////", but not as - first digit it can be shrunk to ".". -Examples (spaces only for clarifying): - 2: // ./ - 6: /. ./ - 9: ////. ./ - 11: / ./ / ./ - 28: // ./ ///. ./ (see example above) - 505: ///// ./ ./ . ./ - -I. AUTHOR -========= -Heiko Oberdiek -Email: oberdiek@uni-freiburg.de - -J. QUESTIONS, BUG REPORTS -========================= -If you have questions, problems with `vpe', error reports, -if you have improvements or want to have additional features, -please send them to the author. - -Because I do not have to much time, I cannot garantee -that I will fix all problems and add all suggested features. - -Regarding bug reports I have some wishes: -* Please only send a minimal test file. - I do not have the time to check hundreds of lines - and pages. - Strip the minimal file off all unnecessary packages, - macros, and stuff. - But the minimal file should be complete, so that I can - immediately call latex on it. -* Please no .log, .dvi, .ps, .pdf files. - I have a lot of TeX and related programs installed - and can generate them in the most cases. -* Please get all versions numbers of packages and - programs (examples see below). Only the - distribution version does not help, so I do not - have MikTeX installed and I am using a very old - teTeX and even emTeX, but almost always the latest - pdfTeX binaries. Therefore the pdfTeX version is - much more important. - Hints: - * With "\listfiles" LaTeX prints the versions of the - used files at the end of the .log file. - * Many programs know options like: - --version, -v, -help, -h, -? - -My environment for developing and testing: -* linux, debian 2.0 -* perl 5.004_04 -* VTeX/Linux: 7.06 -* pdfTeX: 0.14g-pretest-20000912 -* TeX: 3.14159, Web2C 7.2 -* dvips 5.78 -* Ghostscript 6.01 - -K. HISTORY -========== -2000/09/15 v0.1 first release -2005/11/28 (X)emacs section from Uwe Brauer diff --git a/Master/texmf-dist/scripts/vpe/vpe.pl b/Master/texmf-dist/scripts/vpe/vpe.pl index 9eb52b69e3c..ba93d8c4d75 100755 --- a/Master/texmf-dist/scripts/vpe/vpe.pl +++ b/Master/texmf-dist/scripts/vpe/vpe.pl @@ -4,7 +4,7 @@ use strict; # # vpe.pl # -# Copyright (C) 2000 Heiko Oberdiek. +# Copyright (C) 2000, 2012 Heiko Oberdiek. # # This program may be distributed and/or modified under the # conditions of the LaTeX Project Public License, either version 1.2 @@ -19,15 +19,17 @@ use strict; # This file "vpe.pl" may be renamed to "vpe" # for installation purposes. # -my $file = "vpe.pl"; +my $prj = 'vpe'; +my $file = "$prj.pl"; my $program = uc($&) if $file =~ /^\w+/; -my $version = "0.1"; -my $date = "2000/09/15"; +my $version = "0.2"; +my $date = "2012/04/18"; my $author = "Heiko Oberdiek"; -my $copyright = "Copyright (c) 2000 by $author."; +my $copyright = "Copyright (c) 2000, 2012 by $author."; # # History: # 2000/09/15 v0.1: First release. +# 2012/04/18 v0.2: Option --version added. # ### program identification @@ -68,8 +70,9 @@ Depending on the name of the script `vpe' works in four modes: this file at that line number. Options: - --help: print usage. - --verbose: print additional informations during running. + --help: print usage + --version print version number + --verbose: print additional informations during running --force: force symbol links --delete: delete symbol links --sty: internal for `vpe.sty' (get absolute file name and lines) @@ -80,6 +83,7 @@ END_OF_USAGE ### options $::opt_verbose = 0; $::opt_help = 0; +$::opt_version = 0; $::opt_force = 0; $::opt_delete = 0; $::opt_sty = 0; @@ -88,6 +92,7 @@ $::opt_progname = "latex"; use Getopt::Long; GetOptions( "help!", + "version!", "verbose!", "force!", "delete!", @@ -98,6 +103,10 @@ GetOptions( if ($::opt_help) { die $usage; } +if ($::opt_version) { + print "$prj $date v$version\n"; + exit(0); +} if ($::opt_sty and $::opt_system) { die "$usage" . diff --git a/Master/texmf-dist/tex/latex/vpe/vpe.sty b/Master/texmf-dist/tex/latex/vpe/vpe.sty index 0271ce64df6..78022b22c9f 100644 --- a/Master/texmf-dist/tex/latex/vpe/vpe.sty +++ b/Master/texmf-dist/tex/latex/vpe/vpe.sty @@ -1,11 +1,11 @@ % File: vpe.sty % Project: vpe -% Version: 2000/09/15 v0.1 +% Version: 2012/04/18 v0.2 % Author: Heiko Oberdiek % % Function: Source specials for pdf files. % -% Copyright: Copyright (C) 2000 Heiko Oberdiek. +% Copyright: Copyright (C) 2000, 2012 Heiko Oberdiek. % % This program may be distributed and/or modified under % the conditions of the LaTeX Project Public License, @@ -27,12 +27,13 @@ % See file `vpe.txt' for further documentation. % % History: 2000/09/15 v0.1: first public release +% 2012/04/18 v0.2 % % \vpe@ is the prefix for internal command names. % \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{vpe}% -[2000/09/15 v0.1 Source specials for pdf files (HO)] +[2012/04/18 v0.2 Source specials for pdf files (HO)] \RequirePackage{keyval} -- cgit v1.2.3