From 966f3ce66328982f136ff1744dee70000acccf01 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Sun, 10 Nov 2019 22:10:55 +0000 Subject: lwarp git-svn-id: svn://tug.org/texlive/trunk@52729 c570f23f-e606-0410-a88d-b1316a301751 --- .../texk/texlive/linked_scripts/lwarp/lwarpmk.lua | 2 +- .../texk/texlive/linked_scripts/texlive/tlmgr.pl | 118 ++-- Master/texmf-dist/doc/latex/lwarp/README.txt | 2 +- Master/texmf-dist/doc/latex/lwarp/lwarp.pdf | Bin 2486257 -> 2493809 bytes Master/texmf-dist/scripts/lwarp/lwarpmk.lua | 2 +- Master/texmf-dist/source/latex/lwarp/lwarp.dtx | 627 +++++++++++++-------- Master/texmf-dist/source/latex/lwarp/lwarp.ins | 1 + .../tex/latex/lwarp/lwarp-accessibility.sty | 24 + .../texmf-dist/tex/latex/lwarp/lwarp-afterpage.sty | 2 + .../texmf-dist/tex/latex/lwarp/lwarp-breakurl.sty | 18 +- .../texmf-dist/tex/latex/lwarp/lwarp-caption.sty | 7 + .../tex/latex/lwarp/lwarp-common-multimedia.sty | 14 +- .../texmf-dist/tex/latex/lwarp/lwarp-geometry.sty | 12 +- .../texmf-dist/tex/latex/lwarp/lwarp-graphics.sty | 4 +- .../texmf-dist/tex/latex/lwarp/lwarp-hyperref.sty | 130 ++--- Master/texmf-dist/tex/latex/lwarp/lwarp-media9.sty | 5 +- .../texmf-dist/tex/latex/lwarp/lwarp-movie15.sty | 6 +- .../texmf-dist/tex/latex/lwarp/lwarp-titlesec.sty | 2 +- Master/texmf-dist/tex/latex/lwarp/lwarp.sty | 201 ++++--- 19 files changed, 673 insertions(+), 504 deletions(-) create mode 100644 Master/texmf-dist/tex/latex/lwarp/lwarp-accessibility.sty diff --git a/Build/source/texk/texlive/linked_scripts/lwarp/lwarpmk.lua b/Build/source/texk/texlive/linked_scripts/lwarp/lwarpmk.lua index e0477be8a65..2ccc1fa5bd0 100755 --- a/Build/source/texk/texlive/linked_scripts/lwarp/lwarpmk.lua +++ b/Build/source/texk/texlive/linked_scripts/lwarp/lwarpmk.lua @@ -2,7 +2,7 @@ -- Copyright 2016-2019 Brian Dunn -printversion = "v0.76" +printversion = "v0.78" requiredconfversion = "2" -- also at *lwarpmk.conf function printhelp () diff --git a/Build/source/texk/texlive/linked_scripts/texlive/tlmgr.pl b/Build/source/texk/texlive/linked_scripts/texlive/tlmgr.pl index b99d8423122..a72cc44f45e 100755 --- a/Build/source/texk/texlive/linked_scripts/texlive/tlmgr.pl +++ b/Build/source/texk/texlive/linked_scripts/texlive/tlmgr.pl @@ -1,12 +1,12 @@ #!/usr/bin/env perl -# $Id: tlmgr.pl 52585 2019-10-31 18:26:15Z karl $ +# $Id: tlmgr.pl 52672 2019-11-07 18:35:53Z karl $ # # Copyright 2008-2019 Norbert Preining # This file is licensed under the GNU General Public License version 2 # or any later version. -my $svnrev = '$Revision: 52585 $'; -my $datrev = '$Date: 2019-10-31 19:26:15 +0100 (Thu, 31 Oct 2019) $'; +my $svnrev = '$Revision: 52672 $'; +my $datrev = '$Date: 2019-11-07 19:35:53 +0100 (Thu, 07 Nov 2019) $'; my $tlmgrrevision; my $tlmgrversion; my $prg; @@ -1456,7 +1456,7 @@ sub action_path { } elsif ($opts{"w32mode"} eq "admin") { $winadminmode = 1; } else { - tlwarn("$prg: Unknown --w32admin mode: $opts{w32mode}, should be 'admin' or 'user'\n"); + tlwarn("$prg: unknown --w32admin mode: $opts{w32mode}, should be 'admin' or 'user'\n"); return ($F_ERROR); } } else { @@ -1467,7 +1467,7 @@ sub action_path { tlwarn("$prg: You don't have the privileges to work in --w32mode admin\n"); return ($F_ERROR); } else { - tlwarn("$prg: Unknown --w32admin mode: $opts{w32mode}, should be 'admin' or 'user'\n"); + tlwarn("$prg: unknown --w32admin mode: $opts{w32mode}, should be 'admin' or 'user'\n"); return ($F_ERROR); } } @@ -1827,7 +1827,7 @@ sub restore_one_package { } } if (!$restore_file) { - tlwarn("$prg: Cannot find restore file $bd/${pkg}.r${rev}.tar.*, no action taken\n"); + tlwarn("$prg: cannot find restore file $bd/${pkg}.r${rev}.tar.*, no action taken\n"); return ($F_ERROR); } $localtlpdb->remove_package($pkg); @@ -1841,7 +1841,7 @@ sub restore_one_package { TeXLive::TLUtils::announce_execute_actions("enable", $localtlpdb->get_package($pkg)); $localtlpdb->save; - # TODO_ERROCHECKING we should check the return values of the + # TODO_ERRORCHECKING we should check the return values of the # various calls above return ($F_OK); } @@ -1864,7 +1864,7 @@ sub setup_backup_directory { debug ("Automatic backups activated, keeping $autobackup backups.\n"); $opts{"backup"} = 1; } else { - tlwarn ("$prg: Option autobackup can only be an integer >= -1.\n"); + tlwarn ("$prg: Option autobackup value can only be an integer >= -1.\n"); tlwarn ("$prg: Disabling auto backups.\n"); $localtlpdb->option("autobackup", 0); $autobackup = 0; @@ -1910,7 +1910,7 @@ sub check_backupdir_selection { init_local_db(1); $opts{"backupdir"} = norm_tlpdb_path($localtlpdb->option("backupdir")); if (!$opts{"backupdir"}) { - return (0, "$prg: No way to determine backupdir.\n"); + return (0, "$prg: cannot determine backupdir.\n"); } # we are still here, there is something set in tlpdb my $ob = abs_path($opts{"backupdir"}); @@ -2284,7 +2284,7 @@ sub write_w32_updater { # create backup; make_container expects file name in a format: some-name.r[0-9]+ my ($size, undef, $fullname) = $localtlp->make_container("tar", $root, $temp, "__BACKUP_$pkg.r$oldrev"); if ($size <= 0) { - tlwarn("$prg: Creation of backup container of $pkg failed.\n"); + tlwarn("$prg: creation of backup container failed for: $pkg\n"); return 1; # backup failed? abort } my $decompressor = $::progs{$DefaultCompressorFormat}; @@ -2299,13 +2299,13 @@ sub write_w32_updater { } # now we should have the file present if (!-r $dlcontainer) { - tlwarn("$prg: Couldn't get $pkg_part.tar.$compressorextension, that is bad\n"); + tlwarn("$prg: couldn't get $pkg_part.tar.$compressorextension, that is bad\n"); return 1; # abort } # unpack xz archive my $sysret = system("$decompressor @decompressorArgs < \"$dlcontainer\" > \"$temp/$pkg_part.tar\""); if ($sysret) { - tlwarn("$prg: Couldn't unpack $pkg_part.tar.$compressorextension\n"); + tlwarn("$prg: couldn't unpack $pkg_part.tar.$compressorextension\n"); return 1; # unpack failed? abort } unlink($dlcontainer); # we don't need that archive anymore @@ -2409,7 +2409,7 @@ EOF copy("$root/tlpkg/installer/tar.exe", "$temp"); # make sure copied tar is working if (system("\"$temp/tar.exe\" --version >nul")) { - tlwarn("$prg: Could not copy tar.exe, that is bad.\n"); + tlwarn("$prg: could not copy tar.exe, that is bad.\n"); return 1; # abort } open UPDATER, ">$temp/updater-w32" or die "Cannot create updater script: $!"; @@ -2560,7 +2560,7 @@ sub auto_remove_install_force_packages { # if foo is of type Package|Documentation it will update only foo # and the respective .ARCH dependencies # if foo is of type Collection|Scheme it will update itself AND -# will check all depending packs of type NOT(COllection|Scheme) +# will check all depending packs of type NOT(Collection|Scheme) # for necessary updates # # tlmgr update --no-depends foo @@ -3245,8 +3245,8 @@ sub action_update { "__BACKUP_${pkg}.r" . $tlp->revision, $tlp->relocated); if ($s <= 0) { - tlwarn("\n$prg: Creation of backup container of $pkg failed.\n"); - tlwarn("$prg: Continuing to update other packages, please retry...\n"); + tlwarn("\n$prg: creation of backup container failed for: $pkg\n"); + tlwarn("$prg: continuing to update other packages, please retry...\n"); $ret |= $F_WARNING; # we should try to update other packages at least next; @@ -3460,7 +3460,7 @@ sub action_update { } if ($bad_file) { tlwarn("$prg: The file $k has disappeared from the critical" . - "package $pkg but is still present in @found_pkgs\n"); + " package $pkg but is still present in @found_pkgs\n"); $ret |= $F_WARNING; } else { push @infra_files_to_be_removed, $k; @@ -3943,7 +3943,7 @@ sub show_one_package_csv { my $totalsize = $srcsize + $docsize + $runsize + $binsize; push @out, $totalsize; } else { - tlwarn("$prg: unkown data field $d\n"); + tlwarn("$prg: unknown data field $d\n"); return($F_WARNING); } } @@ -4056,7 +4056,7 @@ sub show_one_package_detail { if (defined($tag)) { # we already searched for the package in a specific tag, don't retry # all candidates! - tlwarn("$prg: Cannot find package $pkg in repository $tag\n"); + tlwarn("$prg: cannot find package $pkg in repository $tag\n"); return($F_WARNING); } my @cand = $remotetlpdb->candidates($pkg); @@ -4066,7 +4066,7 @@ sub show_one_package_detail { # subsidiary repository, but not installable # because it is not pinned # we will list it but warn about this fact - # useless test, @cand will always be defined becuase $remotetlpdb is virtual + # useless test, @cand will always be defined because $remotetlpdb is virtual my $first = shift @cand; if (defined($first)) { tlwarn("$prg: strange, we have a first candidate but no tlp: $pkg\n"); @@ -4680,12 +4680,12 @@ sub action_option { } elsif ($what eq $TLPDBOptions{"backupdir"}->[2]) { info("$prg: setting option $what to $val.\n"); if (! -d $val) { - info("$prg: the directory $val does not exist; you must create it\n"); + info("$prg: the directory $val does not exists, it has to be created\n"); info("$prg: before backups can be done automatically.\n"); } $localtlpdb->option($opt, $val); } elsif ($what eq $TLPDBOptions{"w32_multi_user"}->[2]) { - # when running w32 do not allow that a non-admin user sets + # when running w32 do not allow that a non-admin users sets # this from false to true my $do_it = 0; if (win32()) { @@ -4754,7 +4754,7 @@ sub action_option { $localtlpdb->option($opt, $n); } } else { - tlwarn ("$prg: Unknown type of option $opt: $TLPDBOptions{$opt}->[0]\n"); + tlwarn ("$prg: unknown type of option $opt: $TLPDBOptions{$opt}->[0]\n"); return ($F_ERROR); } } @@ -5319,10 +5319,10 @@ sub init_tltree { my $Master = $localtlpdb->root; my $tltree = TeXLive::TLTREE->new ("svnroot" => $Master); if ($svn) { - debug("Initializine TLTREE from svn\n"); + debug("Initializing TLTREE from svn\n"); $tltree->init_from_svn; } else { - debug("Initializine TLTREE from find\n"); + debug("Initializing TLTREE from find\n"); $tltree->init_from_files; } return($tltree); @@ -5896,7 +5896,7 @@ sub check_texmfdbs { # POSTACTION # -# explictly run the various post actions, e.g., +# explicitly run the various post actions, e.g., # on a client system or overriding global settings. # # tlmgr postaction [--w32mode=user|admin] [--fileassocmode=1|2] [--all] @@ -5931,7 +5931,7 @@ sub action_postaction { chomp($ENV{"TEXMFSYSVAR"} = `kpsewhich -var-value TEXMFVAR`); } elsif ($opts{"w32mode"} eq "admin") { if (!TeXLive::TLWinGoo::admin()) { - tlwarn("$prg: You don't have the permissions for --w32mode=admin\n"); + tlwarn("$prg: you don't have the permissions for --w32mode=admin\n"); return; } } else { @@ -6620,8 +6620,8 @@ sub action_shell { # # set global $location variable. # -# argument $should_i_die specifies what is requried -# to suceed during initialization. +# argument $should_i_die specifies what is required +# to succeed during initialization. # # undef or false: TLPDB needs to be found and initialized, but # support programs need not be found @@ -7219,14 +7219,14 @@ sub load_options_from_config { } elsif ($val eq "1") { $config{"gui-expertmode"} = 1; } else { - tlwarn("$prg: $fn: Unknown value for gui-expertmode: $val\n"); + tlwarn("$prg: $fn: unknown value for gui-expertmode: $val\n"); } } elsif ($key eq "persistent-downloads") { if (($val eq "0") || ($val eq "1")) { $config{'persistent-downloads'} = $val; } else { - tlwarn("$prg: $fn: Unknown value for persistent-downloads: $val\n"); + tlwarn("$prg: $fn: unknown value for persistent-downloads: $val\n"); } } elsif ($key eq "update-exclude") { @@ -7242,7 +7242,7 @@ sub load_options_from_config { } elsif ($val eq "1") { $config{"auto-remove"} = 1; } else { - tlwarn("$prg: $fn: Unknown value for auto-remove: $val\n"); + tlwarn("$prg: $fn: unknown value for auto-remove: $val\n"); } } elsif ($key eq "require-verification") { @@ -7251,7 +7251,7 @@ sub load_options_from_config { } elsif ($val eq "1") { $config{"require-verification"} = 1; } else { - tlwarn("$prg: $fn: Unknown value for require-verification: $val\n"); + tlwarn("$prg: $fn: unknown value for require-verification: $val\n"); } } elsif ($key eq "verify-downloads") { @@ -7260,14 +7260,14 @@ sub load_options_from_config { } elsif ($val eq "1") { $config{"verify-downloads"} = 1; } else { - tlwarn("$prg: $fn: Unknown value for verify-downloads: $val\n"); + tlwarn("$prg: $fn: unknown value for verify-downloads: $val\n"); } } elsif ($key eq "verify-repo") { if ($val =~ m/$allowed_verify_args_regex/) { $config{"verify-repo"} = $val; } else { - tlwarn("$prg: $fn: Unknown value for verify-repo: $val\n"); + tlwarn("$prg: $fn: unknown value for verify-repo: $val\n"); } } elsif ($key eq "no-checksums") { @@ -7276,7 +7276,7 @@ sub load_options_from_config { } elsif ($val eq "0") { $config{"no-checksums"} = 0; } else { - tlwarn("$prg: $fn: Unknown value for no-checksums: $val\n"); + tlwarn("$prg: $fn: unknown value for no-checksums: $val\n"); } } elsif ($sysmode) { @@ -7285,10 +7285,10 @@ sub load_options_from_config { my @acts = split(/,/, $val); $config{'allowed-actions'} = \@acts; } else { - tlwarn("$prg: $fn: Unknown tlmgr configuration variable: $key\n"); + tlwarn("$prg: $fn: unknown tlmgr configuration variable: $key\n"); } } else { - tlwarn("$prg: $fn: Unknown tlmgr configuration variable: $key\n"); + tlwarn("$prg: $fn: unknown tlmgr configuration variable: $key\n"); } } } @@ -7327,8 +7327,8 @@ sub convert_crypto_options { if ((defined($verify_downloads) || defined($require_verification)) && defined($verify_repo)) { # we cannot have all three, warn and bail out - tldie("$prg: The options verify-downloads and require-verification have\n" - . "$prg: been superseded by verify-repo, please use only the latter!\n"); + tldie("$prg: options verify-downloads and require-verification have\n" + . "$prg: been superseded by verify-repo; please use only the latter!\n"); } # return immediately if verify_repo is already set return($verify_repo) if (defined($verify_repo)); @@ -7341,7 +7341,7 @@ sub convert_crypto_options { $ret = "all"; } else { # either nothing passed or --no-require-verification (default) - # use explit setting to main + # use explicit setting to main $ret = "main"; } } else { @@ -7605,7 +7605,7 @@ between an option name and its value. Specify the package repository from which packages should be installed or updated, either a local directory or network location, as below. This -overrides the default package repository found in the installation's TeX +overridesthe default package repository found in the installation's TeX Live Package Database (a.k.a. the TLPDB, which is given entirely in the file C). @@ -8709,7 +8709,7 @@ and the respective tags if set. If a path, url, or tag is given after the C keyword, it is interpreted as the source from which to initialize a TL database and lists the contained packages. This can also be an otherwise-unused repository, either local or remote. If the option -C<--with-platforms> is spcified in addition, for each package the +C<--with-platforms> is specified in addition, for each package the available platforms (if any) are also listed. The form C adds a repository (optionally attaching a @@ -8925,9 +8925,9 @@ must be specified. Options: =item B<--all> -Update all installed packages except for C itself. Thus, if -updates to C itself are present, this will simply give an error, -unless also the option C<--force> or C<--self> is given. (See below.) +Update all installed packages except for C itself. If updates to +C itself are present, this gives an error, unless also the option +C<--force> or C<--self> is given. (See below.) In addition to updating the installed packages, during the update of a collection the local installation is (by default) synchronized to the @@ -8944,7 +8944,7 @@ Analogously, if a package has been added to a collection on the server that is also installed locally, it will be added to the local installation. This is called ``auto-install'' and is announced as such when using the option C<--list>. This auto-installation can be -suppressed using the option C<--no-auto-install>. +suppressed using the option C<--no-auto-install> (also not recommended). An exception to the collection dependency checks (including the auto-installation of packages just mentioned) are those that have been @@ -8952,6 +8952,13 @@ auto-installation of packages just mentioned) are those that have been on them. (See the C action documentation.) To reinstall any such forcibly removed packages use C<--reinstall-forcibly-removed>. +To reiterate: automatic removals and additions are entirely determined +by comparison of collections. Thus, if you manually install an +individual package C which is later removed from the server, +C will not notice and will not remove it locally. (It has to be +this way, without major rearchitecture work, because the tlpdb does not +record the repository from which packages come from.) + If you want to exclude some packages from the current update run (e.g., due to a slow link), see the C<--exclude> option below. @@ -9015,12 +9022,12 @@ the key C. =item B<--no-auto-remove> [I...] -By default, C tries to remove packages which have disappeared on -the server, as described above under C<--all>. This option prevents -such removals, either for all packages (with C<--all>), or for just the -given I names. This can lead to an inconsistent TeX installation, -since packages are not infrequently renamed or replaced by their -authors. Therefore this is not recommend. +By default, C tries to remove packages in an existing collection +which have disappeared on the server, as described above under C<--all>. +This option prevents such removals, either for all packages (with +C<--all>), or for just the given I names. This can lead to an +inconsistent TeX installation, since packages are not infrequently +renamed or replaced by their authors. Therefore this is not recommended. =item B<--no-auto-install> [I...] @@ -9041,6 +9048,9 @@ is equivalent to tlmgr update --all tlmgr remove --force foobar +Again, since packages are sometimes renamed or replaced, using this +option is not ecommended. + =item B<--reinstall-forcibly-removed> Under normal circumstances C will not install packages that have @@ -9915,7 +9925,7 @@ This script and its documentation were written for the TeX Live distribution (L) and both are licensed under the GNU General Public License Version 2 or later. -$Id: tlmgr.pl 52585 2019-10-31 18:26:15Z karl $ +$Id: tlmgr.pl 52672 2019-11-07 18:35:53Z karl $ =cut # test HTML version: pod2html --cachedir=/tmp tlmgr.pl >/tmp/tlmgr.html diff --git a/Master/texmf-dist/doc/latex/lwarp/README.txt b/Master/texmf-dist/doc/latex/lwarp/README.txt index 8783fb594cf..195a61cffbc 100644 --- a/Master/texmf-dist/doc/latex/lwarp/README.txt +++ b/Master/texmf-dist/doc/latex/lwarp/README.txt @@ -1,5 +1,5 @@ -LaTeX lwarp package v0.77 README.txt +LaTeX lwarp package v0.78 README.txt Files included are: diff --git a/Master/texmf-dist/doc/latex/lwarp/lwarp.pdf b/Master/texmf-dist/doc/latex/lwarp/lwarp.pdf index 5f1099dd493..1c3d9aec650 100644 Binary files a/Master/texmf-dist/doc/latex/lwarp/lwarp.pdf and b/Master/texmf-dist/doc/latex/lwarp/lwarp.pdf differ diff --git a/Master/texmf-dist/scripts/lwarp/lwarpmk.lua b/Master/texmf-dist/scripts/lwarp/lwarpmk.lua index e0477be8a65..2ccc1fa5bd0 100755 --- a/Master/texmf-dist/scripts/lwarp/lwarpmk.lua +++ b/Master/texmf-dist/scripts/lwarp/lwarpmk.lua @@ -2,7 +2,7 @@ -- Copyright 2016-2019 Brian Dunn -printversion = "v0.76" +printversion = "v0.78" requiredconfversion = "2" -- also at *lwarpmk.conf function printhelp () diff --git a/Master/texmf-dist/source/latex/lwarp/lwarp.dtx b/Master/texmf-dist/source/latex/lwarp/lwarp.dtx index 6cc5665d1aa..e52d6bfdb3e 100644 --- a/Master/texmf-dist/source/latex/lwarp/lwarp.dtx +++ b/Master/texmf-dist/source/latex/lwarp/lwarp.dtx @@ -16,7 +16,7 @@ % \iffalse %\NeedsTeXFormat{LaTeX2e}[1999/12/01] %\ProvidesPackage{lwarp} -% [2019/10/15 v0.77 Allows LaTeX to directly produce HTML5 output.] +% [2019/11/07 v0.78 Allows LaTeX to directly produce HTML5 output.] % %<*driver> \documentclass{ltxdoc} @@ -337,9 +337,9 @@ Keywords={LaTeX, HTML, conversion}% \small See the \nameref{sec:indexgen} for ``how-to'', and the \nameref{sec:indextrb} if something doesn't work. +A \nameref{sec:troubleshooting} section is also available. The \nameref{sec:indexidx} contains automated entries for each package, macro, environment, counter, boolean, and other objects; individually and also sorted by category. -A \nameref{sec:troubleshooting} section is also available. \smallskip \hrule \end{minipage}\margintag{Need help?} @@ -1002,7 +1002,7 @@ While emulating \pkg{memoir}, \pkg{lwarp} pre-loads a number of packages (\cref{sec:patch-memoir-packages}). This can cause an options clash when the user's document later loads the same \trouble[options clash]{memoir=\pkg{memoir}>options clash} -\trouble{options clash>memoir=\pkg{memoir}} +\trouble{options>clash with \pkg{memoir}} packages with options. To fix this problem, specify the options before loading \pkg{lwarp}: \begin{sourcedisplay} @@ -2348,18 +2348,31 @@ Subtitles are in a \element{div} of class |mdframedsubtitle|, and likewise for subsubtitles. } -\newcommand{\limitscaption}{% -To pass options to caption, select the options before loading \pkg{lwarp}: -\trouble[options]{caption=\pkg{caption}>options} +\newcommand{\limitspackageloading}{% +Package options may cause problems with \pkg{lwarp}, especially if +they include curley braces. + +If selecting options with braces in \cs{usepackage} does not work: \begin{sourcedisplay} -\cs{documentclass}\{article\} \\ -\dots \\ -\cs{PassOptionsToPackage}\{options\_list\}\{caption\} \\ +\cs{usepackage}[font=\textred{\{}it,small\textred{\}}]\{caption\}\% does not work +\end{sourcedisplay} +\dots\ try instead selecting the package options before loading \pkg{lwarp}: +\begin{sourcedisplay} +\cs{PassOptionsToPackage}\{font=\{it,small\}\}\{caption\} \\ \dots \\ \cs{usepackage\{lwarp\}} \\ \dots \\ \cs{usepackage\{caption\}} \end{sourcedisplay} +\dots\ or try setting package options after the package has been loaded: +\begin{sourcedisplay} +\cs{usepackage}\{caption\} \\ +\cs{captionsetup}\{font=\{it,small\}\} +\end{sourcedisplay} +} + +\newcommand{\limitscaption}{% +\limitspackageloading To ensure proper float numbering, set caption positions such as: @@ -2679,7 +2692,7 @@ This boolean may be tested by the user for later use. %<*package> % \fi % -% \CheckSum{33423} +% \CheckSum{33374} % % \CharacterTable % {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z @@ -2799,6 +2812,7 @@ This boolean may be tested by the user for later use. % \changes{v0.75}{2019/09/23}{\ 2019/09/23} % \changes{v0.76}{2019/10/08}{\ 2019/10/08} % \changes{v0.77}{2019/10/15}{\ 2019/10/15} +% \changes{v0.78}{2019/11/07}{\ 2019/11/07} @@ -3019,6 +3033,22 @@ This boolean may be tested by the user for later use. % % \begin{description} % \needspace{2\baselineskip} +% \item[v0.78:] Fixes for support files, \attribute{alt} tags, hyperlinks, and the 2019/10 \LaTeX\ release. +% \begin{itemize} +% \item Docs: Improved documentation regarding package options. +% \margintag{docs} +% See \cref{sec:thingstoavoid}. +% \item Fix to overwrite existing support files +% using new \env{filecontents} environment. +% \item \pkg{breqn}: Previously broken by the 2019/10 \LaTeX\ update, but +% \margintag{packages} +% now working again. +% \item \pkg{graphics}: Fix for \cs{includegraphics} \attribute{alt} tags. +% \item \pkg{babel-french}: Fix for hyperlinks. +% \item \pkg{media9}, \pkg{movie15}, \pkg{multimedia}: Fix for the 2019/10 \LaTeX\ update. +% \item \pkg{accessibility}: Added. +% \end{itemize} +% \needspace{2\baselineskip} % \item[v0.77:] Updates to fix recently-broken packages. % \begin{itemize} % \item \pkg{booktabs}: Updated to v1.6180339. @@ -5039,7 +5069,7 @@ This boolean may be tested by the user for later use. % % \midrule % -% Accessibility: & \ipkg{accsupp}, \ipkg{axessibility}. \\ +% Accessibility: & \epkg{accessibility}, \ipkg{accsupp}, \ipkg{axessibility}. \\ % % \midrule % @@ -6318,7 +6348,7 @@ This boolean may be tested by the user for later use. % \begin{enumerate} % \item Declare the \cs{documentclass}. % \item Load text fonts. -% \item Load \pkg{inputenc} or \pkg{inputenx}, \pkg{fontenc}, and/or \pkg{fontspec}. +% \item Load \pkg{inputenc} or \pkg{inputenx}, \pkg{fontenc}, or \pkg{fontspec}. % \item Load \pkg{lwarp}. % \item Load remaining packages. % \end{enumerate} @@ -6335,10 +6365,15 @@ This boolean may be tested by the user for later use. % \item \limitsmathinsectionnames % \item \limitsincludegraphicsscale % \item Possible changes to \env{tabular} environments include: +% \watchout[tabular] % |*| columns, \pkg{multirow}, \pkg{longtable}, \pkg{supertabular}, \pkg{xtab}, % \pkg{bigdelim}. See \cref{sec:limitstabular}. +% \item If using braces in package options, +% \watchout[package options] +% such as with \pkg{caption}, see \cref{sec:thingstoavoid}. % \item Possible option clashes with \pkg{memoir}. See \cref{sec:limitsmemoir}. % \item If using indexes, see \cref{sec:indexsetup}. +% \watchout[indexes] % \item If using many indexes, glossaries, |.aux| files, etc., % see \cref{sec:indexsetup} regarding \pkg{morewrites}. % If \pkg{morewrites} is already used, be sure to add the setup with |allocate=10|. @@ -7820,7 +7855,7 @@ This boolean may be tested by the user for later use. % \cs{HTMLAuthor} may be used to set the meta tag to a simple list of names. % % -% +% \clearpage % % \section{Special cases and limitations} % \label{sec:limitations} @@ -7843,6 +7878,12 @@ This boolean may be tested by the user for later use. % In the document, avoid the following: % % \begin{description} +% \item [Package options:] \ +% \trouble[options with braces]{options>with braces} +% \trouble{caption=\pkg{caption}>options} +% \trouble{package>options with braces} +% \trouble{Missing \cs{begin}\{document\}>package options} +% \limitspackageloading % \item [\texttt{page} counter:] Do not adjust the \texttt{page} counter. % If doing so is required for the print version, place the % adjustment inside a \env{warpprint} environment. @@ -9254,6 +9295,7 @@ This boolean may be tested by the user for later use. % % \DescribePackage{caption} % \DescribePackage{subcaption} +% \label{sec:limitscaption} % \limitscaption % % @@ -10524,6 +10566,12 @@ This boolean may be tested by the user for later use. % % \item [Options clash:] If using \pkg{memoir}, see \cref{sec:limitsmemoir}. % +% \item [``Missing \cs{begin}\{document\}.'':] +% Some packages require that their options be +% specified before \pkg{lwarp} is loaded, or via the package's setup +% macro, especially if these options include the use of braces. +% See \cref{sec:thingstoavoid}. +% % \item [``No room for a new \cs{write}.'':] Before |\usepackage{lwarp}|, add: % \trouble{No room for a new \cs{write}} % \trouble{morewrites} @@ -11395,6 +11443,7 @@ This boolean may be tested by the user for later use. \LWR@loadafter{a5comb} \LWR@notmemoirloadafter{abstract} \LWR@loadafter{academicons} +\LWR@loadafter{accessibility} \LWR@loadafter{accsupp} \LWR@loadafter{acro} \LWR@loadafter{acronym} @@ -13386,31 +13435,56 @@ This boolean may be tested by the user for later use. % \DescribePackage{filecontents} % -% Used to write helper files, done in print mode. -% -% Patched to work with \pkg{morewrites}, per -% \href -% {https://tex.stackexchange.com/questions/312830/does-morewrites-not-support-filecontents-and-can-i-write-body-of-environment-us/312910} -% {\texttt{https://tex.stackexchange.com/questions/312830/\\ -% does-morewrites-not-support-filecontents-and-can-i-write-body-of-environment-us/\\ -% 312910}} +% Used to write helper files while creating the print version. % % \changes{v0.34}{2017/08/02}{\pkg{filecontents}: Required. Patched for \pkg{morewrites}.} +% \changes{v0.78}{2019/11/05}{\pkg{filecontents}: Fix to overwrite existing files using new \env{filecontents} environment.} % -% (Recent versions of \LaTeX\ (as of Fall 2019) now include the functionality -% of the \pkg{filecontents} package, but the package will still be used -% for those who still have older installations.) +% Recent versions of \LaTeX\ (as of Fall 2019) now include the functionality +% of the \pkg{filecontents} package, but with a new optional argument +% used to specify whether to force the overwriting of an existing file. +% If an older \LaTeX\ kernel is used, the original \pkg{filecontents} package is used, +% but it is patched to throw away the new optional argument. % % \begin{macrocode} -\RequirePackage{filecontents} +\@ifundefined{filec@ntents@opt}{% older kernel, discard optional args -\@ifpackagelater{filecontents}{2011/10/09}% -{} -{ -\newwrite\fcwrite -\let\LWR@origfilec@ntents\filec@ntents -\def\filec@ntents{\def\chardef##1\write{\let\reserved@c\fcwrite}\LWR@origfilec@ntents} -} + \RequirePackage{filecontents} + + \LetLtxMacro\LWR@orig@filec@ntents\filec@ntents + + \@ifpackagelater{filecontents}{2011/10/08} + { +% \end{macrocode} +% For a newer version of the \pkg{filecontents} package, simply +% discard the optional argument. +% \begin{macrocode} + \renewcommand*{\filec@ntents}[1][]{\LWR@orig@filec@ntents} + } + {% patch older package for morewrites +% \end{macrocode} +% For an older version of \pkg{filecontents}, +% discard the optional argument, and also patch to work with \pkg{morewrites}, per +% \href +% {https://tex.stackexchange.com/questions/312830/does-morewrites-not-support-filecontents-and-can-i-write-body-of-environment-us/312910} +% {\texttt{https://tex.stackexchange.com/questions/312830/\\ +% does-morewrites-not-support-filecontents-and-can-i-write-body-of-environment-us/\\ +% 312910}} +% \begin{macrocode} + \newwrite\fcwrite + \renewcommand*{\filec@ntents}[1][]{% + \def\chardef##1\write{\let\reserved@c\fcwrite}% + \LWR@orig@filec@ntents% + } + } + +}% older kernel +{% newer kernel +% \end{macrocode} +% For a newer kernel with a \env{filecontents} environment which accepts the +% optional \optn{overwrite} argument, use the environment as-is. +% \begin{macrocode} +}% newer kernel, filecontents env accepts optional args, do not load package % \end{macrocode} % \begin{macrocode} @@ -13559,6 +13633,7 @@ This boolean may be tested by the user for later use. % Remember the original \cs{RequirePackage}: % \begin{macrocode} \LetLtxMacro\LWR@origRequirePackage\RequirePackage +\LetLtxMacro\LWR@origRequirePackageWithOptions\RequirePackageWithOptions % \end{macrocode} % \begin{macro}{\LWR@requirepackagenames} @@ -13792,13 +13867,13 @@ This boolean may be tested by the user for later use. \IfValueTF{#1}% {% options given \IfValueTF{#3}% version given? - {\LWR@origRequirePackage[#1]{\LWR@parsedrequirepackagenames}[#3]}% - {\LWR@origRequirePackage[#1]{\LWR@parsedrequirepackagenames}}% + {\LWR@origRequirePackage[#1]{\LWR@parsedrequirepackagenames}[#3]}% + {\LWR@origRequirePackage[#1]{\LWR@parsedrequirepackagenames}}% }% {% no options given \IfValueTF{#3}% version given? - {\LWR@origRequirePackage{\LWR@parsedrequirepackagenames}[#3]}% - {\LWR@origRequirePackage{\LWR@parsedrequirepackagenames}}% + {\LWR@origRequirePackage{\LWR@parsedrequirepackagenames}[#3]}% + {\LWR@origRequirePackage{\LWR@parsedrequirepackagenames}}% }% } \LetLtxMacro\usepackage\RequirePackage @@ -13824,13 +13899,15 @@ This boolean may be tested by the user for later use. Using package `#1' and adding lwarp modifications,\MessageBreak including options,}% \IfValueTF{#2} -{\ProvidesPackage{lwarp-#1}[#2]} -{\ProvidesPackage{lwarp-#1}} -\DeclareOption*{\PassOptionsToPackage{\CurrentOption}{#1}} -\ProcessOptions\relax -\IfValueTF{#2} -{\LWR@origRequirePackage{#1}[#2]} -{\LWR@origRequirePackage{#1}} + {\ProvidesPackage{lwarp-#1}[#2]} + {\ProvidesPackage{lwarp-#1}} +\DeclareOption*{% + \PassOptionsToPackage{\CurrentOption}{#1}% +} +\ProcessOptions\relax% +\IfValueTF{#2}% + {\LWR@origRequirePackage{#1}[#2]}% + {\LWR@origRequirePackage{#1}}% % \end{macrocode} % In some cases, the following seems to be required % to avoid an ``unknown option'' error, such @@ -13838,7 +13915,7 @@ This boolean may be tested by the user for later use. % \changes{v0.62}{2018/11/11}{Fix: Unknown option error.} % \begin{macrocode} \DeclareOption*{}% -\ProcessOptions\relax +\ProcessOptions\relax% } % \end{macrocode} % \end{macro} @@ -15386,7 +15463,7 @@ This boolean may be tested by the user for later use. % \codeconfig % \begin{macrocode} \begin{LWRwriteconf} -\begin{filecontents*}{lwarp.css} +\begin{filecontents*}[overwrite]{lwarp.css} /* CSS stylesheet for the LaTeX lwarp package Copyright 2016-2019 Brian Dunn — BD Tech Concepts LLC @@ -17016,7 +17093,7 @@ span.sidetocthetitle { display: none } % \codeconfig % \begin{macrocode} \begin{LWRwriteconf} -\begin{filecontents*}{lwarp_sagebrush.css} +\begin{filecontents*}[overwrite]{lwarp_sagebrush.css} @import url("lwarp.css") ; @@ -17287,7 +17364,7 @@ nav.sidetoc a:hover { % \codeconfig % \begin{macrocode} \begin{LWRwriteconf} -\begin{filecontents*}{lwarp_formal.css} +\begin{filecontents*}[overwrite]{lwarp_formal.css} @import url("lwarp.css") ; @@ -17504,7 +17581,7 @@ nav.botnavigation { % \codeconfig % \begin{macrocode} \begin{LWRwriteconf} -\begin{filecontents*}{sample_project.css} +\begin{filecontents*}[overwrite]{sample_project.css} /* ( --- Start of project.css --- ) */ /* ( --- A sample project-specific CSS file for lwarp --- ) */ @@ -17541,7 +17618,7 @@ nav.botnavigation { % \codeconfig % \begin{macrocode} \begin{LWRwriteconf} -\begin{filecontents*}{lwarp.ist} +\begin{filecontents*}[overwrite]{lwarp.ist} preamble "\\begin{theindex} \\providecommand*\\lettergroupDefault[1]{} @@ -17591,7 +17668,7 @@ page_compositor "." % \codeconfig % \begin{macrocode} \begin{LWRwriteconf} -\begin{filecontents*}{lwarp.xdy} +\begin{filecontents*}[overwrite]{lwarp.xdy} (require "tex/inputenc/latin.xdy") (merge-rule "\\PS *" "Postscript") (require "texindy.xdy") @@ -17709,7 +17786,7 @@ page_compositor "." % \codeconfig % \begin{macrocode} \begin{LWRwriteconf} -\begin{filecontents*}{lwarp_mathjax.txt} +\begin{filecontents*}[overwrite]{lwarp_mathjax.txt}