diff options
19 files changed, 1090 insertions, 350 deletions
diff --git a/Build/source/texk/texlive/linked_scripts/lwarp/lwarpmk.lua b/Build/source/texk/texlive/linked_scripts/lwarp/lwarpmk.lua index 0220fe6e9ff..88153f04a7a 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-2018 Brian Dunn -printversion = "v0.63" +printversion = "v0.64" requiredconfversion = "1" -- also at *lwarpmk.conf function printhelp () diff --git a/Build/source/texk/texlive/linked_scripts/tlshell/tlshell.tcl b/Build/source/texk/texlive/linked_scripts/tlshell/tlshell.tcl index 73b13f52cbd..22e1a8e0b62 100755 --- a/Build/source/texk/texlive/linked_scripts/tlshell/tlshell.tcl +++ b/Build/source/texk/texlive/linked_scripts/tlshell/tlshell.tcl @@ -75,9 +75,9 @@ proc do_debug {s} { if $::ddebug { puts stderr $s # On windows, stderr output goes nowhere. - # Therefore also debug output for the log toplevel. + # Therefore also debug output for the log dialog. lappend ::dbg_log $s - # Track debug output in the log toplevel if it is running: + # Track debug output in the log dialog if it is running: if [winfo exists .tllg.dbg.tx] { .tllg.dbg.tx configure -state normal .tllg.dbg.tx insert end "$s\n" @@ -134,33 +134,40 @@ proc long_message {str type {p "."}} { # wallpaper frame; see populate_main pack [ttk::frame .tlmg.bg] -fill both -expand 1 - ppack [ttk::frame .tlmg.tx] -in .tlmg.bg -side top -fill both -expand 1 - pack [ttk::scrollbar .tlmg.tx.scroll -command ".tlmg.tx.txt yview"] \ - -side right -fill y - ppack [text .tlmg.tx.txt -height 20 -width 60 -bd 2 -relief groove \ - -wrap word -yscrollcommand ".tlmg.tx.scroll set"] -expand 1 -fill both - - .tlmg.tx.txt insert end $str - .tlmg.tx.txt configure -state disabled # buttons pack [ttk::frame .tlmg.bts] -in .tlmg.bg -side bottom -fill x if {$type eq "ok" || $type eq "okcancel"} { - ttk::button .tlmg.ok -text [__ "ok"] -command "end_dlg \"ok\" .tlmg" + ttk::button .tlmg.ok -text [__ "Ok"] -command "end_dlg \"ok\" .tlmg" ppack .tlmg.ok -in .tlmg.bts -side right } if {$type eq "yesnocancel"} { - ttk::button .tlmg.yes -text [__ "yes"] -command "end_dlg \"yes\" .tlmg" + ttk::button .tlmg.yes -text [__ "Yes"] -command "end_dlg \"yes\" .tlmg" ppack .tlmg.yes -in .tlmg.bts -side right ttk::button .tlmg.no -text [__ "no"] -command "end_dlg \"no\" .tlmg" ppack .tlmg.no -in .tlmg.bts -side right } if {$type eq "yesnocancel" || $type eq "okcancel"} { - ttk::button .tlmg.cancel -text [__ "cancel"] -command \ + ttk::button .tlmg.cancel -text [__ "Cancel"] -command \ "end_dlg \"cancel\" .tlmg" ppack .tlmg.cancel -in .tlmg.bts -side right } + if [winfo exists .tlmg.cancel] { + bind .tlmg <Escape> {.tlmg.cancel invoke} + } elseif {$type eq "ok"} { + bind .tlmg <Escape> {.tlmg.ok invoke} + } + + ppack [ttk::frame .tlmg.tx] -in .tlmg.bg -side top -fill both -expand 1 + pack [ttk::scrollbar .tlmg.tx.scroll -command ".tlmg.tx.txt yview"] \ + -side right -fill y + ppack [text .tlmg.tx.txt -height 20 -width 60 -bd 2 -relief groove \ + -wrap word -yscrollcommand ".tlmg.tx.scroll set"] -expand 1 -fill both + .tlmg.tx.txt insert end $str + .tlmg.tx.txt configure -state disabled + + # default resizable place_dlg .tlmg $p tkwait window .tlmg return $::dialog_ans @@ -186,122 +193,116 @@ proc any_message {str type {p "."}} { ### enabling and disabling user interaction -proc enable_menu_controls {y_n} { - if {! $y_n} { - . configure -menu .mn_empty - return +proc selective_dis_enable {} { + # disable actions which make no sense at the time + + # buttons in the middle section + set pkg_buttons [list .mrk_inst .mrk_upd .mrk_rem .upd_tlmgr .upd_all] + foreach b [list .mrk_inst .mrk_upd .mrk_rem .upd_tlmgr .upd_all] { + $b state !disabled } - . configure -menu .mn - if {! $::n_updates} { - .mn.pkg entryconfigure $::inx_upd_all -state disabled - .mn.pkg entryconfigure $::inx_upd_tlmgr -state disabled + if $::do_restore {.mrk_rest state !disabled} + + if {!$::have_remote} { + foreach b [list .mrk_inst .mrk_upd .upd_tlmgr .upd_all] { + $b state disabled + } + } elseif {!$::n_updates} { + foreach b [list .mrk_upd .upd_tlmgr .upd_all] { + $b state disabled + } } elseif $::need_update_tlmgr { - .mn.pkg entryconfigure $::inx_upd_all -state disabled - .mn.pkg entryconfigure $::inx_upd_tlmgr -state normal - } else { - .mn.pkg entryconfigure $::inx_upd_all -state normal - .mn.pkg entryconfigure $::inx_upd_tlmgr -state disabled + foreach b [list .mrk_inst .mrk_upd] { + $b state disabled + } + } elseif {!$::need_update_tlmgr} { + .upd_tlmgr state disabled } + + # platforms menu item if {$::tcl_platform(platform) ne "windows"} { - if $::have_remote { - .mn.opt entryconfigure $::inx_platforms -state normal - } else { + if {!$::have_remote || $::need_update_tlmgr} { .mn.opt entryconfigure $::inx_platforms -state disabled + } else { + .mn.opt entryconfigure $::inx_platforms -state normal } } -}; # enable_menu_controls +}; # selective_dis_enable -proc enable_widgets {y_n} { +proc total_dis_enable {y_n} { + # to be invoked when tlmgr becomes busy or idle,, i.e. + # if it starts with a tlmgr command through run_cmds + # or read_line notices the command(s) ha(s|ve) ended. # This proc should cover all active interface elements of the main window. # But if actions are initiated via a dialog, the main window can be # deactivated by a grab and focus on the dialog instead. - enable_menu_controls $y_n - if $y_n { - set st !disabled - set ::busy [__ "IDLE"] + if {!$y_n} { + . configure -menu .mn_empty + foreach c [winfo children .] { + if {$c ne ".showlogs" && [winfo class $c] in \ + [list TButton TCheckbutton TRadiobutton TEntry Treeview]} { + # this should cover all relevant widgets in the main window + $c state disabled + } + } + set ::busy [__ "Running"] } else { - set st disabled - set ::busy [__ "BUSY"] - } - - # command entry - .ent.b configure -state $st - .ent.e configure -state $st - - # filter options - # status - .pkfilter.inst configure -state $st - .pkfilter.alls configure -state $st - .pkfilter.upd configure -state $st - # detail - .pkfilter.alld configure -state $st - .pkfilter.coll configure -state $st - .pkfilter.schm configure -state $st - - # mark commands - .mrk_all configure -state $st - .mrk_none configure -state $st - - # search - .pksearch.e configure -state $st - .pksearch.d configure -state $st - - # packages - #.pkglist configure -state $st - .pkglist state $st - - # final buttons - .q configure -state $st - .r configure -state $st - .t configure -state $st - .showlogs configure -state $st -} ; # enable_widgets + . configure -menu .mn + foreach c [winfo children .] { + if {[winfo class $c] in \ + [list TButton TCheckbutton TRadiobutton TEntry Treeview]} { + $c state !disabled + } + } + set ::busy [__ "Idle"] + selective_dis_enable + } +} ; # total_dis_enable ##### tl global data ################################################## -set last_cmd "" +set ::last_cmd "" -set progname [info script] -regexp {^.*[\\/]([^\\/\.]*)(?:\....)?$} $progname dummy progname -set procid [pid] +set ::progname [info script] +regexp {^.*[\\/]([^\\/\.]*)(?:\....)?$} $progname dummy ::progname +set ::procid [pid] # package repositories -array unset repos +array unset ::repos # mirrors: dict of dicts of lists of urls per country per continent -set mirrors {} +set ::mirrors [dict create] # dict of (local and global) package dicts -set pkgs [dict create] +set ::pkgs [dict create] -if {$::tcl_platform(platform) ne "windows"} { - set ::platforms [dict create] -} +# platforms +set ::platforms [dict create] -set have_remote 0 ; # remote packages info not yet loaded -set need_update_tlmgr 0 -set n_updates 0 -set tlshell_updatable 0 +set ::have_remote 0 ; # remote packages info not yet loaded +set ::need_update_tlmgr 0 +set ::n_updates 0 +set ::tlshell_updatable 0 ## data to be displayed ## # sorted display data for packages; package data stored as lists -set filtered [dict create] +set ::filtered [dict create] # selecting packages for display: status and detail -set stat_opt "inst" -set dtl_opt "all" +set ::stat_opt "inst" +set ::dtl_opt "all" # searching packages for display; also search short descriptions? -set search_desc 0 +set ::search_desc 0 ##### handling tlmgr via pipe and stderr tempfile ##################### -set prmpt "tlmgr>" -set busy [__ "BUSY"] +set ::prmpt "tlmgr>" +set ::busy [__ "Running"] # copy logs to log window yes/no -set show_output 0 +set ::show_output 0 # about [chan] gets: # if a second parameter, in this case l, is supplied @@ -374,7 +375,7 @@ proc read_line {} { if $::ddebug {puts $::flid $l} if {[string first $::prmpt $l] == 0} { # prompt line: we are done with the current command - enable_widgets 1 ; # this may have to be redone later + total_dis_enable 1 ; # this may have to be redone later # catch up with stderr read_err_tempfile if $::show_output { @@ -394,8 +395,8 @@ proc read_line {} { } } ; # read_line -# copy error strings to error page in logs toplevel .tllg and send it to top. -# This by itself does not map the logs toplevel .tllg +# copy error strings to error page in logs dialog .tllg and send it to top. +# This by itself does not map the logs dialog .tllg proc show_err_log {} { #do_debug "show_err_log" @@ -436,6 +437,7 @@ proc log_widget_finish {} { } .tllg.status configure -text [__ "Idle"] .tllg.close configure -state !disabled + bind .tllg <Escape> {.tllg.close invoke} } ##### running tlmgr commands ##### @@ -445,7 +447,6 @@ proc run_cmds {cmds {show 0}} { set ::show_output $show do_debug "run_cmds \"$cmds\"" if $::ddebug {puts $::flid "\n$cmds"} - enable_widgets 0 set ::out_log {} set ::err_log {} if $show { @@ -458,6 +459,10 @@ proc run_cmds {cmds {show 0}} { set cmd [lindex $cmds $i] set ::last_cmd $cmd unset -nocomplain ::done_waiting + # disable widgets for each new command, + # since read_line will re-enable them + # when a particular command is finished + total_dis_enable 0 chan puts $::tlshl $cmd chan flush $::tlshl if {$i < [expr {$l-1}]} {vwait ::done_waiting} @@ -492,15 +497,17 @@ proc run_cmd_waiting {cmd} { # displayed global status info is updated by update_globals. # update button/menu states are set at initialization and updated -# by update_globals, both via the enable_menu_controls proc +# by update_globals, both via the selective_dis_enable proc # get_packages_info_local is invoked only once, at initialization. After # installations and removals, the collected information is updated by # update_local_revnumbers. +# Both procs also invoke get_platforms # get_packages_info_remote will be invoked by collect_filtered if # ::have_remote is false. Afterwards, ::have_remote will be true, and # therefore get_packages_info_remote will not be called again. +# get_packages_info_remot also invokes get_platforms # get_packages_info_remote invokes update_globals. # update_local_revnumbers will be invoked after any updates. It also @@ -552,7 +559,7 @@ proc update_globals {} { .topf.luptodate configure -text [__ "Unknown"] } # ... and status of update buttons - enable_menu_controls 1 + selective_dis_enable } # The package display treeview widget in the main window has columns @@ -646,6 +653,25 @@ proc collect_filtered {} { display_packages_info } ; # collect_filtered +# derive the set of platforms from the dictionary of packages: +# collect the values $plname from packages 'tex\.$plname' +proc get_platforms {} { + # guarantee fresh start + foreach k $::platforms {dict unset ::platforms $k} + set ::platforms [dict create] + # glob-style matching: $k should start with "tex." + foreach k [dict keys $::pkgs "tex.*"] { + set plname [string range $k 4 end] + if {$plname eq ""} continue + set pl [dict create "cur" 0 "fut" 0] + if {[dict get $::pkgs $k "localrev"] > 0} { + dict set pl "cur" 1 + dict set pl "fut" 1 + } + dict set ::platforms $plname $pl + } +} + # get fresh package list. invoked at program start # some local packages may not be available online. # to test, create local dual-platform installation from dvd, try to update @@ -676,6 +702,7 @@ proc get_packages_info_local {} { "rcatv" 0 "category" $catg shortdesc $pdescr] } } + get_platforms } ; # get_packages_info_local # remote: preserve information on installed packages @@ -714,8 +741,9 @@ proc get_packages_info_remote {} { dict set ::pkgs $nm "shortdesc" $pdescr } } + get_platforms set ::have_remote 1 - .topf.loaded configure -text "Loaded" + .topf.loaded configure -text "Loaded" -foreground black update_globals return 1 } ; # get_packages_info_remote @@ -739,6 +767,7 @@ proc update_local_revnumbers {} { dict set ::pkgs $pk $pk_dict } } + get_platforms update_globals } ; # update_local_revnumbers @@ -746,7 +775,7 @@ proc update_local_revnumbers {} { # if invoked via run_cmds, it tracks progress of (a) tlmgr command(s). # run_cmds will temporarily disable the close button -# and set .tllg.status to busy via enable_widgets 0. +# and set .tllg.status to busy via total_dis_enable 0. # otherwise, it shows the output of the last completed (list of) command(s). # Note that run_cmds clears ::out_log and ::err_log, but not ::dbg_log. @@ -758,6 +787,14 @@ proc show_logs {} { # wallpaper pack [ttk::frame .tllg.bg] -fill both -expand 1 + # close button and busy label + pack [ttk::frame .tllg.bottom] -in .tllg.bg -side bottom -fill x + ttk::button .tllg.close -text [__ "Close"] -command {end_dlg 0 .tllg} + ppack .tllg.close -in .tllg.bottom -side right -anchor e + ppack [ttk::label .tllg.status -anchor w] -in .tllg.bottom -side left + bind .tllg <Escape> {.tllg.close invoke} + + # notebook pages and scrollbars ttk::frame .tllg.log pack [ttk::scrollbar .tllg.log.scroll -command ".tllg.log.tx yview"] \ -side right -fill y @@ -802,6 +839,7 @@ proc show_logs {} { .tllg.dbg.tx yview moveto 1 } + # collect pages in notebook widget pack [ttk::notebook .tllg.logs] -in .tllg.bg -side top -fill both -expand 1 .tllg.logs add .tllg.log -text [__ "Output"] .tllg.logs add .tllg.err -text [__ "Errors"] @@ -812,13 +850,8 @@ proc show_logs {} { raise .tllg.err .tllg.logs raise .tllg.log .tllg.logs - pack [ttk::frame .tllg.bottom] -in .tllg.bg -side bottom -fill x - ttk::button .tllg.close -text [__ "Close"] -command {end_dlg 0 .tllg} - ppack .tllg.close -in .tllg.bottom -side right -anchor e - ppack [ttk::label .tllg.status -anchor w] -in .tllg.bottom -side left - + # default resizable place_dlg .tllg . - wm resizable .tllg 1 1 } ; # show_logs ##### repositories ############################################### @@ -1073,7 +1106,7 @@ proc repos_commit {} { # main repository dialog proc repository_dialog {} { - # dialog toplevel with + # dialog with # - popup menu of mirrors (parse tlpkg/installer/ctan-mirrors.pl) # - text entry box # - directory browser button @@ -1085,7 +1118,7 @@ proc repository_dialog {} { # wallpaper frame; see populate_main pack [ttk::frame .tlr.bg] -expand 1 -fill x - pack [ttk::frame .tlr.info] -in .tlr.bg -fill x + pack [ttk::frame .tlr.info] -in .tlr.bg -expand 1 -fill x grid columnconfigure .tlr.info 1 -weight 1 set row -1 @@ -1099,8 +1132,8 @@ proc repository_dialog {} { incr row pgrid [ttk::label .tlr.lnew -text [__ "New"]] \ -in .tlr.info -row $row -column 0 -sticky w - pgrid [ttk::entry .tlr.new -width 40] \ - -in .tlr.info -row $row -column 1 -columnspan 2 -sticky w + pgrid [ttk::entry .tlr.new] \ + -in .tlr.info -row $row -column 1 -columnspan 2 -sticky ew ### three ways to specify a repository ### pack [ttk::frame .tlr.mirbuttons] -in .tlr.bg -fill x @@ -1173,17 +1206,16 @@ proc repository_dialog {} { ppack .tlr.save -in .tlr.closebuttons -side right ttk::button .tlr.abort -text [__ "Abort"] -command {end_dlg "" .tlr} ppack .tlr.abort -in .tlr.closebuttons -side right + bind .tlr <Escape> {.tlr.abort invoke} + wm resizable .tlr 1 0 place_dlg .tlr . - wm resizable .tlr 0 0 } ; # repository_dialog ### platforms if {$::tcl_platform(platform) ne "windows"} { - # the ::platforms dict has been created earlier - proc toggle_pl_marked {pl cl} { # toggle_pl_marked is triggered by a mouse click only in column #1. # 'fut'[ure] should get updated in ::platforms _and_ in .tlpl.pl. @@ -1246,19 +1278,6 @@ if {$::tcl_platform(platform) ne "windows"} { # the platforms dialog proc platforms_select {} { - run_cmd_waiting "platform list" - set ::platforms {} - foreach l $::out_log { - if [regexp {^\s+(\S+)$} $l m p] { - dict set ::platforms $p {} - dict set ::platforms $p "cur" 0 - dict set ::platforms $p "fut" 0 - } elseif [regexp {^\(i\)\s+(\S+)$} $l m p] { - dict set ::platforms $p {} - dict set ::platforms $p "cur" 1 - dict set ::platforms $p "fut" 1 - } - } create_dlg .tlpl wm title .tlpl [__ "Platforms"] if $::plain_unix {wm attributes .tlpl -type dialog} @@ -1266,14 +1285,26 @@ if {$::tcl_platform(platform) ne "windows"} { # wallpaper frame pack [ttk::frame .tlpl.bg] -expand 1 -fill both + # buttons + pack [ttk::frame .tlpl.but] -in .tlpl.bg -side bottom -fill x + ttk::button .tlpl.do -text [__ "Apply and close"] -command { + platforms_commit; end_dlg "" .tlpl + } + ttk::button .tlpl.dont -text [__ "Close"] -command \ + {end_dlg "" .tlpl} + ppack .tlpl.do -in .tlpl.but -side right + .tlpl.do configure -state disabled + ppack .tlpl.dont -in .tlpl.but -side right + bind .tlpl <Escape> {.tlpl.dont invoke} + # platforms treeview; do we need a scrollbar? pack [ttk::frame .tlpl.fpl] -in .tlpl.bg -fill both -expand 1 ttk::treeview .tlpl.pl -columns {sup plat} -show headings \ - -height [dict size $::platforms] ; # -yscrollcommand {.tlpl.plsb set} + -height [dict size $::platforms] -yscrollcommand {.tlpl.plsb set} ppack .tlpl.pl -in .tlpl.fpl -side left -fill both -expand 1 - #ttk::scrollbar .tlpl.plsb -orient vertical \ - # -command {.tlpl.pl yview} - #ppack .tlpl.plsb -in .tlpl.fpl -side right -fill y -expand 1 + ttk::scrollbar .tlpl.plsb -orient vertical \ + -command {.tlpl.pl yview} + ppack .tlpl.plsb -in .tlpl.fpl -side right -fill y -expand 1 #.tlpl.pl heading sup -text "" .tlpl.pl column sup -width [expr {$::cw * 8}] .tlpl.pl heading plat -text [__ "platform"] -anchor w @@ -1292,19 +1323,8 @@ if {$::tcl_platform(platform) ne "windows"} { [.tlpl.pl identify item %x %y] \ [.tlpl.pl identify column %x %y]} - # buttons - pack [ttk::frame .tlpl.but] -in .tlpl.bg -fill x - ttk::button .tlpl.do -text [__ "Apply and close"] -command { - platforms_commit; end_dlg "" .tlpl - } - ttk::button .tlpl.dont -text [__ "Close"] -command \ - {end_dlg "" .tlpl} - ppack .tlpl.do -in .tlpl.but -side right - .tlpl.do configure -state disabled - ppack .tlpl.dont -in .tlpl.but -side right - + wm resizable .tlpl 0 1 place_dlg .tlpl . - wm resizable .tlpl 0 0 } ; # platforms_select } ; # $::tcl_platform(platform) ne "windows" @@ -1313,6 +1333,7 @@ if {$::tcl_platform(platform) ne "windows"} { # This is currently rather dangerous. # ::do_restore is set to 0 or 1 near the top of this source. +# This code, currently disbled, has not been tested in a while. if $::do_restore { # dictionary of backups, with mapping to list of available revisions @@ -1328,7 +1349,7 @@ proc enable_restore {y_n} { proc finish_restore {} { vwait ::done_waiting # now log_widget_finish should have run and re-enabled its close button. - # We won't wait for the log toplevel to close, but we will + # We won't wait for the log dialog to close, but we will # update the packages display in the main window. update_local_revnumbers collect_filtered @@ -1508,16 +1529,25 @@ proc update_tlmgr {} { } ; # update_tlmgr proc update_all {} { + set updated_tlmgr 0 if $::need_update_tlmgr { - tk_messageBox -message [__ "Update self first!"] - return - } elseif {! $::n_updates} { + run_cmd "update --self" 1 + vwait ::done_waiting + # tlmgr restarts itself automatically + update_local_revnumbers + set updated_tlmgr 1 + } + # tlmgr restarts itself automatically + # tk_messageBox -message [__ "Update self first!"] + # return + if {! $::n_updates && !$updated_tlmgr} { tk_messageBox -message [__ "Nothing to do!"] return + } elseif $::n_updates { + run_cmd "update --all" 1 + vwait ::done_waiting + update_local_revnumbers } - run_cmd "update --all" 1 - vwait ::done_waiting - update_local_revnumbers collect_filtered } ; # update_all @@ -1575,6 +1605,7 @@ proc install_pkgs {sel_opt {pk ""}} { show_err_log } update_local_revnumbers + if {$sel_opt eq "marked"} {mark_all 0} collect_filtered } ; # install_pkgs @@ -1615,7 +1646,7 @@ proc update_pkgs {sel_opt {pk ""}} { "yesnocancel"] switch $ans { "cancel" return - "yes" {run_cmd "update $todo"} 1 + "yes" {run_cmd "update $todo" 1} "no" { set deps {} run_cmd_waiting "update --dry-run --no-depends $todo" @@ -1647,6 +1678,7 @@ proc update_pkgs {sel_opt {pk ""}} { show_err_log } update_local_revnumbers + if {$sel_opt eq "marked"} {mark_all 0} collect_filtered } ; # update_pkgs @@ -1707,6 +1739,7 @@ proc remove_pkgs {sel_opt {pk ""}} { show_err_log } update_local_revnumbers + if {$sel_opt eq "marked"} {mark_all 0} collect_filtered } ; # remove_pkgs @@ -1715,16 +1748,6 @@ proc remove_pkgs {sel_opt {pk ""}} { ##### varous callbacks ##### -proc run_entry {} { - # TODO: some validation of $cmd - do_debug "run_entry" - set cmd [.ent.e get] - if {$cmd eq ""} return - do_debug $cmd - .ent.e delete 0 end - run_cmd $cmd 1 -} - proc restart_self {} { do_debug "trying to restart" if {$::progname eq ""} { @@ -1766,14 +1789,6 @@ proc mark_all {mrk} { # alternatively: regenerate ::filtered and .pkglist from ::pkgs } ; # mark_all -proc toggle_search_desc {} { - # when this proc is called, ::search_desc is not yet toggled - # so we temporarily pre-toggle and post-untoggle it - set ::search_desc [expr {$::search_desc ? 0 : 1}] - display_packages_info - set ::search_desc [expr {$::search_desc ? 0 : 1}] -} - ##### package popup ##### proc do_package_popup_menu {x y X Y} { @@ -1882,11 +1897,42 @@ proc run_external {cmd mess} { log_widget_init } +proc show_help {} { + set ::env(NOPERLDOC) 1 + long_message [exec tlmgr --help] ok +} + +proc run_entry {} { + # TODO: some validation of $cmd + set cmd [.tlcust.e get] + if {$cmd eq ""} return + run_cmd $cmd 1 + end_dlg "" .tlcust +} + +## arbitrary commands: no way to know what data have to be updated +#proc custom_command {} { +# create_dlg .tlcust . +# wm title .tlcust [__ "Custom command"] +# pack [ttk::frame .tlcust.bg] -expand 1 -fill x +# +# ppack [ttk::entry .tlcust.e] \ +# -in .tlcust.bg -side left -fill x -expand 1 +# ppack [ttk::button .tlcust.b -text [__ "Go"] -command run_entry] \ +# -in .tlcust.bg -side left +# bind .tlcust.e <Return> run_entry +# bind .tlcust <Escape> {end_dlg "" .tlcust} +# wm .tlcust resizable 1 0 +# place_dlg .tlcust . +#} + ##### main window ##### proc populate_main {} { - wm title . "$::progname $::procid" + wm withdraw . + + wm title . "TeX Live Shell" # width of '0', as a rough estimate of average character width set ::cw [font measure TkTextFont "0"] @@ -1926,51 +1972,38 @@ proc populate_main {} { # inx: keeping count to record indices where needed, # i.e. when an entry needs to be referenced. # not all submenus need this. - .mn add cascade -label [__ "Packages"] -menu .mn.pkg - menu .mn.pkg - set inx 0 - set ::inx_upd_tlmgr $inx - .mn.pkg add command -label [__ "Update tlmgr"] -command update_tlmgr - incr inx - set ::inx_upd_all $inx - .mn.pkg add command -label [__ "Update all"] -command update_all - incr inx - .mn.pkg add command -label [__ "Install marked"] \ - -command {install_pkgs "marked"} - incr inx - .mn.pkg add command -label [__ "Update marked"] \ - -command {update_pkgs "marked"} - incr inx - .mn.pkg add command -label [__ "Remove marked"] \ - -command {remove_pkgs "marked"} - if $::do_restore { - incr inx - .mn.pkg add command -label [__ "Restore from backup..."] \ - -command restore_backups_dialog - } .mn add cascade -label [__ "Actions"] -menu .mn.act -underline 0 menu .mn.act + incr inx .mn.act add command -label [__ "Regenerate filename database"] -command \ {run_external "mktexlsr" [__ "Regenerating filename database..."]} .mn.act add command -label [__ "Regenerate formats"] -command \ {run_external "fmtutil-sys --all" [__ "Rebuilding formats..."]} .mn.act add command -label [__ "Regenerate fontmaps"] -command \ {run_external "updmap-sys" [__ "Rebuilding fontmap files..."]} + #.mn.act add command -label [__ "Custom command"] -command custom_command .mn add cascade -label [__ "Options"] -menu .mn.opt -underline 0 + menu .mn.opt - .mn.opt add command -label [__ "Repositories"] \ + set inx -1 + incr inx + .mn.opt add command -label "[__ "Repositories"]..." \ -command repository_dialog + incr inx .mn.opt add cascade -label [__ "Paper"] -menu .mn.opt.paper + incr inx menu .mn.opt.paper foreach p [list a4 letter] { .mn.opt.paper add command -label $p -command "set_paper $p" } if {[llength $::langs] > 1} { - .mn.opt add cascade -label [__ "GUI language"] -menu .mn.opt.lang + incr inx + .mn.opt add cascade -label [__ "GUI language (restarts tlshell)"] \ + -menu .mn.opt.lang menu .mn.opt.lang foreach l $::langs { .mn.opt.lang add command -label $l -command "set_language $l" @@ -1980,13 +2013,18 @@ proc populate_main {} { if {$::tcl_platform(platform) ne "windows"} { incr inx set ::inx_platforms $inx - .mn.opt add command -label [__ "Platforms"] -command platforms_select + .mn.opt add command -label "[__ "Platforms"]..." -command platforms_select } .mn add cascade -label [__ "Help"] -menu .mn.help -underline 0 menu .mn.help - .mn.help add command -command {tk_messageBox -message "Helpless"} \ - -label "About" + .mn.help add command -label [__ "About"] -command { + tk_messageBox -message [__ "\u00a9 2017, 2018 Siep Kroonenberg + +GUI interface for TeX Live Manager +Implemented in Tcl/Tk +"]} + .mn.help add command -label [__ "tlmgr help"] -command show_help # wallpaper frame # it is possible to set a background color for a toplevel, but on @@ -1995,43 +2033,54 @@ proc populate_main {} { # with the default ttk::frame color, which seems to work # everywhere. pack [ttk::frame .bg] -expand 1 -fill both + .bg configure -padding 5 - # various info - ttk::frame .topf - pack .topf -in .bg -side top -anchor w + # bottom of main window + pack [ttk::frame .endbuttons] -in .bg -side bottom -fill x + ttk::label .busy -textvariable ::busy -font TkHeadingFont -anchor w + ppack .busy -in .endbuttons -side left + ppack [ttk::button .q -text [__ Quit] -command {destroy .}] \ + -in .endbuttons -side right + ppack [ttk::button .r -text [__ "Restart self"] -command restart_self] \ + -in .endbuttons -side right + ppack [ttk::button .t -text [__ "Restart tlmgr"] \ + -command {close_tlmgr; start_tlmgr}] \ + -in .endbuttons -side right + ttk::button .showlogs -text [__ "Show logs"] -command show_logs + ppack .showlogs -in .endbuttons -side right - pgrid [ttk::label .topf.llrepo -text [__ "Default repositories"] -anchor w] \ - -row 0 -column 0 -sticky nw - pgrid [ttk::label .topf.lrepos -text ""] \ - -row 0 -column 1 -sticky nw - pgrid [ttk::label .topf.loaded -text [__ "Not loaded"]] \ - -row 1 -column 1 -sticky w + # various info + # frame .topf -background white -borderwidth 2 -relief sunken + ppack [ttk::frame .topf] -in .bg -side top -anchor w -fill x + pack [ttk::separator .sp -orient horizontal] \ + -in .bg -side top -fill x -pady 6 + + ttk::label .topf.llrepo -text [__ "Default repositories"] -anchor w + pgrid .topf.llrepo -row 0 -column 0 -sticky nw + ttk::label .topf.lrepos -text "" -justify left -anchor w + pgrid .topf.lrepos -row 0 -column 1 -sticky nw + ttk::label .topf.loaded -text [__ "Not loaded"] -foreground red -anchor w + pgrid .topf.loaded -row 1 -column 1 -sticky w ttk::label .topf.lluptodate -text [__ "TL Manager up to date?"] -anchor w pgrid .topf.lluptodate -row 2 -column 0 -sticky w ttk::label .topf.luptodate -text [__ "Unknown"] -anchor w pgrid .topf.luptodate -row 2 -column 1 -sticky w - pgrid [ttk::label .topf.llcmd -anchor w -text [__ "Last tlmgr command:"]] \ - -row 3 -column 0 -sticky w - pgrid [ttk::label .topf.lcmd -anchor w -textvariable ::last_cmd] \ - -row 3 -column 1 -sticky w - - # command entry widget - ttk::frame .ent - ppack [ttk::label .ent.l -text [__ "Type command:"]] -side left - ppack [ttk::entry .ent.e -width 40] -side left -padx 3 - ppack [ttk::button .ent.b -text [__ "Go"] -command run_entry] \ - -side left - bind .ent.e <Return> run_entry - pack .ent -pady 10 -in .bg -fill x -side top + ttk::label .topf.llcmd -anchor w -text [__ "Last tlmgr command:"] -anchor w + pgrid .topf.llcmd -row 3 -column 0 -sticky w + ttk::label .topf.lcmd -anchor w -textvariable ::last_cmd -anchor w + pgrid .topf.lcmd -row 3 -column 1 -sticky w # package list ttk::label .lpack -text [__ "Package list"] -font TkHeadingFont -anchor w - ppack .lpack -in .bg -side top -fill x + pack .lpack -in .bg -side top -padx 3 -pady [list 15 3] -fill x # controlling package list ttk::frame .pkfilter + pack .pkfilter -in .bg -side top -fill x + grid columnconfigure .pkfilter 3 -weight 1 + # column #3 is empty, but that is allright # filter on status: inst, all, upd ttk::label .pkfilter.lstat -font TkHeadingFont -text [__ "Status"] ttk::radiobutton .pkfilter.inst -text [__ "Installed"] -value inst \ @@ -2046,7 +2095,7 @@ proc populate_main {} { pgrid .pkfilter.upd -column 0 -row 3 -sticky w # filter on detail level: all, coll, schm - ttk::label .pkfilter.ldtl -font TkHeadingFont -text [__ "Global >> Detail"] + ttk::label .pkfilter.ldtl -font TkHeadingFont -text [__ "Detail >> Global"] ttk::radiobutton .pkfilter.alld -text [__ All] -value all \ -variable ::dtl_opt -command collect_filtered ttk::radiobutton .pkfilter.coll -text [__ "Collections and schemes"] \ @@ -2064,42 +2113,67 @@ proc populate_main {} { grid [ttk::button .mrk_none -text [__ "Mark none"] -command {mark_all 0}] \ -in .pkfilter -column 2 -row 2 -sticky w -padx {50 3} -pady 3 - pack .pkfilter -in .bg -side top -fill x - - # search interface - pack [ttk::frame .pksearch] -in .bg -side top -fill x + # actions + set rw -1 + incr rw + ttk::button .mrk_inst -text [__ "Install marked"] -command { + install_pkgs "marked"} + pgrid .mrk_inst -in .pkfilter -column 4 -row $rw -sticky ew + incr rw + ttk::button .mrk_upd -text [__ "Update marked"] -command { + update_pkgs "marked"} + pgrid .mrk_upd -in .pkfilter -column 4 -row $rw -sticky ew + incr rw + ttk::button .mrk_rem -text [__ "Remove marked"] -command { + remove_pkgs "marked"} + pgrid .mrk_rem -in .pkfilter -column 4 -row $rw -sticky ew + if $::do_restore { + incr rw + ttk::button .mrk_rest -text [__ "Restore from backup..."] -command \ + restore_backups_dialog + pgrid .mrk_rest -in .pkfilter -column 4 -row $rw -sticky ew + } + incr rw + ttk::button .upd_tlmgr -text [__ "Update tlmgr"] -command update_tlmgr + pgrid .upd_tlmgr -in .pkfilter -column 4 -row $rw -sticky ew + incr rw + ttk::button .upd_all -text [__ "Update all"] -command update_all + pgrid .upd_all -in .pkfilter -column 4 -row $rw -sticky ew + + # search interface; no new row + grid [ttk::frame .pksearch] -in .pkfilter -row $rw \ + -column 0 -columnspan 4 -sticky w ppack [ttk::label .pksearch.l \ - -text [__ "Search package names"]] -side left + -text [__ "Search"]] -side left pack [ttk::entry .pksearch.e -width 30] -side left -padx {3 0} -pady 3 - ppack [ttk::checkbutton .pksearch.d -variable ::search_desc \ - -text [__ "Also search short descriptions"]] -side left + ppack [ttk::radiobutton .pksearch.n -variable ::search_desc \ + -value 0 -text [__ "By name"]] -side left + ppack [ttk::radiobutton .pksearch.d -variable ::search_desc \ + -value 1 -text [__ "By name and description"]] -side left bind .pksearch.e <KeyRelease> display_packages_info - bind .pksearch.d <ButtonRelease> toggle_search_desc + bind .pksearch.n <ButtonRelease> {set ::search_desc 0; display_packages_info} + bind .pksearch.d <ButtonRelease> {set ::search_desc 1; display_packages_info} - # packages list + # packages list itself pack [ttk::frame .fpkg] -in .bg -side top -fill both -expand 1 ttk::treeview .pkglist -columns \ {mk name localrev remoterev shortdesc} \ -show headings -height 8 -selectmode extended \ - -xscrollcommand {.pkhsb set} -yscrollcommand {.pkvsb set} + -yscrollcommand {.pkvsb set} .pkglist heading mk -text "" -anchor w .pkglist heading name -text [__ "Name"] -anchor w .pkglist heading localrev -text [__ "Local Rev. (ver.)"] -anchor w .pkglist heading remoterev -text [__ "Remote Rev. (ver.)"] -anchor w .pkglist heading shortdesc -text [__ "Description"] -anchor w - .pkglist column mk -width [expr {$::cw * 3}] - .pkglist column name -width [expr {$::cw * 25}] - .pkglist column localrev -width [expr {$::cw * 18}] - .pkglist column remoterev -width [expr {$::cw * 18}] - .pkglist column shortdesc -width [expr {$::cw * 50}] + .pkglist column mk -width [expr {$::cw * 3}] -stretch 0 + .pkglist column name -width [expr {$::cw * 25}] -stretch 1 + .pkglist column localrev -width [expr {$::cw * 18}] -stretch 0 + .pkglist column remoterev -width [expr {$::cw * 18}] -stretch 0 + .pkglist column shortdesc -width [expr {$::cw * 50}] -stretch 1 - ttk::scrollbar .pkhsb -orient horizontal -command {.pkglist xview} ttk::scrollbar .pkvsb -orient vertical -command {.pkglist yview} - pgrid .pkglist -in .fpkg -row 0 -column 0 -sticky news - grid .pkvsb -in .fpkg -row 0 -column 1 -sticky ns - grid .pkhsb -in .fpkg -row 1 -column 0 -sticky ew - grid columnconfigure .fpkg 0 -weight 1 - grid rowconfigure .fpkg 0 -weight 1 + ppack .pkglist -in .fpkg -side left -expand 1 -fill both + ppack .pkvsb -in .fpkg -side left -fill y # "#1" refers to the first column (with mark symbols) bind .pkglist <space> {toggle_marked_pkg [.pkglist focus] "#1"} @@ -2114,20 +2188,10 @@ proc populate_main {} { bind .pkg_popup <Leave> {.pkg_popup unpost} } - # bottom of main window - pack [ttk::frame .endbuttons] -in .bg -side bottom -fill x - ttk::label .busy -textvariable ::busy -font TkHeadingFont -anchor w - ppack .busy -in .endbuttons -side left - ppack [ttk::button .q -text [__ Quit] -command {destroy .}] \ - -in .endbuttons -side right - ppack [ttk::button .r -text [__ "Restart self"] -command restart_self] \ - -in .endbuttons -side right - ppack [ttk::button .t -text [__ "Restart tlmgr"] \ - -command {close_tlmgr; start_tlmgr}] \ - -in .endbuttons -side right - ttk::button .showlogs -text [__ "Show logs"] -command show_logs - ppack .showlogs -in .endbuttons -side right -} ; # populate_main + wm protocol . WM_DELETE_WINDOW {.q invoke} + wm resizable . 1 1 + wm state . normal +} ##### initialize ###################################################### @@ -2197,7 +2261,7 @@ proc initialize {} { .topf.lrepos configure -text [print_repos] get_packages_info_local collect_filtered ; # invokes display_packages_info - enable_menu_controls 1 + selective_dis_enable }; # initialize initialize diff --git a/Master/texmf-dist/doc/latex/lwarp/README.txt b/Master/texmf-dist/doc/latex/lwarp/README.txt index 66c14dbd928..15d4e9850a9 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.63 README.txt +LaTeX lwarp package v0.64 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 Binary files differindex f34409c1961..f9d614878f9 100644 --- a/Master/texmf-dist/doc/latex/lwarp/lwarp.pdf +++ b/Master/texmf-dist/doc/latex/lwarp/lwarp.pdf diff --git a/Master/texmf-dist/scripts/lwarp/lwarpmk.lua b/Master/texmf-dist/scripts/lwarp/lwarpmk.lua index 0220fe6e9ff..88153f04a7a 100755 --- a/Master/texmf-dist/scripts/lwarp/lwarpmk.lua +++ b/Master/texmf-dist/scripts/lwarp/lwarpmk.lua @@ -2,7 +2,7 @@ -- Copyright 2016-2018 Brian Dunn -printversion = "v0.63" +printversion = "v0.64" requiredconfversion = "1" -- 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 5ee422e42a3..2fca82da516 100644 --- a/Master/texmf-dist/source/latex/lwarp/lwarp.dtx +++ b/Master/texmf-dist/source/latex/lwarp/lwarp.dtx @@ -16,7 +16,7 @@ % \iffalse %<package>\NeedsTeXFormat{LaTeX2e}[1999/12/01] %<package>\ProvidesPackage{lwarp} -%<package> [2018/12/03 v0.63 Allows LaTeX to directly produce HTML5 output.] +%<package> [2018/12/08 v0.64 Allows LaTeX to directly produce HTML5 output.] % %<*driver> \documentclass{ltxdoc} @@ -572,7 +572,8 @@ for \cs{hyperref}, etc., as it is neutralized for inclusion in \HTML\ \acro{URL} \pkg{lwarp} can also load \pkg{url}, but \pkg{url} should not be used at the same time as \pkg{hyperref}, since they both define the \cs{url} command. \pkg{lwarp} does not (yet) attempt to convert \pkg{url} links into hyperlinks -during \HTML\ output, nor does \pkg{url} create hyperlinks during print output. +during \HTML\ output, nor does the print version of \pkg{url} +create hyperlinks. When generating \HTML, \pkg{lwarp}'s emulation of \pkg{hyperref} does not \trouble[\pkg{backref}]{hyperref=\pkg{hyperref}>backref=\pkg{backref}} @@ -2561,7 +2562,7 @@ This boolean may be tested by the user for later use. %<*package> % \fi % -% \CheckSum{26829} +% \CheckSum{27072} % % \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 @@ -2667,6 +2668,7 @@ This boolean may be tested by the user for later use. % \changes{v0.61}{2018/10/13}{\ 2018/10/13} % \changes{v0.62}{2018/11/19}{\ 2018/11/19} % \changes{v0.63}{2018/12/03}{\ 2018/12/03} +% \changes{v0.64}{2018/12/08}{\ PENDING} @@ -2866,6 +2868,22 @@ This boolean may be tested by the user for later use. % % \begin{description} % \needspace{2\baselineskip} +% \item[v0.64:] Koma-Script, Japanese, Chinese. +% \begin{itemize} +% \item Added \pkg{utarticle} and related classes. +% \margintag{Japanese} +% \item Improved \pkg{ujarticle} and related classes. +% \item Fix for \pkg{biblatex} with C\TeX\ and other classes. +% \margintag{Chinese} +% \item Fixes for \pkg{scrlayer}, \pkg{scrlayer-scrpage}. +% \margintag{Koma-Script} +% \item \pkg{addlines}: Updated to v0.3. +% \margintag{packages} +% \item Added \pkg{bsheaders}, +% \pkg{gmeometric}, \pkg{marginal}, +% \pkg{rmpage}, \pkg{scrpage2}. +% \end{itemize} +% \needspace{2\baselineskip} % \item[v0.63:] \pkg{mdframed}, Chinese, Japanese, Korean % \begin{itemize} % \item Added \cs{linkhomename}: A user-definable name for the \UI{Home} link. @@ -4225,8 +4243,8 @@ This boolean may be tested by the user for later use. % % Classes: & \pkg{article}, \pkg{book}, \pkg{report}, % \pkg{scrartcl}, \pkg{scrbook}, \pkg{scrreprt}, \pkg{memoir}, C\TeX-related, -% \pkg{bxjsarticle} and related, \pkg{ltjsarticle} and relatex, -% \pkg{ujarticle} and related. \\ +% \pkg{bxjsarticle} and related, \pkg{ltjsarticle} and related, +% \pkg{ujarticle} and related, \pkg{utarticle} and related. \\ % % Koma-script: & \pkg{scrextend}, \pkg{scrhack}, \pkg{scrlayer}. % Others as listed below. \\ @@ -4247,6 +4265,7 @@ This boolean may be tested by the user for later use. % \pkg{ltjsarticle} and related, % \pkg{luatexja}, \pkg{luatexja-fontspec}, % \pkg{ujarticle} and related, +% \pkg{utarticle} and related, % \pkg{zxjatype}. \\ % % Korean: & \pkg{kotex}, \pkg{luatexko}, \pkg{xetexko}. \\ @@ -4256,16 +4275,18 @@ This boolean may be tested by the user for later use. % Page layout: & \pkg{2in1}, \pkg{2up}, \pkg{a4}, \pkg{a4wide}, \pkg{a5comb}, % \pkg{addlines}, \pkg{anysize}, \pkg{atbegshi}, % \pkg{blowup}, \pkg{booklet}, \pkg{bophook}, \pkg{bxpapersize}, -% \pkg{canoniclayout}, \pkg{clrdblpg}, +% \pkg{canoniclayout}, +% \pkg{changepage}, \pkg{chngpage}, \pkg{clrdblpg}, % \pkg{continue}, \pkg{draftcopy}, \pkg{draftfigure}, \pkg{draftwatermark}, % \pkg{ebook}, \pkg{everyshi}, % \pkg{fancyhdr}, \pkg{fancytabs}, \pkg{flippdf}, % \pkg{fullminipage}, \pkg{fullpage}, -% \pkg{fwlw}, \pkg{geometry}, \pkg{grid}, \pkg{grid-system}, \pkg{gridset}, +% \pkg{fwlw}, \pkg{geometry}, \pkg{gmeometric}, +% \pkg{grid}, \pkg{grid-system}, \pkg{gridset}, % \pkg{layaureo}, \pkg{leading}, % \pkg{ltxgrid}, \pkg{nccfancyhdr}, \pkg{notespages}, \pkg{pagegrid}, -% \pkg{pdfprivacy}, \pkg{pagesel}, \pkg{preview}, -% \pkg{scrlayer-scrpage}, \pkg{textarea}, \pkg{threadcol}, +% \pkg{pdfprivacy}, \pkg{pagesel}, \pkg{preview}, \pkg{rmpage}, +% \pkg{scrlayer-scrpage}, \pkg{scrpage2}, \pkg{textarea}, \pkg{threadcol}, % \pkg{thumb}, \pkg{thumbs}, \pkg{titleps}, \pkg{tocenter}, % \pkg{turnthepage}, \pkg{twoup}, \pkg{typearea}, \pkg{vmargin}, % \pkg{watermark}, \pkg{zwpagelayout}. @@ -4277,8 +4298,10 @@ This boolean may be tested by the user for later use. % Sectioning: & Adds \progcode{FileDepth} for splitting the \HTML\ output. % Files may be numbered sequentially or named according to section name. % Common short words and punctuation are removed from the filenames. -% \pkg{anonchap}, \pkg{fncychap}, \pkg{quotchap}, -% \pkg{section}, \pkg{sectionbreak}, \pkg{sectsty}, \pkg{titlesec}. \\ +% \pkg{anonchap}, \pkg{bsheaders}, \pkg{fncychap}, \pkg{quotchap}, +% \pkg{section}, \pkg{sectionbreak}, \pkg{sectsty}, \pkg{titlesec}. +% +% Tested to work as-is: \pkg{secdot}.\\ % % Table of contents, figures, tables: & Supported, with hyperlinks. % \pkg{multitoc}, \pkg{shorttoc}, \pkg{titletoc}, @@ -4310,7 +4333,7 @@ This boolean may be tested by the user for later use. % % \midrule % -% Margin notes: & \pkg{marginfit}, \pkg{marginfix}, \pkg{scrlayer-notecolumn}. \\ +% Margin notes: & \pkg{marginal}, \pkg{marginfit}, \pkg{marginfix}, \pkg{scrlayer-notecolumn}. \\ % % Footnotes: & Adds \progcode{FootnoteDepth} to print footnotes at section breaks. % \pkg{dblfnote}, @@ -7355,8 +7378,17 @@ This boolean may be tested by the user for later use. % % The following describes \cs{ForceHTMLPage} and \cs{ForceHTMLTOC}, % which may be used for \pkg{endnotes}, \pkg{glossaries}, \pkg{tocbibind}, -% and the index. See the following sections where applicable. +% bibliographies, and the index. +% See the following sections where applicable. % Continue here if interested in the reason for adding these commands to \pkg{lwarp}. +% \trouble{endnotes>\HTML\ page and \TOC} +% \trouble{glossaries=\pkg{glossaries}>\HTML\ page and \TOC} +% \trouble{bibliography>\HTML\ page and \TOC} +% \trouble{index>\HTML\ page and \TOC} +% \gindex{endnotes>\HTML\ page and \TOC} +% \gindex{glossaries=\pkg{glossaries}>\HTML\ page and \TOC} +% \gindex{bibliography>\HTML\ page and \TOC} +% \gindex{index>\HTML\ page and \TOC} % % Some packages use \cs{chapter*} or \cs{section*} to introduce reference % material such as notes or lists, often to be placed in the back matter of a book. @@ -10201,17 +10233,7 @@ For a possible alternative, see class(es) #2.} % \changes{v0.54}{2018/04/06}{Added early check for disallowed packages.} % \changes{v0.54}{2018/09/26}{Never load \pkg{aecompl}.} % \changes{v0.62}{2018/11/18}{Added early checks for \pkg{CJK}, \pkg{CJKutf8}.} -% \changes{v0.63}{2018/11/25}{\pkg{utarticle}, etc.: Not allowed.} % -% \pkg{ujarticle} and related are supported by \pkg{lwarp}, but -% \pkg{utarticle} and related use vertical Japanese text, which is not -% read correctly by \prog{pdftotext}. These may be supported in the future if -% a way is found to undo the changes used for vertical text. -% \begin{macrocode} -\LWR@earlyclassloadnever{utarticle}{ujarticle} -\LWR@earlyclassloadnever{utbook}{ujbook} -\LWR@earlyclassloadnever{utreport}{ujreport} -% \end{macrocode} % \begin{macrocode} \LWR@earlyloadnever{ae}{cm-super, lmodern} \LWR@earlyloadnever{aecompl}{cm-super, lmodern} @@ -10229,7 +10251,7 @@ For a possible alternative, see class(es) #2.} % \end{macrocode} % \pkg{bxcjkatype} is based on \pkg{CJK}: % \begin{macrocode} -\LWR@earlyloadnever{bxcjkjatype}{pLaTeX, upLaTeX, bxjsarticle, ujarticle} +\LWR@earlyloadnever{bxcjkjatype}{pLaTeX, upLaTeX, bxjsarticle, ujarticle, utarticle} % \end{macrocode} % \pkg{hangul} is not in TeXLive, and is not tested: % \begin{macrocode} @@ -10303,6 +10325,7 @@ For a possible alternative, see class(es) #2.} \LWR@loadafter{boxedminipage2e} \LWR@loadafter{breakurl} \LWR@loadafter{breqn} +\LWR@loadafter{bsheaders} \LWR@loadafter{bxpapersize} \LWR@loadafter{bytefield} \LWR@loadafter{cancel} @@ -10395,6 +10418,7 @@ For a possible alternative, see class(es) #2.} \LWR@loadafter{fullwidth} \LWR@loadafter{fwlw} \LWR@notbxjsloadafter{geometry} +\LWR@loadafter{gmeometric} \LWR@loadafter{glossaries} % \LWR@loadafter{graphics}% pre-loaded by xunicode % \LWR@loadafter{graphicx}% pre-loaded by xunicode @@ -10512,6 +10536,7 @@ For a possible alternative, see class(es) #2.} \LWR@loadafter{relsize} \LWR@loadafter{repeatindex} \LWR@loadafter{resizegather} +\LWR@loadafter{rmpage} \LWR@loadafter{romanbar} \LWR@loadafter{romanbarpagenumber} \LWR@loadafter{rotating} @@ -10525,6 +10550,7 @@ For a possible alternative, see class(es) #2.} \LWR@loadafter{scrlayer} \LWR@loadafter{scrlayer-notecolumn} \LWR@loadafter{scrlayer-scrpage} +\LWR@loadafter{scrpage2} \LWR@loadafter{section} \LWR@loadafter{sectionbreak} \LWR@loadafter{sectsty} @@ -10599,7 +10625,6 @@ For a possible alternative, see class(es) #2.} \LWR@loadafter{vpe} \LWR@loadafter{vwcol} \LWR@loadafter{wallpaper} -\LWR@loadafter{wasysym} \LWR@loadafter{watermark} \LWR@loadafter{widows-and-orphans} \LWR@loadafter{wrapfig} @@ -12032,15 +12057,22 @@ For a possible alternative, see class(es) #2.} % or never at all. % % \changes{v0.63}{2018/12/02}{Added to reduce number of \filenm{lwarp-*} files.} +% \changes{v0.64}{2018/12/07}{Prevented \pkg{bitfield}, \pkg{doublespace}, +% \pkg{newthm}, \pkg{rplain}, \pkg{si}.} % \begin{macrocode} \newcommand*{\LWR@checkloadfilename}[1]{% \LWR@checkloadnever{#1}{ae}{latinmodern} \LWR@checkloadnever{#1}{aecc}{latinmodern} +\LWR@checkloadnever{#1}{bitfield}{bytefield} \LWR@checkloadnever{#1}{boxedminipage}{boxedminipage2e} \LWR@checkloadnever{#1}{caption2}{caption} \LWR@checkloadnever{#1}{ccaption}{caption} +\LWR@checkloadnever{#1}{doublespace}{setspace} \LWR@checkloadnever{#1}{fancyheadings}{fancyhdr} \LWR@checkloadnever{#1}{glossary}{glossaries} +\LWR@checkloadnever{#1}{newthm}{ntheorem} +\LWR@checkloadnever{#1}{rplain}{fancyhdr} +\LWR@checkloadnever{#1}{si}{siunitx} \LWR@checkloadnever{#1}{t1enc}{fontenc, inputenc, inputenx} \LWR@checkloadnever{#1}{wasysym}{textcomp, amssymb, amsfonts, mnsymbol, fdsymbol} % @@ -13541,12 +13573,16 @@ For a possible alternative, see class(es) #2.} \fi% \ifpdf }% latexmk % \end{macrocode} -% For \pkg{ujarticle} and related, using up\LaTeX\ and \prog{dvipdfmx}: +% For \pkg{ujarticle}, \pkg{utarticle}, and related, using up\LaTeX\ and \prog{dvipdfmx}: % \changes{v0.63}{2018/11/25}{\pkg{ujarticle} and related: Compile options.} +% \changes{v0.64}{2018/12/07}{\pkg{utarticle} and related: Added.} % \begin{macrocode} \@ifclassloaded{ujarticle}{\LWR@compileuplatex}{} \@ifclassloaded{ujbook}{\LWR@compileuplatex}{} \@ifclassloaded{ujreport}{\LWR@compileuplatex}{} +\@ifclassloaded{utarticle}{\LWR@compileuplatex}{} +\@ifclassloaded{utbook}{\LWR@compileuplatex}{} +\@ifclassloaded{utreport}{\LWR@compileuplatex}{} % \end{macrocode} % Only make the setting permanent if the original was empty: % \changes{v0.61}{2018/09/20}{Added \optn{PrintLatexCmd} option.} @@ -13751,7 +13787,7 @@ body { p {margin: 1.5ex 0em 1.5ex 0em ;} table p {margin: .5ex 0em .5ex 0em ;} -/* Holds a section number to add space between it and the name */ +/* Holds a section number */ span.sectionnumber { margin-right: 0em } /* Inserted in front of index lines */ @@ -16087,7 +16123,7 @@ src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.4/MathJax.js?config=TeX- -- Copyright 2016-2018 Brian Dunn -printversion = "v0.63" +printversion = "v0.64" requiredconfversion = "1" -- also at *lwarpmk.conf function printhelp () @@ -20337,7 +20373,7 @@ end -- not --version % \changes{v0.38}{2017/08/21}{Added for \pkg{appendix}.} % % \begin{macrocode} -\def\@seccntformat#1{\csname the#1\endcsname\protect\quad} +\def\@seccntformat#1{\csname the#1\endcsname\quad} % \end{macrocode} % \end{macro} % @@ -20570,11 +20606,16 @@ end -- not --version \refstepcounter{#4}% % \end{macrocode} % Add main matter numbered \TOC\ entry with the \TOC\ name or the regular name: +% \changes{v0.64}{2018/12/07}{Support for \pkg{ujarticle and related.}} % \begin{macrocode} \LWR@traceinfo{LWR@section: about to addcontentsline}% \addcontentsline{toc}{#4}% {% - \protect\numberline{\@nameuse{the#4}}% + \protect\numberline{% + \@nameuse{pre#4name}% + \@nameuse{the#4}% + \@nameuse{post#4name}% + }% {% \ignorespaces% \IfValueTF{#2}{\LWR@isolate{#2}}{\LWR@isolate{#3}}\protect\relax% @@ -20608,7 +20649,7 @@ end -- not --version \ifthenelse{% \(\cnttest{\@nameuse{LWR@depth#4}}{<=}% {\value{secnumdepth}}\) \AND% - \(\cnttest{\@nameuse{LWR@depth#4}}{<=}{\LWR@depthpart}\)% + \(\cnttest{\@nameuse{LWR@depth#4}}{=}{\LWR@depthpart}\)% }% {\@partnameformat}% {}% @@ -20621,9 +20662,8 @@ end -- not --version }% {% \ifstrequal{#4}{part}% + {\protect\LWR@sectionnumber{\@partcntformat{#4}}}% {% - \protect\LWR@sectionnumber{\@partcntformat{#4}}% - }{% \ifstrequal{#4}{chapter}% {\protect\LWR@sectionnumber{\@chapcntformat{#4}}}% {\protect\LWR@sectionnumber{\@seccntformat{#4}}}% @@ -20696,6 +20736,53 @@ end -- not --version % \end{macro} +% \subsection{Pre- and post- sectioning names} + +% \begin{macro}{\prepartname} +% \begin{macro}{\postpartname} +% +% Usually null, but is used by \pkg{uj*} and \pkg{ut*} Japanese classes. +% \begin{macrocode} +\providecommand*{\prepartname}{} +\providecommand*{\postpartname}{} +% \end{macrocode} +% \end{macro} +% \end{macro} + +% \begin{macro}{\prechaptername} +% \begin{macro}{\postchaptername} +% +% Usually null, but is used by \pkg{uj*} and \pkg{ut*} Japanese classes. +% \begin{macrocode} +\providecommand*{\prechaptername}{} +\providecommand*{\postchaptername}{} +% \end{macrocode} +% \end{macro} +% \end{macro} + +% \begin{macro}{\presectionname} +% \begin{macro}{\postsectionname} +% +% Always null, but provided here for algorithmic simplicity in \cs{LWR@section}. +% \begin{macrocode} +\providecommand*{\presectionname}{} +\let\postsectionname\presectionname + +\let\presubsectionname\presectionname +\let\postsubsectionname\postsectionname + +\let\presubsubsectionname\presectionname +\let\postsubsubsectionname\postsectionname + +\let\preparagraphname\presectionname +\let\postparagraphname\postsectionname + +\let\presubparagraphname\presectionname +\let\postsubparagraphname\postsectionname +% \end{macrocode} +% \end{macro} +% \end{macro} + % \subsection{\cs{section} and friends} @@ -20874,15 +20961,20 @@ end -- not --version % section name. % \changes{v0.52}{2018/04/01}{Fix: \cs{FileDepth} with non-utf8 encoding.} % \changes{v0.62}{2018/11/02}{Refactored.} +% \changes{v0.64}{2018/12/07}{Added \pkg{utarticle} and related.} % \begin{macrocode} \ifPDFTeX% pdflatex or dvi latex -\ifdefstring{\inputencodingname}{utf8}{% - \newcommand*{\theHTMLTitleSeparator}{ — }% EMdash -}{% - \newcommand*{\theHTMLTitleSeparator}{ - }% hyphen -}% + \ifdefstring{\inputencodingname}{utf8}{% + \newcommand*{\theHTMLTitleSeparator}{ — }% EMdash + }{% + \newcommand*{\theHTMLTitleSeparator}{ - }% hyphen + }% \else% - \newcommand*{\theHTMLTitleSeparator}{ — }% EMdash + \ifpTeX + \newcommand*{\theHTMLTitleSeparator}{ - }% hyphen + \else + \newcommand*{\theHTMLTitleSeparator}{ — }% EMdash + \fi% \fi% % \end{macrocode} % \end{macro} @@ -21169,9 +21261,9 @@ end -- not --version % \begin{macrocode} \overfullrule=0pt % \end{macrocode} -% Reduce chance of line overflow in verbatim environments: +% Reduce chance of line overflow when \HTML\ tags are added: % \begin{macrocode} -\LWR@print@scriptsize% +\LWR@print@footnotesize% % \end{macrocode} % In \PDF\ output, don't allow line breaks to interfere with \HTML\ tags: % \begin{macrocode} @@ -32981,8 +33073,9 @@ width:\LWR@printlength{\LWR@tempwidth}% % \begin{macro}{\quad} % Handles special minipage \& horizontal space interactions. +% \changes{v0.64}{2018/12/08}{Made robust.} % \begin{macrocode} -\renewcommand*{\quad}{% +\renewrobustcmd*{\quad}{% \LWR@minipagestoppars% \HTMLunicode{2001}% \LWR@minipagestartpars% @@ -32992,15 +33085,17 @@ width:\LWR@printlength{\LWR@tempwidth}% % \begin{macro}{\qquad} % Handles special minipage \& horizontal space interactions. +% \changes{v0.64}{2018/12/08}{Made robust.} % \begin{macrocode} -\renewcommand*{\qquad}{\quad\quad} +\renewrobustcmd*{\qquad}{\quad\quad} % \end{macrocode} % \end{macro} % \begin{macro}{\enskip} % Handles special minipage \& horizontal space interactions. +% \changes{v0.64}{2018/12/08}{Made robust.} % \begin{macrocode} -\renewcommand*{\enskip}{% +\renewrobustcmd*{\enskip}{% \LWR@minipagestoppars% \HTMLunicode{2000}% \LWR@minipagestartpars% @@ -33687,6 +33782,66 @@ width:\LWR@printlength{\LWR@tempwidth}% % \end{macrocode} +% \section{\pkg{ut*} classes} +% +% Load patches to \pkg{uj*} and \pkg{ut*} classes. +% +% \changes{v0.64}{2018/12/07}{\pkg{ujarticle} and related: Improved \cs{today}.} +% \changes{v0.64}{2018/12/07}{Added \pkg{utarticle} and related.} +% +% \codehtml +% \begin{macrocode} +\begin{warpHTML} +% \end{macrocode} +% +% \begin{macrocode} +\newcommand*{\LWR@patchujtclasses}{ + \let\tate\relax + \DeclareDocumentCommand{\rensuji}{m}{##1} + \def\@partnameformat{}% uj/t does not use \partname + \def\@partcntformat##1{% + \prepartname% + \csname the##1\endcsname% + \postpartname% + \quad% + } + \@ifundefined{chapter}{}{ + \def\@chapcntformat##1{% + \prechaptername% + \csname the##1\endcsname% + \postchaptername% + \quad% + } + } + \renewcommand{\thepart}{\@Roman\c@part} + \@ifundefined{chapter}{ + \renewcommand{\thesection}{\@arabic\c@section} + }{ + \renewcommand{\thechapter}{\@arabic\c@chapter} + \renewcommand{\thesection}{\thechapter.\@arabic\c@section} + } + \renewcommand{\thesubsection}{\thesection.\@arabic\c@subsection} + \renewcommand{\thesubsubsection}{% + \thesubsection.\@arabic\c@subsubsection} + \renewcommand{\theparagraph}{% + \thesubsubsection.\@arabic\c@paragraph} + \renewcommand{\thesubparagraph}{% + \theparagraph.\@arabic\c@subparagraph} +} + +\@ifclassloaded{ujarticle}{\LWR@patchujtclasses}{} +\@ifclassloaded{ujbook}{\LWR@patchujtclasses}{} +\@ifclassloaded{ujreport}{\LWR@patchujtclasses}{} +\@ifclassloaded{utarticle}{\LWR@patchujtclasses}{} +\@ifclassloaded{utbook}{\LWR@patchujtclasses}{} +\@ifclassloaded{utreport}{\LWR@patchujtclasses}{} +% \end{macrocode} +% +% \begin{macrocode} +\end{warpHTML} +% \end{macrocode} + + % ^^A *ctex % \section{C\TeX patch} % @@ -34367,18 +34522,22 @@ width:\LWR@printlength{\LWR@tempwidth}% % \pkg{addlines} is emulated. % % \changes{v0.39}{2017/08/27}{\pkg{addlines}: Added.} +% \changes{v0.64}{2018/12/06}{\pkg{addlines}: Updated to v0.3.} % % \codehtml % % \begin{macrocode} -\LWR@ProvidesPackageDrop{addlines} +\LWR@ProvidesPackageDrop{addlines}[2018/12/05] % \end{macrocode} % % \begin{macrocode} -\newcommand*\addlines[1][1]{} +\newcommand\addlines{\@ifstar\addlines@a\addlines@a} +\newcommand\addlines@a[1][1]{} \let\addline\addlines -\newcommand*\removelines[1][1]{} +\newcommand\removelines{\@ifstar\removelines@a\removelines@a} +\newcommand\removelines@a[1][1]{} \let\removeline\removelines +\newcommand\squeezepage[1][0]{} % \end{macrocode} % % \iffalse @@ -35445,7 +35604,7 @@ span style="width:\LWR@printlength{\ALG@thistlm}; display:inline-block;"% % \begin{macrocode} \newcommand{\simplechapter}[1][\@empty]{% \def\@chapcntformat##1{% - #1~\csname the##1\endcsname\simplechapterdelim\protect\quad% + #1~\csname the##1\endcsname\simplechapterdelim\quad% }% } @@ -36239,6 +36398,56 @@ span style="width:\LWR@printlength{\ALG@thistlm}; display:inline-block;"% % % % +% +% +% \iffalse +%<*biblatex> +% \fi +% +% \part{lwarp-biblatex.sty} +% +% \section{biblatex} +% +% \credits{Philipp Lehman} +% +% \DescribePackage{biblatex} +% When \pkg{biblatex} is used, modifications from \pkg{newfloat} may have to +% be undone. +% +% \changes{v0.64}{2018/12/08}{\pkg{biblatex}: Added patch for C\TeX.} +% +% \codehtml +% +% \begin{enumerate} +% \item \pkg{lwarp} uses \pkg{newfloat}. +% \item For classes with chapters which \pkg{newfloat} does not know about, +% such as C\TeX-related classes, \pkg{newfloat} may modify +% \cs{addtocontents}. +% \item \pkg{biblatex}, though, wants to patch \cs{addtocontents}, +% which causes an error if \cs{addtocontents} has been changed. +% \item Therefore, \cs{addtocontents} is restored to its original here, +% since \pkg{biblatex} is about to be loaded. +% \item This means that the \pkg{newfloat}'s \optn{chapterlistsgaps} +% option may no longer work. +% \end{enumerate} +% +% \begin{macrocode} +\ifdef{\newfloat@addtocontents@ORI}{ + \let\addtocontents\newfloat@addtocontents@ORI +}{} +% \end{macrocode} +% +% \begin{macrocode} +\LWR@ProvidesPackagePass{biblatex} +% \end{macrocode} +% +% +% \iffalse +%</biblatex> +% \fi +% +% +% % \iffalse %<*bibunits> % \fi @@ -36872,6 +37081,32 @@ span style="width:\LWR@printlength{\ALG@thistlm}; display:inline-block;"% % % % \iffalse +%<*bsheaders> +% \fi +% +% \part{lwarp-bsheaders.sty} +% +% \section{bsheaders} +% +% \DescribePackage{bsheaders} +% \pkg{bsheaders} is ignored. +% +% \changes{v0.64}{2018/12/07}{\pkg{bsheaders}: Added.} +% +% \codehtml +% +% \begin{macrocode} +\LWR@ProvidesPackageDrop{bsheaders}[1997/10/06] +% \end{macrocode} +% +% \iffalse +%</bsheaders> +% \fi +% +% +% +% +% \iffalse %<*bxpapersize> % \fi % @@ -43511,6 +43746,30 @@ solid \LWR@origpound\LWR@tempcolor ; % % % % +% \iffalse +%<*gmeometric> +% \fi +% +% \part{lwarp-gmeometric.sty} +% +% \section{gmeometric} +% +% \DescribePackage{gmeometric} +% \pkg{gmeometric} is ignored. +% +% \changes{v0.64}{2018/12/07}{\pkg{gmeometric}: Added.} +% +% \codehtml +% +% \begin{macrocode} +\LWR@ProvidesPackageDrop{gmeometric} +% \end{macrocode} +% +% \iffalse +%</gmeometric> +% \fi +% +% % % % \iffalse @@ -47258,6 +47517,41 @@ width=\KFLT@imagewidth,height=\KFLT@h]{\KFLT@i}% % % % +% +% +% +% \iffalse +%<*marginal> +% \fi +% +% \part{lwarp-marginal.sty} +% +% \section{marginal} +% +% \DescribePackage{marginal} +% \pkg{marginal} is emulated. +% +% \changes{v0.64}{2018/127/07}{\pkg{marginal}: Added.} +% +% \codehtml +% +% \begin{macrocode} +\LWR@ProvidesPackageDrop{marginal} +% \end{macrocode} +% +% \begin{macrocode} +\newcommand*{\showlostmarginals}{} +\newcommand*{\enlargefreelist}{} +\newcommand*{\onesidemarginals}{} +% \end{macrocode} +% +% \iffalse +%</marginal> +% \fi +% +% +% +% % \iffalse %<*marginfit> % \fi @@ -51882,6 +52176,34 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf', % % % +% +% \iffalse +%<*rmpage> +% \fi +% +% \part{lwarp-rmpage.sty} +% +% \section{rmpage} +% +% \DescribePackage{rmpage} +% \pkg{rmpage} is ignored. +% +% \changes{v0.64}{2018/12/07}{\pkg{rmpage}: Added.} +% +% \codehtml +% +% \begin{macrocode} +\LWR@ProvidesPackageDrop{rmpage} +% \end{macrocode} +% +% \iffalse +%</rmpage> +% \fi +% +% +% +% +% % \iffalse %<*romanbar> % \fi @@ -52476,7 +52798,17 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf', \DeclareDocumentCommand{\automark}{s o m}{} \DeclareDocumentCommand{\manualmark}{}{} \DeclareDocumentCommand{\MakeMarkcase}{m}{#1} -\DeclareDocumentCommand{\GenericMarkFormat}{}{} +% \end{macrocode} +% \changes{v0.64}{2018/12/07}{\pkg{scrlayer}: Fixes.} +% \begin{macrocode} +\newcommand{\partmarkformat}{} +\if@chapter +\newcommand{\chaptermarkformat}{} +\fi +\newcommand{\sectionmarkformat}{} +\DeclareDocumentCommand{\GenericMarkFormat}{m}{} +% \end{macrocode} +% \begin{macrocode} \newcommand*{\@mkleft}[1]{} \newcommand*{\@mkright}[1]{} \newcommand*{\@mkdouble}[1]{} @@ -52578,17 +52910,22 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf', \NewDocumentCommand{\ofoot}{s o m}{} \NewDocumentCommand{\cfoot}{s o m}{} \NewDocumentCommand{\ifoot}{s o m}{} -\DeclareDocumentCommand{\automark}{s o m}{} -\DeclareDocumentCommand{\manualmark}{}{} \DeclareDocumentCommand{\MakeMarkcase}{m}{#1} -\DeclareDocumentCommand{\GenericMarkFormat}{}{} \newcommand*{\defpairofpagestyles}[3][]{} \newcommand*{\newpairofpagestyles}[3][]{} \newcommand*{\renewpairofpagestyles}[3][]{} \newcommand*{\providepairofpagestyles}[3][]{} -\newcommand*{\clearmainofpairofpagestyles} -\newcommand*{\clearplainofpairofpagestyles} -\newcommand*{\clearpairofpagestyles} +% \end{macrocode} +% \changes{v0.64}{2018/12/07}{\pkg{scrlayer-scrpage}: Fixes.} +% \begin{macrocode} +\newcommand*{\clearmainofpairofpagestyles}{} +\newcommand*{\clearplainofpairofpagestyles}{} +\newcommand*{\clearpairofpagestyles}{} +\newcommand*{\clearscrheadings}{} +\newcommand*{\clearscrheadfoot}{} +\newcommand*{\clearscrplain}{} +% \end{macrocode} +% \begin{macrocode} \NewDocumentCommand{\deftriplepagestyle}{m o o m m m m m m}{} \NewDocumentCommand{\newtriplepagestyle}{m o o m m m m m m}{} \NewDocumentCommand{\renewtriplepagestyle}{m o o m m m m m m}{} @@ -52607,6 +52944,79 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf', % % % \iffalse +%<*scrpage2> +% \fi +% +% \part{lwarp-scrpage2.sty} +% +% \section{scrpage2} +% +% \credits{Markus Kohm} +% +% \DescribePackage{scrpage2} +% \pkg{scrpage2} is emulated. +% +% \testthis +% +% \changes{v0.64}{2018/12/07}{\pkg{scrpage2}: Added.} +% +% \codehtml +% +% \begin{macrocode} +\LWR@ProvidesPackageDrop{scrpage2} +% \end{macrocode} +% +% \begin{macrocode} +\@ifundefined{footheight}{\newlength\footheight}{} +\NewDocumentCommand{\lehead}{o m}{} +\NewDocumentCommand{\cehead}{o m}{} +\NewDocumentCommand{\rehead}{o m}{} +\NewDocumentCommand{\lohead}{o m}{} +\NewDocumentCommand{\cohead}{o m}{} +\NewDocumentCommand{\rohead}{o m}{} +\NewDocumentCommand{\lefoot}{o m}{} +\NewDocumentCommand{\cefoot}{o m}{} +\NewDocumentCommand{\refoot}{o m}{} +\NewDocumentCommand{\lofoot}{o m}{} +\NewDocumentCommand{\cofoot}{o m}{} +\NewDocumentCommand{\rofoot}{o m}{} +\NewDocumentCommand{\ohead}{o m}{} +\NewDocumentCommand{\chead}{o m}{} +\NewDocumentCommand{\ihead}{o m}{} +\NewDocumentCommand{\ofoot}{o m}{} +\NewDocumentCommand{\cfoot}{o m}{} +\NewDocumentCommand{\ifoot}{o m}{} +\DeclareDocumentCommand{\automark}{o m}{} +\DeclareDocumentCommand{\manualmark}{}{} +\DeclareDocumentCommand{\MakeMarkcase}{m}{#1} +\NewDocumentCommand{\deftripstyle}{m o o m m m m m m}{} +\NewDocumentCommand{\defpagestyle}{s m m m}{} +\NewDocumentCommand{\newpagestyle}{s m m m}{} +\NewDocumentCommand{\renewpagestyle}{s m m m}{} +\NewDocumentCommand{\providepagestyle}{s m m m}{} +\newcommand{\partmarkformat}{} +\if@chapter +\newcommand{\chaptermarkformat}{} +\fi +\newcommand{\sectionmarkformat}{} +\newcommand{\subsectionmarkformat}{} +\newcommand{\subsubsectionmarkformat}{} +\newcommand{\paragraphmarkformat}{} +\newcommand{\subparagraphmarkformat}{} + +\newcommand*{\clearscrheadings}{} +\newcommand*{\clearscrheadfoot}{} +\newcommand*{\clearscrplain}{} +% \end{macrocode} +% +% \iffalse +%</scrpage2> +% \fi +% +% +% +% +% \iffalse %<*section> % \fi % @@ -56467,7 +56877,7 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf', % \begin{macrocode} \DeclareDocumentCommand{\simplechapter}{O{\@empty}}{% \def\@chapcntformat##1{% - #1~\csname the##1\endcsname\simplechapterdelim\protect\quad% + #1~\csname the##1\endcsname\simplechapterdelim\quad% }% } diff --git a/Master/texmf-dist/source/latex/lwarp/lwarp.ins b/Master/texmf-dist/source/latex/lwarp/lwarp.ins index 6b3ded54a78..39873a0254b 100644 --- a/Master/texmf-dist/source/latex/lwarp/lwarp.ins +++ b/Master/texmf-dist/source/latex/lwarp/lwarp.ins @@ -65,6 +65,7 @@ version 2005/12/01 or later. \file{lwarp-axodraw2.sty}{\from{lwarp.dtx}{axodraw2}} \file{lwarp-backref.sty}{\from{lwarp.dtx}{backref}} \file{lwarp-balance.sty}{\from{lwarp.dtx}{balance}} +\file{lwarp-biblatex.sty}{\from{lwarp.dtx}{biblatex}} \file{lwarp-bibunits.sty}{\from{lwarp.dtx}{bibunits}} \file{lwarp-bigdelim.sty}{\from{lwarp.dtx}{bigdelim}} \file{lwarp-bigstrut.sty}{\from{lwarp.dtx}{bigstrut}} @@ -77,6 +78,7 @@ version 2005/12/01 or later. \file{lwarp-boxedminipage2e.sty}{\from{lwarp.dtx}{boxedminipage2e}} \file{lwarp-breakurl.sty}{\from{lwarp.dtx}{breakurl}} \file{lwarp-breqn.sty}{\from{lwarp.dtx}{breqn}} +\file{lwarp-bsheaders.sty}{\from{lwarp.dtx}{bsheaders}} \file{lwarp-bxpapersize.sty}{\from{lwarp.dtx}{bxpapersize}} \file{lwarp-bytefield.sty}{\from{lwarp.dtx}{bytefield}} \file{lwarp-cancel.sty}{\from{lwarp.dtx}{cancel}} @@ -168,6 +170,7 @@ version 2005/12/01 or later. \file{lwarp-fwlw.sty}{\from{lwarp.dtx}{fwlw}} \file{lwarp-geometry.sty}{\from{lwarp.dtx}{geometry}} \file{lwarp-glossaries.sty}{\from{lwarp.dtx}{glossaries}} +\file{lwarp-gmeometric.sty}{\from{lwarp.dtx}{gmeometric}} \file{lwarp-graphicx.sty}{\from{lwarp.dtx}{graphicx}} \file{lwarp-graphics.sty}{\from{lwarp.dtx}{graphics}} \file{lwarp-grffile.sty}{\from{lwarp.dtx}{grffile}} @@ -209,6 +212,7 @@ version 2005/12/01 or later. \file{lwarp-luatodonotes.sty}{\from{lwarp.dtx}{luatodonotes}} \file{lwarp-magaz.sty}{\from{lwarp.dtx}{magaz}} \file{lwarp-makeidx.sty}{\from{lwarp.dtx}{makeidx}} +\file{lwarp-marginal.sty}{\from{lwarp.dtx}{marginal}} \file{lwarp-marginfit.sty}{\from{lwarp.dtx}{marginfit}} \file{lwarp-marginfix.sty}{\from{lwarp.dtx}{marginfix}} \file{lwarp-marginnote.sty}{\from{lwarp.dtx}{marginnote}} @@ -277,6 +281,7 @@ version 2005/12/01 or later. \file{lwarp-relsize.sty}{\from{lwarp.dtx}{relsize}} \file{lwarp-repeatindex.sty}{\from{lwarp.dtx}{repeatindex}} \file{lwarp-resizegather.sty}{\from{lwarp.dtx}{resizegather}} +\file{lwarp-rmpage.sty}{\from{lwarp.dtx}{rmpage}} \file{lwarp-romanbar.sty}{\from{lwarp.dtx}{romanbar}} \file{lwarp-romanbarpagenumber.sty}{\from{lwarp.dtx}{romanbarpagenumber}} \file{lwarp-rotating.sty}{\from{lwarp.dtx}{rotating}} @@ -290,6 +295,7 @@ version 2005/12/01 or later. \file{lwarp-scrlayer.sty}{\from{lwarp.dtx}{scrlayer}} \file{lwarp-scrlayer-notecolumn.sty}{\from{lwarp.dtx}{scrlayer-notecolumn}} \file{lwarp-scrlayer-scrpage.sty}{\from{lwarp.dtx}{scrlayer-scrpage}} +\file{lwarp-scrpage2.sty}{\from{lwarp.dtx}{scrpage2}} \file{lwarp-section.sty}{\from{lwarp.dtx}{section}} \file{lwarp-sectionbreak.sty}{\from{lwarp.dtx}{sectionbreak}} \file{lwarp-sectsty.sty}{\from{lwarp.dtx}{sectsty}} diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-addlines.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-addlines.sty index 5d9a249d838..c053eefa08c 100644 --- a/Master/texmf-dist/tex/latex/lwarp/lwarp-addlines.sty +++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-addlines.sty @@ -15,11 +15,14 @@ %% http://www.latex-project.org/lppl.txt %% and version 1.3 or later is part of all distributions of LaTeX %% version 2005/12/01 or later. -\LWR@ProvidesPackageDrop{addlines} -\newcommand*\addlines[1][1]{} +\LWR@ProvidesPackageDrop{addlines}[2018/12/05] +\newcommand\addlines{\@ifstar\addlines@a\addlines@a} +\newcommand\addlines@a[1][1]{} \let\addline\addlines -\newcommand*\removelines[1][1]{} +\newcommand\removelines{\@ifstar\removelines@a\removelines@a} +\newcommand\removelines@a[1][1]{} \let\removeline\removelines +\newcommand\squeezepage[1][0]{} \endinput %% %% End of file `lwarp-addlines.sty'. diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-anonchap.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-anonchap.sty index 32f32476404..b286738419d 100644 --- a/Master/texmf-dist/tex/latex/lwarp/lwarp-anonchap.sty +++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-anonchap.sty @@ -18,7 +18,7 @@ \LWR@ProvidesPackageDrop{anonchap} \newcommand{\simplechapter}[1][\@empty]{% \def\@chapcntformat##1{% - #1~\csname the##1\endcsname\simplechapterdelim\protect\quad% + #1~\csname the##1\endcsname\simplechapterdelim\quad% }% } diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-biblatex.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-biblatex.sty new file mode 100644 index 00000000000..2195151c4d7 --- /dev/null +++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-biblatex.sty @@ -0,0 +1,24 @@ +%% +%% This is file `lwarp-biblatex.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% lwarp.dtx (with options: `biblatex') +%% This is a generated file. +%% Copyright 2016-2018 Brian Dunn +%% +%% This work may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either version 1.3 +%% 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.3 or later is part of all distributions of LaTeX +%% version 2005/12/01 or later. +\ifdef{\newfloat@addtocontents@ORI}{ + \let\addtocontents\newfloat@addtocontents@ORI +}{} +\LWR@ProvidesPackagePass{biblatex} +\endinput +%% +%% End of file `lwarp-biblatex.sty'. diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-bsheaders.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-bsheaders.sty new file mode 100644 index 00000000000..975f27f81e8 --- /dev/null +++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-bsheaders.sty @@ -0,0 +1,21 @@ +%% +%% This is file `lwarp-bsheaders.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% lwarp.dtx (with options: `bsheaders') +%% This is a generated file. +%% Copyright 2016-2018 Brian Dunn +%% +%% This work may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either version 1.3 +%% 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.3 or later is part of all distributions of LaTeX +%% version 2005/12/01 or later. +\LWR@ProvidesPackageDrop{bsheaders}[1997/10/06] +\endinput +%% +%% End of file `lwarp-bsheaders.sty'. diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-gmeometric.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-gmeometric.sty new file mode 100644 index 00000000000..a12491c0900 --- /dev/null +++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-gmeometric.sty @@ -0,0 +1,21 @@ +%% +%% This is file `lwarp-gmeometric.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% lwarp.dtx (with options: `gmeometric') +%% This is a generated file. +%% Copyright 2016-2018 Brian Dunn +%% +%% This work may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either version 1.3 +%% 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.3 or later is part of all distributions of LaTeX +%% version 2005/12/01 or later. +\LWR@ProvidesPackageDrop{gmeometric} +\endinput +%% +%% End of file `lwarp-gmeometric.sty'. diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-marginal.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-marginal.sty new file mode 100644 index 00000000000..2ca7a484b01 --- /dev/null +++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-marginal.sty @@ -0,0 +1,24 @@ +%% +%% This is file `lwarp-marginal.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% lwarp.dtx (with options: `marginal') +%% This is a generated file. +%% Copyright 2016-2018 Brian Dunn +%% +%% This work may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either version 1.3 +%% 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.3 or later is part of all distributions of LaTeX +%% version 2005/12/01 or later. +\LWR@ProvidesPackageDrop{marginal} +\newcommand*{\showlostmarginals}{} +\newcommand*{\enlargefreelist}{} +\newcommand*{\onesidemarginals}{} +\endinput +%% +%% End of file `lwarp-marginal.sty'. diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-rmpage.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-rmpage.sty new file mode 100644 index 00000000000..0c510086198 --- /dev/null +++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-rmpage.sty @@ -0,0 +1,21 @@ +%% +%% This is file `lwarp-rmpage.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% lwarp.dtx (with options: `rmpage') +%% This is a generated file. +%% Copyright 2016-2018 Brian Dunn +%% +%% This work may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either version 1.3 +%% 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.3 or later is part of all distributions of LaTeX +%% version 2005/12/01 or later. +\LWR@ProvidesPackageDrop{rmpage} +\endinput +%% +%% End of file `lwarp-rmpage.sty'. diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-scrlayer-scrpage.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-scrlayer-scrpage.sty index 0d8a6abd786..da728c6b0e1 100644 --- a/Master/texmf-dist/tex/latex/lwarp/lwarp-scrlayer-scrpage.sty +++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-scrlayer-scrpage.sty @@ -35,17 +35,17 @@ \NewDocumentCommand{\ofoot}{s o m}{} \NewDocumentCommand{\cfoot}{s o m}{} \NewDocumentCommand{\ifoot}{s o m}{} -\DeclareDocumentCommand{\automark}{s o m}{} -\DeclareDocumentCommand{\manualmark}{}{} \DeclareDocumentCommand{\MakeMarkcase}{m}{#1} -\DeclareDocumentCommand{\GenericMarkFormat}{}{} \newcommand*{\defpairofpagestyles}[3][]{} \newcommand*{\newpairofpagestyles}[3][]{} \newcommand*{\renewpairofpagestyles}[3][]{} \newcommand*{\providepairofpagestyles}[3][]{} -\newcommand*{\clearmainofpairofpagestyles} -\newcommand*{\clearplainofpairofpagestyles} -\newcommand*{\clearpairofpagestyles} +\newcommand*{\clearmainofpairofpagestyles}{} +\newcommand*{\clearplainofpairofpagestyles}{} +\newcommand*{\clearpairofpagestyles}{} +\newcommand*{\clearscrheadings}{} +\newcommand*{\clearscrheadfoot}{} +\newcommand*{\clearscrplain}{} \NewDocumentCommand{\deftriplepagestyle}{m o o m m m m m m}{} \NewDocumentCommand{\newtriplepagestyle}{m o o m m m m m m}{} \NewDocumentCommand{\renewtriplepagestyle}{m o o m m m m m m}{} diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-scrlayer.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-scrlayer.sty index ca9546729f3..90ceb7be7e9 100644 --- a/Master/texmf-dist/tex/latex/lwarp/lwarp-scrlayer.sty +++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-scrlayer.sty @@ -71,7 +71,12 @@ \DeclareDocumentCommand{\automark}{s o m}{} \DeclareDocumentCommand{\manualmark}{}{} \DeclareDocumentCommand{\MakeMarkcase}{m}{#1} -\DeclareDocumentCommand{\GenericMarkFormat}{}{} +\newcommand{\partmarkformat}{} +\if@chapter +\newcommand{\chaptermarkformat}{} +\fi +\newcommand{\sectionmarkformat}{} +\DeclareDocumentCommand{\GenericMarkFormat}{m}{} \newcommand*{\@mkleft}[1]{} \newcommand*{\@mkright}[1]{} \newcommand*{\@mkdouble}[1]{} diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-scrpage2.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-scrpage2.sty new file mode 100644 index 00000000000..12a5c2b3f5a --- /dev/null +++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-scrpage2.sty @@ -0,0 +1,61 @@ +%% +%% This is file `lwarp-scrpage2.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% lwarp.dtx (with options: `scrpage2') +%% This is a generated file. +%% Copyright 2016-2018 Brian Dunn +%% +%% This work may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either version 1.3 +%% 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.3 or later is part of all distributions of LaTeX +%% version 2005/12/01 or later. +\LWR@ProvidesPackageDrop{scrpage2} +\@ifundefined{footheight}{\newlength\footheight}{} +\NewDocumentCommand{\lehead}{o m}{} +\NewDocumentCommand{\cehead}{o m}{} +\NewDocumentCommand{\rehead}{o m}{} +\NewDocumentCommand{\lohead}{o m}{} +\NewDocumentCommand{\cohead}{o m}{} +\NewDocumentCommand{\rohead}{o m}{} +\NewDocumentCommand{\lefoot}{o m}{} +\NewDocumentCommand{\cefoot}{o m}{} +\NewDocumentCommand{\refoot}{o m}{} +\NewDocumentCommand{\lofoot}{o m}{} +\NewDocumentCommand{\cofoot}{o m}{} +\NewDocumentCommand{\rofoot}{o m}{} +\NewDocumentCommand{\ohead}{o m}{} +\NewDocumentCommand{\chead}{o m}{} +\NewDocumentCommand{\ihead}{o m}{} +\NewDocumentCommand{\ofoot}{o m}{} +\NewDocumentCommand{\cfoot}{o m}{} +\NewDocumentCommand{\ifoot}{o m}{} +\DeclareDocumentCommand{\automark}{o m}{} +\DeclareDocumentCommand{\manualmark}{}{} +\DeclareDocumentCommand{\MakeMarkcase}{m}{#1} +\NewDocumentCommand{\deftripstyle}{m o o m m m m m m}{} +\NewDocumentCommand{\defpagestyle}{s m m m}{} +\NewDocumentCommand{\newpagestyle}{s m m m}{} +\NewDocumentCommand{\renewpagestyle}{s m m m}{} +\NewDocumentCommand{\providepagestyle}{s m m m}{} +\newcommand{\partmarkformat}{} +\if@chapter +\newcommand{\chaptermarkformat}{} +\fi +\newcommand{\sectionmarkformat}{} +\newcommand{\subsectionmarkformat}{} +\newcommand{\subsubsectionmarkformat}{} +\newcommand{\paragraphmarkformat}{} +\newcommand{\subparagraphmarkformat}{} + +\newcommand*{\clearscrheadings}{} +\newcommand*{\clearscrheadfoot}{} +\newcommand*{\clearscrplain}{} +\endinput +%% +%% End of file `lwarp-scrpage2.sty'. diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp-tocbibind.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp-tocbibind.sty index e7ded808202..6708e2e6a6a 100644 --- a/Master/texmf-dist/tex/latex/lwarp/lwarp-tocbibind.sty +++ b/Master/texmf-dist/tex/latex/lwarp/lwarp-tocbibind.sty @@ -51,7 +51,7 @@ }{} \DeclareDocumentCommand{\simplechapter}{O{\@empty}}{% \def\@chapcntformat##1{% - #1~\csname the##1\endcsname\simplechapterdelim\protect\quad% + #1~\csname the##1\endcsname\simplechapterdelim\quad% }% } diff --git a/Master/texmf-dist/tex/latex/lwarp/lwarp.sty b/Master/texmf-dist/tex/latex/lwarp/lwarp.sty index 0ad1c8aa5b0..919e949e4af 100644 --- a/Master/texmf-dist/tex/latex/lwarp/lwarp.sty +++ b/Master/texmf-dist/tex/latex/lwarp/lwarp.sty @@ -17,7 +17,7 @@ %% version 2005/12/01 or later. \NeedsTeXFormat{LaTeX2e}[1999/12/01] \ProvidesPackage{lwarp} - [2018/12/03 v0.63 Allows LaTeX to directly produce HTML5 output.] + [2018/12/08 v0.64 Allows LaTeX to directly produce HTML5 output.] @@ -129,9 +129,6 @@ or is superceded by another class. For a possible alternative, see class(es) #2.} }{}% } -\LWR@earlyclassloadnever{utarticle}{ujarticle} -\LWR@earlyclassloadnever{utbook}{ujbook} -\LWR@earlyclassloadnever{utreport}{ujreport} \LWR@earlyloadnever{ae}{cm-super, lmodern} \LWR@earlyloadnever{aecompl}{cm-super, lmodern} \LWR@earlyloadnever{aecc}{cm-super, lmodern} @@ -141,7 +138,7 @@ For a possible alternative, see class(es) #2.} \LWR@earlyloadnever{CJK}{ctex, xeCJK} \LWR@earlyloadnever{CJKutf8}{ctex, xeCJK} } -\LWR@earlyloadnever{bxcjkjatype}{pLaTeX, upLaTeX, bxjsarticle, ujarticle} +\LWR@earlyloadnever{bxcjkjatype}{pLaTeX, upLaTeX, bxjsarticle, ujarticle, utarticle} \LWR@earlyloadnever{hangul}{kotex, xetexko, luatexko} \LWR@earlyloadnever{fancyheadings}{fancyhdr} \LWR@earlyloadnever{glossary}{glossaries} @@ -192,6 +189,7 @@ For a possible alternative, see class(es) #2.} \LWR@loadafter{boxedminipage2e} \LWR@loadafter{breakurl} \LWR@loadafter{breqn} +\LWR@loadafter{bsheaders} \LWR@loadafter{bxpapersize} \LWR@loadafter{bytefield} \LWR@loadafter{cancel} @@ -280,6 +278,7 @@ For a possible alternative, see class(es) #2.} \LWR@loadafter{fullwidth} \LWR@loadafter{fwlw} \LWR@notbxjsloadafter{geometry} +\LWR@loadafter{gmeometric} \LWR@loadafter{glossaries} \LWR@loadafter{glossary} \LWR@loadafter{grffile} @@ -389,6 +388,7 @@ For a possible alternative, see class(es) #2.} \LWR@loadafter{relsize} \LWR@loadafter{repeatindex} \LWR@loadafter{resizegather} +\LWR@loadafter{rmpage} \LWR@loadafter{romanbar} \LWR@loadafter{romanbarpagenumber} \LWR@loadafter{rotating} @@ -401,6 +401,7 @@ For a possible alternative, see class(es) #2.} \LWR@loadafter{scrlayer} \LWR@loadafter{scrlayer-notecolumn} \LWR@loadafter{scrlayer-scrpage} +\LWR@loadafter{scrpage2} \LWR@loadafter{section} \LWR@loadafter{sectionbreak} \LWR@loadafter{sectsty} @@ -468,7 +469,6 @@ For a possible alternative, see class(es) #2.} \LWR@loadafter{vpe} \LWR@loadafter{vwcol} \LWR@loadafter{wallpaper} -\LWR@loadafter{wasysym} \LWR@loadafter{watermark} \LWR@loadafter{widows-and-orphans} \LWR@loadafter{wrapfig} @@ -900,11 +900,16 @@ For a possible alternative, see class(es) #2.} \newcommand*{\LWR@checkloadfilename}[1]{% \LWR@checkloadnever{#1}{ae}{latinmodern} \LWR@checkloadnever{#1}{aecc}{latinmodern} +\LWR@checkloadnever{#1}{bitfield}{bytefield} \LWR@checkloadnever{#1}{boxedminipage}{boxedminipage2e} \LWR@checkloadnever{#1}{caption2}{caption} \LWR@checkloadnever{#1}{ccaption}{caption} +\LWR@checkloadnever{#1}{doublespace}{setspace} \LWR@checkloadnever{#1}{fancyheadings}{fancyhdr} \LWR@checkloadnever{#1}{glossary}{glossaries} +\LWR@checkloadnever{#1}{newthm}{ntheorem} +\LWR@checkloadnever{#1}{rplain}{fancyhdr} +\LWR@checkloadnever{#1}{si}{siunitx} \LWR@checkloadnever{#1}{t1enc}{fontenc, inputenc, inputenx} \LWR@checkloadnever{#1}{wasysym}{textcomp, amssymb, amsfonts, mnsymbol, fdsymbol} \LWR@checkloadbefore{#1}{ctex} @@ -1576,6 +1581,9 @@ For a possible alternative, see class(es) #2.} \@ifclassloaded{ujarticle}{\LWR@compileuplatex}{} \@ifclassloaded{ujbook}{\LWR@compileuplatex}{} \@ifclassloaded{ujreport}{\LWR@compileuplatex}{} +\@ifclassloaded{utarticle}{\LWR@compileuplatex}{} +\@ifclassloaded{utbook}{\LWR@compileuplatex}{} +\@ifclassloaded{utreport}{\LWR@compileuplatex}{} \ifdefempty{\LWR@PrintLatexCmd}{ \def\LWR@PrintLatexCmd{\LWR@tempprintlatexcmd} }{} @@ -1672,7 +1680,7 @@ body { p {margin: 1.5ex 0em 1.5ex 0em ;} table p {margin: .5ex 0em .5ex 0em ;} -/* Holds a section number to add space between it and the name */ +/* Holds a section number */ span.sectionnumber { margin-right: 0em } /* Inserted in front of index lines */ @@ -3639,7 +3647,7 @@ src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.4/MathJax.js?config=TeX- -- Copyright 2016-2018 Brian Dunn -printversion = "v0.63" +printversion = "v0.64" requiredconfversion = "1" -- also at *lwarpmk.conf function printhelp () @@ -5825,7 +5833,7 @@ end -- not --version } \newcounter{LWR@prevFileDepth} \setcounter{LWR@prevFileDepth}{\LWR@depthsubparagraph} -\def\@seccntformat#1{\csname the#1\endcsname\protect\quad} +\def\@seccntformat#1{\csname the#1\endcsname\quad} \newcommand*{\simplechapterdelim}{} \let\@chapcntformat\@seccntformat \let\@partcntformat\@seccntformat @@ -5919,7 +5927,11 @@ end -- not --version \LWR@traceinfo{LWR@section: about to addcontentsline}% \addcontentsline{toc}{#4}% {% - \protect\numberline{\@nameuse{the#4}}% + \protect\numberline{% + \@nameuse{pre#4name}% + \@nameuse{the#4}% + \@nameuse{post#4name}% + }% {% \ignorespaces% \IfValueTF{#2}{\LWR@isolate{#2}}{\LWR@isolate{#3}}\protect\relax% @@ -5944,7 +5956,7 @@ end -- not --version \ifthenelse{% \(\cnttest{\@nameuse{LWR@depth#4}}{<=}% {\value{secnumdepth}}\) \AND% - \(\cnttest{\@nameuse{LWR@depth#4}}{<=}{\LWR@depthpart}\)% + \(\cnttest{\@nameuse{LWR@depth#4}}{=}{\LWR@depthpart}\)% }% {\@partnameformat}% {}% @@ -5954,9 +5966,8 @@ end -- not --version }% {% \ifstrequal{#4}{part}% + {\protect\LWR@sectionnumber{\@partcntformat{#4}}}% {% - \protect\LWR@sectionnumber{\@partcntformat{#4}}% - }{% \ifstrequal{#4}{chapter}% {\protect\LWR@sectionnumber{\@chapcntformat{#4}}}% {\protect\LWR@sectionnumber{\@seccntformat{#4}}}% @@ -5995,6 +6006,28 @@ end -- not --version } +\providecommand*{\prepartname}{} +\providecommand*{\postpartname}{} + +\providecommand*{\prechaptername}{} +\providecommand*{\postchaptername}{} + +\providecommand*{\presectionname}{} +\let\postsectionname\presectionname + +\let\presubsectionname\presectionname +\let\postsubsectionname\postsectionname + +\let\presubsubsectionname\presectionname +\let\postsubsubsectionname\postsectionname + +\let\preparagraphname\presectionname +\let\postparagraphname\postsectionname + +\let\presubparagraphname\presectionname +\let\postsubparagraphname\postsectionname + + \newcommand{\part@preamble}{}% for koma-script \DeclareDocumentCommand{\part}{s o m}{% @@ -6095,13 +6128,17 @@ end -- not --version } \ifPDFTeX% pdflatex or dvi latex -\ifdefstring{\inputencodingname}{utf8}{% - \newcommand*{\theHTMLTitleSeparator}{ — }% EMdash -}{% - \newcommand*{\theHTMLTitleSeparator}{ - }% hyphen -}% + \ifdefstring{\inputencodingname}{utf8}{% + \newcommand*{\theHTMLTitleSeparator}{ — }% EMdash + }{% + \newcommand*{\theHTMLTitleSeparator}{ - }% hyphen + }% \else% - \newcommand*{\theHTMLTitleSeparator}{ — }% EMdash + \ifpTeX + \newcommand*{\theHTMLTitleSeparator}{ - }% hyphen + \else + \newcommand*{\theHTMLTitleSeparator}{ — }% EMdash + \fi% \fi% \newcommand*{\HTMLTitleBeforeSection}{% @@ -6223,7 +6260,7 @@ end -- not --version \LWR@origonecolumn% \LWR@origpagestyle{empty}% \overfullrule=0pt -\LWR@print@scriptsize% +\LWR@print@footnotesize% \LWR@print@raggedright% \LetLtxMacro{\\}{\LWR@endofline}% \linespread{1.3}% @@ -11145,15 +11182,15 @@ width:\LWR@printlength{\LWR@tempwidth}% \ifbool{LWR@minipagethispar}{\LWR@stoppars}{}% } -\renewcommand*{\quad}{% +\renewrobustcmd*{\quad}{% \LWR@minipagestoppars% \HTMLunicode{2001}% \LWR@minipagestartpars% } -\renewcommand*{\qquad}{\quad\quad} +\renewrobustcmd*{\qquad}{\quad\quad} -\renewcommand*{\enskip}{% +\renewrobustcmd*{\enskip}{% \LWR@minipagestoppars% \HTMLunicode{2000}% \LWR@minipagestartpars% @@ -11430,6 +11467,49 @@ width:\LWR@printlength{\LWR@tempwidth}% \end{warpHTML} \begin{warpHTML} +\newcommand*{\LWR@patchujtclasses}{ + \let\tate\relax + \DeclareDocumentCommand{\rensuji}{m}{##1} + \def\@partnameformat{}% uj/t does not use \partname + \def\@partcntformat##1{% + \prepartname% + \csname the##1\endcsname% + \postpartname% + \quad% + } + \@ifundefined{chapter}{}{ + \def\@chapcntformat##1{% + \prechaptername% + \csname the##1\endcsname% + \postchaptername% + \quad% + } + } + \renewcommand{\thepart}{\@Roman\c@part} + \@ifundefined{chapter}{ + \renewcommand{\thesection}{\@arabic\c@section} + }{ + \renewcommand{\thechapter}{\@arabic\c@chapter} + \renewcommand{\thesection}{\thechapter.\@arabic\c@section} + } + \renewcommand{\thesubsection}{\thesection.\@arabic\c@subsection} + \renewcommand{\thesubsubsection}{% + \thesubsection.\@arabic\c@subsubsection} + \renewcommand{\theparagraph}{% + \thesubsubsection.\@arabic\c@paragraph} + \renewcommand{\thesubparagraph}{% + \theparagraph.\@arabic\c@subparagraph} +} + +\@ifclassloaded{ujarticle}{\LWR@patchujtclasses}{} +\@ifclassloaded{ujbook}{\LWR@patchujtclasses}{} +\@ifclassloaded{ujreport}{\LWR@patchujtclasses}{} +\@ifclassloaded{utarticle}{\LWR@patchujtclasses}{} +\@ifclassloaded{utbook}{\LWR@patchujtclasses}{} +\@ifclassloaded{utreport}{\LWR@patchujtclasses}{} +\end{warpHTML} + +\begin{warpHTML} \AtBeginDocument{ \@ifpackageloaded{ctexpatch}{% \def\@partcntformat#1{% |