From 94c2e367c3690be2a3c715b4577c81200652ad81 Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Tue, 24 Sep 2019 03:00:39 +0000 Subject: CTAN sync 201909240300 --- macros/latex/contrib/gnuplottex/gnuplottex.dtx | 33 +- macros/latex/contrib/gnuplottex/gnuplottex.pdf | Bin 415723 -> 416400 bytes macros/latex/contrib/keyfloat/README.txt | 2 +- macros/latex/contrib/keyfloat/keyfloat.dtx | 332 ++++++++++++++++----- macros/latex/contrib/keyfloat/keyfloat.pdf | Bin 504960 -> 1036937 bytes macros/latex/contrib/lwarp/README.txt | 2 +- macros/latex/contrib/lwarp/lwarp.dtx | 114 +++++-- macros/latex/contrib/lwarp/lwarp.pdf | Bin 2486872 -> 2488031 bytes macros/latex/contrib/lwarp/lwarpmk.lua | 2 +- macros/latex/contrib/perltex/README | 2 +- macros/latex/contrib/perltex/perltex.1 | 35 ++- macros/latex/contrib/perltex/perltex.dtx | 52 ++-- macros/latex/contrib/perltex/perltex.ins | 4 +- macros/latex/contrib/perltex/perltex.pdf | Bin 333786 -> 283945 bytes macros/luatex/latex/plantuml/CHANGELOG.md | 13 +- macros/luatex/latex/plantuml/README.md | 2 +- .../latex/plantuml/example-component-diagram.tex | 32 ++ macros/luatex/latex/plantuml/plantuml.lua | 2 +- macros/luatex/latex/plantuml/plantuml.pdf | Bin 47135 -> 47151 bytes macros/luatex/latex/plantuml/plantuml.sty | 13 +- 20 files changed, 462 insertions(+), 178 deletions(-) create mode 100644 macros/luatex/latex/plantuml/example-component-diagram.tex (limited to 'macros') diff --git a/macros/latex/contrib/gnuplottex/gnuplottex.dtx b/macros/latex/contrib/gnuplottex/gnuplottex.dtx index 58286bc6fc..26fe6da487 100644 --- a/macros/latex/contrib/gnuplottex/gnuplottex.dtx +++ b/macros/latex/contrib/gnuplottex/gnuplottex.dtx @@ -42,7 +42,7 @@ % \NeedsTeXFormat{LaTeX2e}[1999/12/01] % \ProvidesPackage{gnuplottex} %<*package> - [2016/08/21 v0.9.2 gnuplot graphs in LaTeX] + [2019/09/22 v0.9.3 gnuplot graphs in LaTeX] \RequirePackage{graphicx,moreverb,keyval,ifthen,catchfile} % % @@ -106,6 +106,7 @@ % \changes{v0.9}{2015/12/08}{Show any errors during conversion on Unix (Enrico Gregorio, suggested by Udo H\"ofel).} % \changes{v0.9.1}{2015/12/13}{Fix bug in error gathering introduced in 0.9.} % \changes{v0.9.2}{2016/08/21}{Misc bugfixes (thanks fostermaier, Enrico Gregorio, Jan-Benedict Glaw).} +% \changes{v0.9.3}{2019/09/22}{Whitespace fixes (thanks Johannes Hielscher).} % % \GetFileInfo{gnuplottex.dtx} % @@ -144,8 +145,9 @@ % To use gnuplottex, you'll need the \texttt{graphicx}, \texttt{latexsym}, % \texttt{keyval}, \texttt{ifthen}, and \texttt{moreverb} packages and, of % course, gnuplot. -%If you want to use tikz-terminal you also have to use the \texttt{gnuplot-lua-tikz}-package from gnuplot. +% If you want to use tikz-terminal you also have to use the \texttt{gnuplot-lua-tikz}-package from gnuplot. % If you want to use the \texttt{eepic}-terminal, you'll need the \texttt{eepic}-, the \texttt{epic}- and (if you're not using dvips or dvipdfm) the \texttt{eepicemu}-package. +% If you use beamer, be aware that you have to call the frame with \texttt{\textbackslash begin\{frame\}[fragile]}. % % \section{Usage} % @@ -169,7 +171,8 @@ % % In addition, you can set \verb=\gnuplotexe= to the path to the gnuplot % executable. Normally, you don't need to do this; use this option only if -% \LaTeX{} doesn't find gnuplot. +% \LaTeX{} doesn't find gnuplot. For example:\\ +% \verb=\def\gnuplotexe{/opt/local/bin/gnuplot}= % % The following environment can be used to include graphs: % @@ -749,18 +752,18 @@ \def\gnuplotverbatimwrite#1{% \def\BeforeStream {\message{Opening gnuplot stream #1}% - \immediate\write\verbatim@out{\string set terminal \gnuplotterminal \gnuplotterminaloptions} - \immediate\write\verbatim@out{\string set output '\subfolder\figname.\gnuplottexextension{\gnuplotterminal}'} + \immediate\write\verbatim@out{\string set terminal \gnuplotterminal \gnuplotterminaloptions}% + \immediate\write\verbatim@out{\string set output '\subfolder\figname.\gnuplottexextension{\gnuplotterminal}'}% \ifusesiunitx \ifthenelse{\equal{\extension}{\string tex}}{\usesiunitxingnuplot}{\PackageWarningNoLine{gnuplottex}{Axis numbers not written in \noexpand\num{}. Use a terminal that allows TeX output to enable this feature.}} \else \relax \fi - } - \@bsphack - \immediate\openout \verbatim@out #1 + }% + \@bsphack% + \immediate\openout \verbatim@out #1% \BeforeStream% - \let\do\@makeother\dospecials + \let\do\@makeother\dospecials% \catcode`\^^M\active \def\verbatim@processline{% \immediate\write\verbatim@out @@ -800,11 +803,11 @@ \define@key{pic}{terminal}[latex]{\def\gnuplotterminal{#1}} \define@key{pic}{terminaloptions}{\def\gnuplotterminaloptions{ #1}} \newenvironment{gnuplot}[1][]{\stepcounter{fignum}% - \def\gnuplotterminal{latex} - \def\gnuplotterminaloptions{} - \def\gnuplotscale{1} - \setkeys{pic}{#1} - \xdef\gnuplotCutFile{\subfolder\figname.gnuplot} + \def\gnuplotterminal{latex}%% + \def\gnuplotterminaloptions{}%% + \def\gnuplotscale{1}%% + \setkeys{pic}{#1}%% + \xdef\gnuplotCutFile{\subfolder\figname.gnuplot}%% \gnuplotverbatimwrite{\gnuplotCutFile}} {\endgnuplotverbatimwrite% \gnuplotgraphicsprocess% @@ -846,7 +849,7 @@ \PackageWarningNoLine{gnuplottex}{Gnuplot execution produced errors:^^J% \detokenize\expandafter{\gnuploterrors@}}% \fi - }{}% + }{} \fi } % \end{macrocode} diff --git a/macros/latex/contrib/gnuplottex/gnuplottex.pdf b/macros/latex/contrib/gnuplottex/gnuplottex.pdf index 6534f16984..6faf601c5c 100644 Binary files a/macros/latex/contrib/gnuplottex/gnuplottex.pdf and b/macros/latex/contrib/gnuplottex/gnuplottex.pdf differ diff --git a/macros/latex/contrib/keyfloat/README.txt b/macros/latex/contrib/keyfloat/README.txt index f628b5cbd7..ca229e6579 100644 --- a/macros/latex/contrib/keyfloat/README.txt +++ b/macros/latex/contrib/keyfloat/README.txt @@ -1,7 +1,7 @@ The LaTeX keyfloat package Provides a key/value interface for generating floats. -v2.00 — 2019/03/21 +v2.01 Copyright 2016-2019 Brian Dunn — www.BDTechConcepts.com LaTeX Project Public License, version 1.3 diff --git a/macros/latex/contrib/keyfloat/keyfloat.dtx b/macros/latex/contrib/keyfloat/keyfloat.dtx index 980abeba9c..08acaf860a 100644 --- a/macros/latex/contrib/keyfloat/keyfloat.dtx +++ b/macros/latex/contrib/keyfloat/keyfloat.dtx @@ -17,7 +17,7 @@ % \iffalse %\NeedsTeXFormat{LaTeX2e} %\ProvidesPackage{keyfloat} -% [2019/03/21 v2.00 Key/value interface for floats and subfloats.] +% [2019/09/23 v2.01 Key/value interface for floats and subfloats.] % %<*driver> \documentclass{ltxdoc} @@ -102,6 +102,8 @@ \usepackage{enumitem} +\usepackage{needspace} + \usepackage{array} \usepackage{booktabs} \usepackage{threeparttable} @@ -177,7 +179,7 @@ position=top, -\usepackage{lipsum} +\usepackage{blindtext} @@ -315,7 +317,7 @@ Keywords={LaTeX, floats, key/val, subcaption, rows}% %<*package> % \fi % -% \CheckSum{1174} +% \CheckSum{1251} % % \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 @@ -349,6 +351,7 @@ Keywords={LaTeX, floats, key/val, subcaption, rows}% % \changes{v2.00}{2019/03/21}{\ 2019/03/21} % \changes{v2.00}{2019/03/17}{Added custom float types.} % \changes{v2.00}{2019/03/17}{Added float authors.} +% \changes{v2.01}{2019/09/23}{2019/09/23} @@ -653,6 +656,7 @@ Keywords={LaTeX, floats, key/val, subcaption, rows}% % \end{sourceverb} % % +% \needspace{7\baselineskip} % \subsection{Macros and environments} % % \DescribeMacro{\keyfig} * \oarg{loc} \marg{\keyvalsarg} \marg{image filename} \\ @@ -697,26 +701,32 @@ Keywords={LaTeX, floats, key/val, subcaption, rows}% % % % \DescribeEnv{keyfloats} * \oarg{loc} \marg{num columns} \\ -% A group of figures or tables typeset in rows. May be nested. +% A group of figures or tables typeset in rows. May be nested, [H], [W], or [M]. % See \cref{ex:keyfloats}. % % \DescribeEnv{keysubfigs} * \oarg{loc} \marg{numcols} \marg{keys} \\ % A group of subfigures typeset in rows. -% May not be nested. +% May \emph{not} be nested. May be [H], [W], or [M]. % See \cref{ex:keysubfigs}. % +% \needspace{2\baselineskip} % \DescribeEnv{keysubtabs} * \oarg{loc} \marg{numcols} \marg{keys} \\ % A group of subtables typeset in rows. -% May not be nested. +% May \emph{not} be nested. May be [H], [W], or [M]. % See \cref{ex:keysubtabs}. % +% \needspace{2\baselineskip} % \DescribeEnv{keysubfloats} * \oarg{loc} \marg{float type} \marg{numcols} \marg{keys} \\ % A group of subfloats typeset in rows. -% May not be nested. +% May \emph{not} be nested. May be [H], [W], or [M]. % % \DescribeEnv{keywrap} \marg{width of keyfloat} \marg{keyfloat} \\ -% Displays a keyfloat next to an environment of text. Usable inside a list item, -% where [W] will not work. \meta{keyfloat} may be any of \cs{keyfig}, \env{keyfigure}, +% Displays a keyfloat next to an environment of text. +% Two minipages are used side-by-side, which allows its use inside a list item +% where [W] will not work, but extra empty vertical space +% \watchout[empty space] +% will appear if the keyfloat and the text are of unequal vertical size. +% \meta{keyfloat} may be any of \cs{keyfig}, \env{keyfigure}, % \env{keyfloats}, \env{keysubfigs}, etc., each with its proper arguments. % See \cref{ex:keywrapkeyfig}. % @@ -804,7 +814,7 @@ Keywords={LaTeX, floats, key/val, subcaption, rows}% % \end{tabular} % \begin{tablenotes} % \item[a:] All the keys in Part I may be used with the -% \env{keysubfigs} and \env{keysubtabs} environments. +% \env{keysubfigs}, \env{keysubtabs}, and \env{keysubfloats} environments. % \item[b:] Artist \Slash author keys: % |al| is an artist's last name, |aul| is an author's last name, etc. % Artists names are printed centered, authors are flush right. @@ -854,7 +864,7 @@ Keywords={LaTeX, floats, key/val, subcaption, rows}% % \end{tabular} % \begin{tablenotes} % \item[a:] None of the keys in Part II are used in the -% \env{keysubfigs} and \env{keysubtabs} environments. +% \env{keysubfigs}, \env{keysubtabs}, and \env{keysubfloats} environments. % \end{tablenotes} % \end{threeparttable} % \end{keytable} @@ -922,7 +932,7 @@ Keywords={LaTeX, floats, key/val, subcaption, rows}% % options for the |wp| key % for floats placed |[W]|. % -% \begin{keytable}{c={Wrapped float placement options},l=tab:wrapplacement} +% \begin{keytable}{c={Key \optn{wp}: Wrapped float placement options},l=tab:wrapplacement} % \index{float>wrapped placement}\index{wrapped float placement} % \centering % \begin{tabular}{ccl} @@ -1256,8 +1266,8 @@ Keywords={LaTeX, floats, key/val, subcaption, rows}% % It is the user's responsibility to adjust |w|, |h|, or |lw| as necessary. % \index{troubleshooting>image too large} % -% Keyfloats may be positioned [H]: \\ -% \hspace*{2em}|\begin{keyfloats}[H}{2}| \dots +% Keyfloats may be located [H], [M], or located [W] set with half the line width:\\ +% \hspace*{2em}|\begin{keyfloats}[H]{2}| \dots % % Keyfloats may be starred to span both columns in a two-column format: \\ % \hspace*{2em}|\begin{keyfloats}*{2}| \dots @@ -1288,11 +1298,11 @@ Keywords={LaTeX, floats, key/val, subcaption, rows}% % % \Crefrange{fig:firstsubfig}{fig:fifthsubfig} are in % the \cref{fig:subfigs} \env{keysubfigs} environment. -% The \cs{keysubtabs} environment is similar. +% The \env{keysubtabs} environment is similar. % Mixed types have the type of their container, as shown with \cref{fig:fourthsubfig}. % % Subfloats are associated floats (a, b, \dots) collected together into one common float -% (the enclosing \cs{keysubfigs} or \cs{keysubtabs} environment). +% (the enclosing \env{keysubfigs} or \env{keysubtabs} environment). % The enclosing float can have its own caption (call ``Sub-Figures'' in the example), % which appears in the \acro{LOF}/\acro{LOT}, and also a label. % Each subfloat can have its own caption and label as well, but the @@ -1305,17 +1315,17 @@ Keywords={LaTeX, floats, key/val, subcaption, rows}% % This avoids miss-labeling as each subfloat must clearly be identified % as a child of its containing float. % -% \cs{keysubfigs} and \cs{keysubtabs} may not be used inside\watchout[nested subfloats] +% \env{keysubfigs} and \env{keysubtabs} may not be used inside\watchout[nested subfloats] % \index{troubleshooting>nested subfloats}\index{subfloat>nested} % the \env{keyfloats} environment, % and cannot be nested inside each other. (No subfloat |12aa|, |12ab|, |12ba|, etc.) % -% The \env{keyfloats} environment may be used inside \cs{keysubfigs} or +% The \env{keyfloats} environment may be used inside \env{keysubfigs} or % \margintag{nested keyfloats}\index{keyfloats>nested} -% \cs{keysubtabs} to gather subfloats together, such as the +% \env{keysubtabs} to gather subfloats together, such as the % three right-most figures in \cref{fig:subfigs}. % -% Subfloats may be located |H|: \\ +% Subfloats may be located [H], [M], or located [W] set with half the line width: \\ % \hspace*{2em}|\begin{keysubfigs}[H]{3}{|key/vals \dots|}| % % Subfloats may be starred to span both columns in a two-column format: \\ @@ -1446,10 +1456,10 @@ Keywords={LaTeX, floats, key/val, subcaption, rows}% % l=fig:keyfigw,ft,lw=.4,wp=I, % t={.4\cs{linewidth} wide, placed \texttt{I}.} % }{image2} -% \lipsum[1] +% \blindtext % \keytab[W]{c={A \cs{keytab}\texttt{[W]}},l=tab:keytabw,w=.75in, % }{\testtable} -% \lipsum[2] +% \blindtext % \end{dtxexample} % % \begin{dtxexample}[\Cref{fig:keyfigboxw} and the \cs{keyparbox}.] @@ -1458,9 +1468,9 @@ Keywords={LaTeX, floats, key/val, subcaption, rows}% % l=fig:keyfigboxw,f,lw=.25,wp=I, % t=Text text text text text text text text text % }{The contents.} -% \lipsum[1] +% \blindtext % \keyparbox[W]{w=1in}{A \cs{keyparbox}[W] and some more text.} -% \lipsum[2] +% \blindtext % \end{dtxexample} % % @@ -1470,14 +1480,14 @@ Keywords={LaTeX, floats, key/val, subcaption, rows}% % l=fig:keyfigurew,f,w=1.5in} % This is a keyfigure. % \end{keyfigure} -% \lipsum[1] +% \blindtext % % \begin{keytable}[W]{c={A \env{keytable}\texttt{[W]}}, % l=tab:keytablew,w=2in,wp=L,tc=Placed \texttt{L} and 2in wide.} % \centering % \testwidetable % \end{keytable} -% \lipsum[2] +% \blindtext % \end{dtxexample} % % @@ -1765,7 +1775,7 @@ Keywords={LaTeX, floats, key/val, subcaption, rows}% % % % \section{Code} -% +% ^^A *source % % \subsection{Older packages} % @@ -1907,18 +1917,32 @@ Keywords={LaTeX, floats, key/val, subcaption, rows}% % These macros are commonly used by others. % \begin{environment}{tablehere} Place a table exactly [H]. +% \changes{v2.01}{2019/09/11}{Fix: Font and color.} +% \changes{v2.01}{2019/09/14}{Improved vertical space.} % \begin{macrocode} \ProvideDocumentEnvironment{tablehere}{} - {\bigbreak\noindent\minipage{\linewidth}\def\@captype{table}} - {\endminipage\bigbreak} +{% + \vskip\intextsep\noindent% + \minipage{\linewidth}% + \def\@captype{table}% + \normalcolor\reset@font\normalsize% +}% +{\endminipage\vskip\intextsep}% % \end{macrocode} % \end{environment} % \begin{environment}{figurehere} Place a figure exactly [H]. +% \changes{v2.01}{2019/09/11}{Fix: Font and color.} +% \changes{v2.01}{2019/09/14}{Improved vertical space.} % \begin{macrocode} \ProvideDocumentEnvironment{figurehere}{} - {\bigbreak\noindent\minipage{\linewidth}\def\@captype{figure}} - {\endminipage\bigbreak} +{% + \vskip\intextsep\noindent% + \minipage{\linewidth}% + \def\@captype{figure}% + \normalcolor\reset@font\normalsize% +}% +{\endminipage\vskip\intextsep}% % \end{macrocode} % \end{environment} @@ -2347,7 +2371,7 @@ Keywords={LaTeX, floats, key/val, subcaption, rows}% \setcounter{KFLT@keyfloatdepth}{0} % \end{macrocode} -% \DescribeBoolean{KFLT@inkeysubfloats} Inside a keysubfigs environment? +% \DescribeBoolean{KFLT@inkeysubfloats} Inside a \env{keysubfigs} environment? % \begin{macrocode} \newboolean{KFLT@inkeysubfloats} \setboolean{KFLT@inkeysubfloats}{false} @@ -2876,7 +2900,7 @@ Keywords={LaTeX, floats, key/val, subcaption, rows}% % use either \cs{caption} or \cs{captionartist}. % % The fourth argument is |{}| if a regular float, or -% |subgrp| if \cs{keysubfigs} or \cs{keysubtabs}. +% |subgrp| if \env{keysubfigs} or \env{keysubtabs}. % % See Table \ref{tab:captions} for the possible combinations of % the caption-related keys: |c|, |cstar|, and |sc|. @@ -2961,7 +2985,7 @@ Keywords={LaTeX, floats, key/val, subcaption, rows}% % Caption-creation logic. % % The argument is |{}| if a regular float, or -% |subgrp| if \cs{keysubfigs} or \cs{keysubtabs}. +% |subgrp| if \env{keysubfigs} or \env{keysubtabs}. % % See Table \ref{tab:captions} for the possible combinations of % the caption-related keys: |c|, |cstar|, and |sc|. @@ -3141,7 +3165,7 @@ Keywords={LaTeX, floats, key/val, subcaption, rows}% % Adds optional additional text. % % The argument is |{}| if a regular float, or -% |subgrp| if \cs{keysubfigs} or \cs{keysubtabs}. +% |subgrp| if \env{keysubfigs} or \env{keysubtabs}. % % \changes{v0.11}{2016/12/02}{Improved paragraph handling.} % @@ -3205,7 +3229,7 @@ Keywords={LaTeX, floats, key/val, subcaption, rows}% % Adds optional additional text. % % The argument is |{}| if a regular float, or -% |subgrp| if \cs{keysubfigs} or \cs{keysubtabs}. +% |subgrp| if \env{keysubfigs} or \env{keysubtabs}. % % One of two versions is used, depending on whether the \pkg{tocdata} % package is available. @@ -3367,19 +3391,23 @@ Keywords={LaTeX, floats, key/val, subcaption, rows}% % \end{macro} +% \DescribeBoolean{KFLT@captionistop} Saves the value of \cs{caption@position}, +% which may become unreliable if using Komascript and +% \begin{sourceverb} +% \captionsetup[table]{position=above} +% \end{sourceverb} +% +% \begin{macrocode} +\newbool{KFLT@captionistop} +% \end{macrocode} + + % \begin{macro}{\KFLT@LWR@hook@boxouter} Used by \pkg{lwarp}. % \begin{macrocode} \newcommand*{\KFLT@LWR@hook@boxouter}{}% % \end{macrocode} % \end{macro} -% \begin{environment}{KFLT@LWR@hook@boxouter@minipage} Used by \pkg{lwarp}. -% \begin{macrocode} -\newenvironment*{KFLT@LWR@hook@boxouter@minipage}[2][] - {\minipage[#1]{#2}} - {\endminipage} -% \end{macrocode} -% \end{environment} % \begin{environment}{KFLT@boxouter} \marg{star?} \marg{loc} % @@ -3410,7 +3438,7 @@ Keywords={LaTeX, floats, key/val, subcaption, rows}% \ifnumgreater{\value{KFLT@keyfloatdepth}}{0}% {% keyfloats \ifbool{KFLT@keywrap}% - {\KFLT@LWR@hook@boxouter@minipage[t]{\KFLT@rowboxwidth}}% + {\minipage[t]{\KFLT@rowboxwidth}}% {\minipage[\KFLT@va]{\KFLT@rowboxwidth}}% \captionsetup*{type=\KFLT@type}% }% keyfloats @@ -3430,7 +3458,7 @@ Keywords={LaTeX, floats, key/val, subcaption, rows}% {% \par\addvspace{\baselineskip}% \noindent% - \KFLT@LWR@hook@boxouter@minipage[t]{\linewidth}% + \minipage[t]{\linewidth}% \captionsetup{type=\KFLT@type}% }% {% not a keywrap @@ -3441,7 +3469,7 @@ Keywords={LaTeX, floats, key/val, subcaption, rows}% % \begin{macrocode} \ifstrequal{#2}{W}% % \end{macrocode} -% Place [W], so create a wrapfloat from the \pkg{wrapfig} package: +% Place [W], so create a wrapfloat using the \pkg{wrapfig} package: % \begin{macrocode} {% [W] % \end{macrocode} @@ -3451,7 +3479,9 @@ Keywords={LaTeX, floats, key/val, subcaption, rows}% % \begin{macrocode} \KFLT@findwidths% \wrapfloat{\KFLT@type}{\KFLT@wp}% - {\KFLT@imagewidth+2\KFLTlooseframewidth}% + {\KFLT@imagewidth+2\KFLTlooseframewidth}% + \minipage{\KFLT@imagewidth+2\KFLTlooseframewidth}% + \normalcolor\reset@font\normalsize% % \end{macrocode} % Change the interior image to the discovered fixed width. % \begin{macrocode} @@ -3470,9 +3500,8 @@ Keywords={LaTeX, floats, key/val, subcaption, rows}% % \begin{macrocode} {% [M] \KFLT@marginfloat[\KFLT@mo]{\KFLT@type}% - \captionsetup{type=\KFLT@type}% }% [M] - {% not [M} + {% not [M] % \end{macrocode} % % See if the float should be positioned [H]ere: @@ -3480,10 +3509,13 @@ Keywords={LaTeX, floats, key/val, subcaption, rows}% \ifstrequal{#2}{H}% % \end{macrocode} % Place [H], so create an inline minipage: +% \changes{v2.01}{2019/09/11}{Fix: Font and color.} +% \changes{v2.01}{2019/09/14}{Improved vertical space.} % \begin{macrocode} {% [H] - \par\addvspace{\baselineskip}% + \vskip\intextsep% \noindent\minipage[\KFLT@va]{\linewidth}% + \normalcolor\reset@font\normalsize% \captionsetup{type=\KFLT@type}% }% [H] % \end{macrocode} @@ -3510,8 +3542,10 @@ Keywords={LaTeX, floats, key/val, subcaption, rows}% \KFLT@findwidths% % \end{macrocode} % Place the caption above the contents depending on \pkg{caption} \optn{position} option: +% \changes{v2.01}{2019/09/11}{Fix: Positions with \brand{Komascript}.} % \begin{macrocode} - \caption@iftop{\KFLT@caption{}}{}% + \caption@iftop{\booltrue{KFLT@captionistop}}{\boolfalse{KFLT@captionistop}}% + \ifbool{KFLT@captionistop}{\KFLT@caption{}}{}% % \end{macrocode} % Typeset the contents: % \begin{macrocode} @@ -3531,8 +3565,9 @@ Keywords={LaTeX, floats, key/val, subcaption, rows}% \KFLT@addartisttext{}% % \end{macrocode} % Place the caption below the contents depending on \pkg{caption} \optn{position} option: +% \changes{v2.01}{2019/09/11}{Fix: Positions with \brand{Komascript}.} % \begin{macrocode} - \caption@iftop{}{\KFLT@caption{}}% + \ifbool{KFLT@captionistop}{}{\KFLT@caption{}}% % \end{macrocode} % If are inside \env{keysubtabs}, end the subtable: % \begin{macrocode} @@ -3543,6 +3578,8 @@ Keywords={LaTeX, floats, key/val, subcaption, rows}% {% not subfloat \ifnumgreater{\value{KFLT@keyfloatdepth}}{0}% keyfloats? {% +% \end{macrocode} +% \begin{macrocode} \endminipage% }% keyfloats {% not keyfloats @@ -3555,7 +3592,7 @@ Keywords={LaTeX, floats, key/val, subcaption, rows}% % See if in a \env{keywrap}: % \begin{macrocode} \ifbool{KFLT@keywrap}{% - \endKFLT@LWR@hook@boxouter@minipage% + \endminipage% \par\addvspace{\baselineskip}% }% {% not keywrap @@ -3568,6 +3605,7 @@ Keywords={LaTeX, floats, key/val, subcaption, rows}% % Place [W], so close the wrap float: % \begin{macrocode} {% [W] + \endminipage% \endwrapfloat% }% [W] {% not[W] @@ -3577,17 +3615,21 @@ Keywords={LaTeX, floats, key/val, subcaption, rows}% % \begin{macrocode} \ifstrequal{#2}{M}% % \end{macrocode} -% Place [M], so close the marginfloat: +% [M], so close the marginfloat: % \changes{v2.00}{2019/03/18}{Added custom float types.} % \begin{macrocode} {% [M] \endKFLT@marginfloat% }% [M] +% \end{macrocode} +% [H] or float: +% \changes{v2.01}{2019/09/14}{Improved vertical space.} +% \begin{macrocode} {% not [M] \ifstrequal{#2}{H}% {% \endminipage% [H] - \par\addvspace{\baselineskip}% + \vskip\intextsep% }% {% not [H] \IfBooleanTF{#1}% starred float? @@ -3989,7 +4031,7 @@ Keywords={LaTeX, floats, key/val, subcaption, rows}% % inside the \env{keyfloats} environment. % % Note that |lw| linewidth keys may need to be adjusted inside -% a \env{keyfloats}, \cs{keysubfigs}, or \cs{keysubtabs}, since +% a \env{keyfloats}, \env{keysubfigs}, or \env{keysubtabs}, since % \cs{linewidth} changes depending on the number of columns. % Likewise, manually-selected |w| width and |h| tags may need to be % adjusted to prevent overflow. @@ -4023,6 +4065,7 @@ Keywords={LaTeX, floats, key/val, subcaption, rows}% {% [H] or nested % \end{macrocode} % If nested, use different spacing as was computed in the outer nesting level: +% \changes{v2.01}{2019/09/14}{Improved vertical space.} % \begin{macrocode} \ifboolexpr{% test {\ifnumgreater{\value{KFLT@keyfloatdepth}}{1}} or @@ -4032,10 +4075,15 @@ Keywords={LaTeX, floats, key/val, subcaption, rows}% \KFLT@LWR@hook@keyfloatsminipage{\KFLT@rowboxwidth}% }% {% - \bigbreak% + \vskip\intextsep% \KFLT@LWR@hook@keyfloatsminipage{\linewidth}% }% % \end{macrocode} +% Reset font and color: +% \changes{v2.01}{2019/09/11}{Fix: Font and color.} +% \begin{macrocode} + \normalcolor\reset@font\normalsize% +% \end{macrocode} % If inside subfloats, generate subfigures by default: % \begin{macrocode} \ifbool{KFLT@inkeysubfloats}% @@ -4043,13 +4091,38 @@ Keywords={LaTeX, floats, key/val, subcaption, rows}% {\captionsetup*{type=figure}}% }% [H] or nested % \end{macrocode} -% Isn't [H] or nested, so create a figure: +% Isn't [H] or nested +% \begin{macrocode} + {% See if [W]: + \ifstrequal{#2}{W} + {% [W]: +% \end{macrocode} +% [W]: +% \changes{v2.01}{2019/09/16}{Added \env{keyfloats} [W].} % \begin{macrocode} - {% figure - \IfBooleanTF{#1}% starred figure, two-col figure in a two-col format - {\begin{figure*}[#2]}% - {\begin{figure}[#2]}% - }% figure + \wrapfloat{figure}{O}{.5\linewidth}% + \minipage{\linewidth}% + \normalcolor\reset@font\normalsize% + }% + {% not [H]: + \ifstrequal{#2}{M}% + {% [M]: +% \end{macrocode} +% [M]: +% \changes{v2.01}{2019/09/16}{Added \env{keyfloats} [M].} +% \begin{macrocode} + \KFLT@marginfloat{figure}% + }% +% \end{macrocode} +% A normal figure: +% \begin{macrocode} + {% figure + \IfBooleanTF{#1}% starred figure, two-col figure in a two-col format + {\begin{figure*}[#2]}% + {\begin{figure}[#2]}% + }% figure + }% not [H] + }% % \end{macrocode} % Compute the width of each entry: % \begin{macrocode} @@ -4093,22 +4166,47 @@ Keywords={LaTeX, floats, key/val, subcaption, rows}% \endKFLT@LWR@hook@keyfloatsminipage% % \end{minipage}% % \end{macrocode} -% Spacing if nested: +% Spacing if nested or not: +% \changes{v2.01}{2019/09/14}{Improved vertical space.} % \begin{macrocode} \ifboolexpr{ test {\ifnumgreater{\value{KFLT@keyfloatdepth}}{0}} or bool {KFLT@keywrap} }% - {}{% - \bigbreak% + {}{% not nested + \vskip\intextsep% }% }% was [H], etc. % \end{macrocode} -% Was not [H], so close a figure: +% Not [H]: % \begin{macrocode} {% not [H], etc. - \IfBooleanTF{#1}% starred figure? - {\end{figure*}}{\end{figure}}% + \ifstrequal{#2}{W}% + {% [W]: +% \end{macrocode} +% [W]: +% \changes{v2.01}{2019/09/16}{Added \env{keyfloats} [W].} +% \begin{macrocode} + \endminipage% + \endwrapfloat% + }% + {% + \ifstrequal{#2}{M}% + {% [M]: +% \end{macrocode} +% [M]: +% \changes{v2.01}{2019/09/16}{Added \env{keyfloats} [M].} +% \begin{macrocode} + \endKFLT@marginfloat% + }% + {% figure +% \end{macrocode} +% A figure: +% \begin{macrocode} + \IfBooleanTF{#1}% starred figure? + {\end{figure*}}{\end{figure}}% + }% + }% }% not [H], etc. % \end{macrocode} % Unnest the environment: @@ -4160,6 +4258,18 @@ Keywords={LaTeX, floats, key/val, subcaption, rows}% % \end{macro} +% \DescribeBoolean{KFLT@subcaptionistop} Saves the value of \cs{caption@position}, +% which may become unreliable if using Komascript and +% \begin{sourceverb} +% \captionsetup[table]{position=above} +% \end{sourceverb} +% +% \begin{macrocode} +\newbool{KFLT@subcaptionistop} +% \end{macrocode} + + + % \begin{macro}{\KFLT@subfloats} \marg{starred?} \marg{loc} \marg{cols} \marg{\keyvalsarg} % % \changes{v0.13}{2017/01/16}{Fix: Subfloat type selection.} @@ -4188,21 +4298,51 @@ Keywords={LaTeX, floats, key/val, subcaption, rows}% {\setlength{\KFLT@rowboxwidth}{.9\linewidth/\real{#3}}}% % \end{macrocode} % If [H], or in a \env{keywrap}, create an inline minipage: +% \changes{v2.01}{2019/09/11}{Fix: Font and color.} +% \changes{v2.01}{2019/09/14}{Improved vertical space.} % \begin{macrocode} \ifboolexpr{% test {\ifstrequal{#2}{H}} or bool {KFLT@keywrap} }% {% - \bigbreak\noindent\begin{minipage}{\linewidth}% + \vskip\intextsep\noindent\begin{minipage}{\linewidth}% + \normalcolor\reset@font\normalsize% }% % \end{macrocode} -% Isn't [H], so create a float, possibly starred: +% Not [H]: % \begin{macrocode} {% - \IfBooleanTF{#1}% - {\begin{\KFLT@subgrptype*}[#2]}% - {\begin{\KFLT@subgrptype}[#2]}% + \ifstrequal{#2}{W}% + {% [W] +% \end{macrocode} +% [W]: +% \changes{v2.01}{2019/09/16}{Added \env{keysubfloats} [W].} +% \begin{macrocode} + \wrapfloat{\KFLT@subgrptype}{O}{.5\linewidth}% + \setlength{\KFLT@rowboxwidth}{.5\KFLT@rowboxwidth}% + \minipage{\linewidth}% + \normalcolor\reset@font\normalsize% + }% + {% not [H]: + \ifstrequal{#2}{M}% + {% [M]: +% \end{macrocode} +% [M]: +% \changes{v2.01}{2019/09/16}{Added \env{keysubfloats} [M].} +% \begin{macrocode} + \KFLT@marginfloat{\KFLT@subgrptype}% + \setlength{\KFLT@rowboxwidth}{.9\marginparwidth/\real{#3}}% + }% [M] + {% subfloat +% \end{macrocode} +% A subfloat: +% \begin{macrocode} + \IfBooleanTF{#1}% + {\begin{\KFLT@subgrptype*}[#2]}% + {\begin{\KFLT@subgrptype}[#2]}% + }% + }% not [H] }% % \end{macrocode} % Set the caption type: @@ -4220,8 +4360,10 @@ Keywords={LaTeX, floats, key/val, subcaption, rows}% \center\unskip% % \end{macrocode} % Place the caption above the contents depending on \pkg{caption} \optn{position} option: +% \changes{v2.01}{2019/09/11}{Fix: Positions with \brand{Komascript}.} % \begin{macrocode} - \caption@iftop{\KFLT@caption{subgrp}}{}% + \caption@iftop{\booltrue{KFLT@subcaptionistop}}{\boolfalse{KFLT@subcaptionistop}}% + \ifbool{KFLT@subcaptionistop}{\KFLT@caption{subgrp}}{}% % \end{macrocode} % Not yet started a row of subfloats. % The use of \cs{defcounter} makes these changes local. @@ -4260,20 +4402,41 @@ Keywords={LaTeX, floats, key/val, subcaption, rows}% \KFLT@addartisttext{subgrp}% % \end{macrocode} % Place the caption below the contents depending on \pkg{caption} \optn{position} option: +% \changes{v2.01}{2019/09/11}{Fix: Positions with \brand{Komascript}.} % \begin{macrocode} - \caption@iftop{}{\KFLT@caption{subgrp}}% + \ifbool{KFLT@subcaptionistop}{}{\KFLT@caption{subgrp}}% % \end{macrocode} % End the float or minipage: +% \changes{v2.01}{2019/09/14}{Improved vertical space.} % \begin{macrocode} \ifboolexpr{% test {\ifstrequal{#2}{H}} or bool{KFLT@keywrap} }% - {\end{minipage}\bigbreak}% was [H] + {\end{minipage}\vskip\intextsep}% was [H] {% not [H]: - \IfBooleanTF{#1}% starred? - {\end{\KFLT@subgrptype*}}% - {\end{\KFLT@subgrptype}}% + \ifstrequal{#2}{W}% + {% [W] +% \end{macrocode} +% \changes{v2.01}{2019/09/16}{Added \env{keysubfloats} [W].} +% \begin{macrocode} + \endminipage% + \endwrapfloat% + }% + {% not [W]: + \ifstrequal{#2}{M}% + {% [M]: +% \end{macrocode} +% \changes{v2.01}{2019/09/16}{Added \env{keysubfloats} [M].} +% \begin{macrocode} + \endKFLT@marginfloat% + }% [M] + {% subfloat + \IfBooleanTF{#1}% starred? + {\end{\KFLT@subgrptype*}}% + {\end{\KFLT@subgrptype}}% + }% + }% not [W] }% not [H] % \end{macrocode} % Unnest the environment: @@ -4380,6 +4543,7 @@ Keywords={LaTeX, floats, key/val, subcaption, rows}% % \subsection{Margin floats} % % \begin{environment}{KFLT@marginfloat} \oarg{offset} \marg{type} +% \changes{v2.01}{2019/09/11}{Fix: Font and color.} % \begin{macrocode} \newsavebox{\KFLT@marginfloatbox} @@ -4392,6 +4556,7 @@ Keywords={LaTeX, floats, key/val, subcaption, rows}% \captionsetup{type=#2}% \hbox{}\vspace*{#1}% \noindent% + \normalcolor\reset@font\normalsize% }% start {% end \end{minipage}% @@ -4454,10 +4619,12 @@ Keywords={LaTeX, floats, key/val, subcaption, rows}% % % \begin{environment}{keywrap} \marg{width} \marg{keyfloat} % \changes{v0.15}{2017/05/11}{Added.} +% \changes{v2.01}{2019/09/11}{Fix: Font and color.} +% \changes{v2.01}{2019/09/16}{Fix: \cs{noindent}.} % \begin{macrocode} -\DeclareDocumentEnvironment{keywrap}{m +m} +\DeclareDocumentEnvironment{keywrap}{m +m}% {% - \par% + \par\noindent% \setlength{\KFLT@keywrapwidth}{\linewidth}% \addtolength{\KFLT@keywrapwidth}{-#1}% \addtolength{\KFLT@keywrapwidth}{-2em}% @@ -4473,6 +4640,7 @@ Keywords={LaTeX, floats, key/val, subcaption, rows}% \hfill% \begin{minipage}[t]{#1}% \booltrue{KFLT@keywrap}% + \normalcolor\reset@font\normalsize% #2% \par% \unskip\vspace{\smallskipamount}% diff --git a/macros/latex/contrib/keyfloat/keyfloat.pdf b/macros/latex/contrib/keyfloat/keyfloat.pdf index 4319e0db59..d0ec4a58b3 100644 Binary files a/macros/latex/contrib/keyfloat/keyfloat.pdf and b/macros/latex/contrib/keyfloat/keyfloat.pdf differ diff --git a/macros/latex/contrib/lwarp/README.txt b/macros/latex/contrib/lwarp/README.txt index f688b4b655..a38ce84fc4 100644 --- a/macros/latex/contrib/lwarp/README.txt +++ b/macros/latex/contrib/lwarp/README.txt @@ -1,5 +1,5 @@ -LaTeX lwarp package v0.74 README.txt +LaTeX lwarp package v0.75 README.txt Files included are: diff --git a/macros/latex/contrib/lwarp/lwarp.dtx b/macros/latex/contrib/lwarp/lwarp.dtx index cb3c21b5ac..7bedf7e6dd 100644 --- a/macros/latex/contrib/lwarp/lwarp.dtx +++ b/macros/latex/contrib/lwarp/lwarp.dtx @@ -16,7 +16,7 @@ % \iffalse %\NeedsTeXFormat{LaTeX2e}[1999/12/01] %\ProvidesPackage{lwarp} -% [2019/09/02 v0.74 Allows LaTeX to directly produce HTML5 output.] +% [2019/09/23 v0.75 Allows LaTeX to directly produce HTML5 output.] % %<*driver> \documentclass{ltxdoc} @@ -2679,7 +2679,7 @@ This boolean may be tested by the user for later use. %<*package> % \fi % -% \CheckSum{33339} +% \CheckSum{33352} % % \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 @@ -2796,6 +2796,7 @@ This boolean may be tested by the user for later use. % \changes{v0.72}{2019/06/08}{\ 2019/06/08} % \changes{v0.73}{2019/07/11}{\ 2019/07/11} % \changes{v0.74}{2019/09/02}{\ 2019/09/02} +% \changes{v0.75}{2019/09/23}{\ 2019/09/23} @@ -3016,6 +3017,14 @@ This boolean may be tested by the user for later use. % % \begin{description} % \needspace{2\baselineskip} +% \item[v0.75:] \pkg{keyfloat}, \pkg{wrapfig} +% \begin{itemize} +% \item \cs{minipage}: Fix for \cs{linewidth}. +% \item \pkg{keyfloat}: Improved color control. +% \margintag{packages} +% \item \pkg{wrapfig}: Fix for \cs{linewidth}. +% \end{itemize} +% \needspace{2\baselineskip} % \item[v0.74:] Docs, \SVG\ math, \prog{lwarpmk}, \HTML\ \attribute{alt} and \attribute{title} text, \pkg{lyluatex} % \begin{itemize} % \item Added to the tutorial the section \nameref{sec:whatnext}. @@ -13162,6 +13171,9 @@ This boolean may be tested by the user for later use. \newlength{\LWR@userspaperheight} \setlength{\LWR@userspaperheight}{\paperheight} + +\newlength{\LWR@usersmarginparwidth} +\setlength{\LWR@usersmarginparwidth}{\marginparwidth} % \end{macrocode} % % For \pkg{lwarp}, use a very large page and margins @@ -15292,6 +15304,7 @@ This boolean may be tested by the user for later use. % \changes{v0.73}{2019/06/21}{\filenm{lwarp.css}: Added \cs{book} for \pkg{memoir}.} % \changes{v0.73}{2019/06/30}{\filenm{lwarp.css}: Improved pkg{tocdata} formatting.} % \changes{v0.74}{2019/08/04}{\filenm{lwarp.css}: Added \pkg{lyluatex}.} +% \changes{v0.75}{2019/09/22}{\filenm{lwarp.css}: Improved marginblock.} % % ^^A *lwarp.css % @@ -15729,7 +15742,7 @@ div.marginblock, div.marginparblock { div.marginblock div.minipage, div.marginparblock div.minipage { - display: block ; + display: inline-block ; margin: 0pt auto 0pt auto ; } @@ -17859,7 +17872,7 @@ src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX- -- Copyright 2016-2019 Brian Dunn -printversion = "v0.74" +printversion = "v0.75" requiredconfversion = "2" -- also at *lwarpmk.conf function printhelp () @@ -34820,7 +34833,7 @@ autopage-\theLWR@currentautosec% % The following used to be an actual \LaTeX\ minipage. % \changes{v0.45}{2017/12/01}{Fix: Improper \cs{prevdepth}.} % \begin{macrocode} -\begingroup +\begingroup% % \end{macrocode} % Compute width, adjusted for frames: % \begin{macrocode} @@ -34912,8 +34925,13 @@ autopage-\theLWR@currentautosec% % These do not affect the actual size of the \PDF\ output, % but are used by any reference to \cs{linewidth}, etc. % inside the virtual minipage being created here. +% \cs{LWR@minipagewidth} was the original then padded by 3em, +% which is restored here. This is done instead of settings back to \#4, +% in case \#4 was \cs{linewidth}, which was changed to 6in above. +% \changes{v0.75}{2019/09/17}{Fix: \cs{linewidth}.} % \begin{macrocode} -\setlength{\linewidth}{#4}% the original width +\setlength{\linewidth}{\LWR@minipagewidth}% the padded width +\addtolength{\linewidth}{-3em}% the original width \setlength{\textwidth}{6in}% \setlength{\textheight}{9in}% % \end{macrocode} @@ -35644,6 +35662,8 @@ color:\LWR@origpound\LWR@tempcolor% % \end{macro} + + % \begin{macrocode} \newcommand{\LWR@null@rmfamily}{} \newcommand{\LWR@null@sffamily}{} @@ -41254,7 +41274,7 @@ s% % \codehtml % % \begin{macrocode} -\LWR@ProvidesPackagePass{caption}[2018/10/05] +\LWR@ProvidesPackagePass{caption}[2019/09/01] % \end{macrocode} % \begin{macrocode} @@ -51638,13 +51658,13 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak} % % \codehtml % \begin{macrocode} -\LWR@ProvidesPackagePass{keyfloat}[2019/03/21] +\LWR@ProvidesPackagePass{keyfloat}[2019/09/23] -\@ifpackagelater{keyfloat}{2019/03/21}{}{ +\@ifpackagelater{keyfloat}{2019/09/23}{}{ \PackageError{lwarp-keyfloat} {% The keyfloat package is out of date.\MessageBreak - Update to keyfloat v2.00 2019/03/21 or later% + Update to keyfloat v2.01 2019/09/23 or later% } {% Please update the keyfloat package. It's worth it!% @@ -51657,46 +51677,55 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak} \AtBeginDocument{ % \end{macrocode} % +% \changes{v0.75}{2019/09/12}{\pkg{keyfloat}: Fix: \cs{normalcolor}.} % \begin{macrocode} \providecommand*{\KFLT@LWR@hook@boxouter}{} \renewcommand*{\KFLT@LWR@hook@boxouter}{% - \ifbool{KFLT@keywrap}{}{% + \ifbool{KFLT@keywrap}{% + }{% \ifnumequal{\value{KFLT@keyfloatdepth}}{0}{% \setlength{\linewidth}{6in}% \setlength{\textwidth}{6in}% \setlength{\textheight}{9in}% }{}% }% + \normalcolor% } - -\let\KFLT@LWR@hook@boxouter@minipage\relax -\let\endKFLT@LWR@hook@boxouter@minipage\relax -\newenvironment*{KFLT@LWR@hook@boxouter@minipage}[2][]{}{} - +% \end{macrocode} +% +% \changes{v0.75}{2019/09/12}{\pkg{keyfloat}: Fix: \cs{normalcolor}.} +% \begin{macrocode} \providecommand*{\KFLT@LWR@hook@keysubfloats}{} \renewcommand*{\KFLT@LWR@hook@keysubfloats}{% - \ifbool{KFLT@keywrap}{}{% + \ifbool{KFLT@keywrap}{% + }{% \ifnumequal{\value{KFLT@keyfloatdepth}}{0}{% \setlength{\linewidth}{6in}% \setlength{\textwidth}{6in}% \setlength{\textheight}{9in}% }{}% }% + \normalcolor% } \let\KFLT@LWR@hook@keyfloatsminipage\relax \let\endKFLT@LWR@hook@keyfloatsminipage\relax \newenvironment*{KFLT@LWR@hook@keyfloatsminipage}[1]{}{} - +% \end{macrocode} +% +% \changes{v0.75}{2019/09/12}{\pkg{keyfloat}: Fix: \cs{normalcolor}.} +% \begin{macrocode} \providecommand*{\KFLT@LWR@hook@keyfloats}{} \renewcommand*{\KFLT@LWR@hook@keyfloats}{% - \ifbool{KFLT@keywrap}{}{% + \ifbool{KFLT@keywrap}{% + }{% \ifnumequal{\value{KFLT@keyfloatdepth}}{0}{% \setlength{\linewidth}{6in}% \setlength{\textwidth}{6in}% \setlength{\textheight}{9in}% }{}% }% + \normalcolor% } \renewcommand*{\KFLT@maybeendfloatrow}{% @@ -51788,14 +51817,14 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak} \LWR@traceinfo{KFLT@boxinner}% \LWR@stoppars% \minipagefullwidth% - \ifboolexpr{bool{KFLT@ft} or bool{KFLT@f}}{ + \ifboolexpr{bool{KFLT@ft} or bool{KFLT@f}}{% \fminipage{\KFLT@imagewidth}% }{% \minipage{\KFLT@imagewidth}% }% } {% - \ifboolexpr{bool{KFLT@ft} or bool{KFLT@f}}{ + \ifboolexpr{bool{KFLT@ft} or bool{KFLT@f}}{% \endfminipage% }{% \endminipage% @@ -51830,7 +51859,7 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak} {% text to add {% local % \end{macrocode} -% Add some space, then create a full-width minipage to contain the text: +% Add some space, then create a \element{div} to contain the text: % \begin{macrocode} \addvspace{\smallskipamount}% \LWR@KFLT@settextalign{#1}% @@ -51874,7 +51903,7 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak} \renewcommand*{\KFLT@@addartisttext}[3]{% % \end{macrocode} - % Add space and create the name inside a full-width minipage: + % Add space and create the name inside a \element{div}: % \begin{macrocode} % \addvspace{\medskipamount}% % \begin{minipage}{\linewidth}% @@ -51903,19 +51932,26 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak} % \end{macrocode} +% \begin{noindenvironment}{KFLT@marginfloat} \oarg{offset} \marg{type} % \changes{v0.42}{2017/10/26}{\pkg{keyfloat}: If \progcode{FormatWP} add explicit \HTML\ style.} % \begin{macrocode} \DeclareDocumentEnvironment{KFLT@marginfloat}{O{-1.2ex} m} {% - \LWR@BlockClassWP{float:right; width:2in; margin:10pt}{}{marginblock}% + \uselengthunit{PT}% + \LWR@BlockClassWP% + {float:right; width:2in; margin:10pt}% + {}% + {marginblock}% \captionsetup{type=#2}% - \minipage{2in}% + \minipage{\LWR@usersmarginparwidth}% + \setlength{\marginparwidth}{.95\LWR@usersmarginparwidth}% } {% \endminipage% \endLWR@BlockClassWP% } % \end{macrocode} +% \end{noindenvironment} % \begin{macrocode} @@ -51929,21 +51965,20 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak} % \end{macrocode} +% \begin{noindenvironment}{keywrap} \marg{width} \marg{keyfloat} % ^^A % Modified to vertically align minipage for \HTML\ output: % \begin{macrocode} \DeclareDocumentEnvironment{keywrap}{m +m} {% \LWR@ensuredoingapar% - \setlength{\linewidth}{6in}% + \setlength{\linewidth}{6in}% in case #1 has \linewidth \setlength{\LWR@templengthone}{#1}% \begin{LWR@BlockClassWP}% {% float:right; width:\LWR@printlength{\LWR@templengthone}; % extra space margin:10pt% }% - {% - width:\LWR@printlength{\LWR@templengthone}% - }% + {}% {marginblock}% \setlength{\linewidth}{.95\LWR@templengthone}% \booltrue{KFLT@keywrap}% @@ -51952,6 +51987,7 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak} } {} % \end{macrocode} +% \end{noindenvironment} % % \begin{macrocode} }% AtBeginDocument @@ -67981,7 +68017,7 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf', % % \changes{v0.42}{2017/10/26}{\pkg{wrapfig}: If \progcode{FormatWP} % add explicit \HTML\ style.} -% +% \changes{v0.75}{2019/09/22}{\pkg{wrapfig}: Fix for width.} % \begin{macrocode} \newcommand*{\LWR@wrapposition}{} @@ -67999,9 +68035,13 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf', margin:10pt% }% {% - width:\LWR@printlength{\LWR@templengthone}; \LWR@wrapposition% + \LWR@wrapposition% }% {marginblock}% +% \end{macrocode} +% \changes{v0.75}{2019/09/17}{\pkg{wrapfig}: Fix for \cs{linewidth}.} +% \begin{macrocode} +\setlength{\linewidth}{\LWR@templengthone}% } @@ -68253,6 +68293,18 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf', % \end{macrocode} % % +% \subsection{\cs{normalcolor}} +% +% \begin{macro}{\normalcolor} +% \changes{v0.75}{2019/09/12}{Added for \HTML.} +% \begin{macrocode} +\DeclareRobustCommand{\LWR@HTML@normalcolor}{\color{black}}% + +\LWR@formatted{normalcolor} +% \end{macrocode} +% \end{macro} +% +% % \subsection{\HTML\ color style} % % \begin{noindmacro}{\LWR@findcurrenttextcolor} diff --git a/macros/latex/contrib/lwarp/lwarp.pdf b/macros/latex/contrib/lwarp/lwarp.pdf index 74a1de6861..5b3f9d64b1 100644 Binary files a/macros/latex/contrib/lwarp/lwarp.pdf and b/macros/latex/contrib/lwarp/lwarp.pdf differ diff --git a/macros/latex/contrib/lwarp/lwarpmk.lua b/macros/latex/contrib/lwarp/lwarpmk.lua index 659a017446..329fa4f3f1 100755 --- a/macros/latex/contrib/lwarp/lwarpmk.lua +++ b/macros/latex/contrib/lwarp/lwarpmk.lua @@ -2,7 +2,7 @@ -- Copyright 2016-2019 Brian Dunn -printversion = "v0.74" +printversion = "v0.75" requiredconfversion = "2" -- also at *lwarpmk.conf function printhelp () diff --git a/macros/latex/contrib/perltex/README b/macros/latex/contrib/perltex/README index cf6fcdcb5e..4490549068 100644 --- a/macros/latex/contrib/perltex/README +++ b/macros/latex/contrib/perltex/README @@ -42,7 +42,7 @@ perltex.gls", then "latex perltex.dtx" again, then "dvips perltex.dvi License ------- -Copyright (C) 2010 Scott Pakin +Copyright (C) 2003-2019 Scott Pakin These files may be distributed and/or modified under the conditions of the LaTeX Project Public License, either version 1.3c of this license or diff --git a/macros/latex/contrib/perltex/perltex.1 b/macros/latex/contrib/perltex/perltex.1 index 28c0508e68..71ebe2ae45 100644 --- a/macros/latex/contrib/perltex/perltex.1 +++ b/macros/latex/contrib/perltex/perltex.1 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 2.1801 (Pod::Simple 3.05) +.\" Automatically generated by Pod::Man 4.10 (Pod::Simple 3.35) .\" .\" Standard preamble: .\" ======================================================================== @@ -38,27 +38,36 @@ . ds PI \(*p . ds L" `` . ds R" '' +. ds C` +. ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" -.\" If the F register is turned on, we'll generate index entries on stderr for +.\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. -.ie \nF \{\ -. de IX -. tm Index:\\$1\t\\n%\t"\\$2" +.\" +.\" Avoid warning from groff about undefined register 'F'. +.de IX .. -. nr % 0 -. rr F -.\} -.el \{\ -. de IX +.nr rF 0 +.if \n(.g .if rF .nr rF 1 +.if (\n(rF:(\n(.g==0)) \{\ +. if \nF \{\ +. de IX +. tm Index:\\$1\t\\n%\t"\\$2" .. +. if !\nF==2 \{\ +. nr % 0 +. nr F 2 +. \} +. \} .\} +.rr rF .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. @@ -124,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "PERLTEX 1" -.TH PERLTEX 1 "2010-07-10" "v2.1" " " +.TH PERLTEX 1 "2019-09-15" "v2.2" " " .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -240,7 +249,7 @@ permissions (\f(CW\*(C`:browse\*(C'\fR) plus the ability to open files and invok Specify the filename of the LaTeX compiler. The LaTeX compiler defaults to ``\f(CW\*(C`latex\*(C'\fR''. The \f(CW\*(C`PERLTEX\*(C'\fR environment variable overrides this default, and the \fB\-\-latex\fR command-line option (see -\&\*(L"\s-1OPTIONS\s0\*(R") overrides that. +\&\*(L"\s-1OPTIONS\*(R"\s0) overrides that. .SH "FILES" .IX Header "FILES" While compiling \fIjobname.tex\fR, \fBperltex\fR makes use of the following @@ -274,7 +283,7 @@ file generated by \fInoperltex.sty\fR for each PerlTeX macro invocation \&\fBperltex\fR's sandbox defaults to what Opcode calls ``\f(CW\*(C`:browse\*(C'\fR''. .SH "SEE ALSO" .IX Header "SEE ALSO" -\&\fIlatex\fR\|(1), \fIpdflatex\fR\|(1), \fIperl\fR\|(1), \fISafe\fR\|(3pm), \fIOpcode\fR\|(3pm) +\&\fBlatex\fR\|(1), \fBpdflatex\fR\|(1), \fBperl\fR\|(1), \fBSafe\fR\|(3pm), \fBOpcode\fR\|(3pm) .SH "AUTHOR" .IX Header "AUTHOR" Scott Pakin, \fIscott+pt@pakin.org\fR diff --git a/macros/latex/contrib/perltex/perltex.dtx b/macros/latex/contrib/perltex/perltex.dtx index 3f61570dda..ec04181817 100644 --- a/macros/latex/contrib/perltex/perltex.dtx +++ b/macros/latex/contrib/perltex/perltex.dtx @@ -1,7 +1,7 @@ % \iffalse meta-comment % -% Copyright (C) 2010 Scott Pakin -% --------------------------------------------------- +% Copyright (C) 2003-2019 Scott Pakin +% -------------------------------------------------------- % % This file may be distributed and/or modified under the conditions of % the LaTeX Project Public License, either version 1.3c of this license @@ -22,7 +22,7 @@ %\NeedsTeXFormat{LaTeX2e}[1999/12/01] %\ProvidesPackage{perltex} %<*package> - [2010/07/10 v2.1 LaTeX macros for use with PerlTeX] + [2019/09/14 v2.2 LaTeX macros for use with PerlTeX] % % %<*driver> @@ -41,17 +41,15 @@ \usepackage{flafter} \usepackage{textcomp} \usepackage{graphicx} -\IfFileExists{hyperref.sty}{% - \usepackage{hyperref} - \hypersetup{% - hyperindex=false, - bookmarksopen, - pdftitle={PerlTeX: Defining LaTeX macros in terms of Perl code}, - pdfauthor={Scott Pakin, scott+pt@pakin.org}, - pdfsubject={Using Perl to define LaTeX macros}, - pdfkeywords={programming, LaTeX, macros, Perl} - } -}{} +\usepackage{hyperref} +\hypersetup{% + hyperindex=false, + bookmarksopen, + pdftitle={PerlTeX: Defining LaTeX macros in terms of Perl code}, + pdfauthor={Scott Pakin, scott+pt@pakin.org}, + pdfsubject={Using Perl to define LaTeX macros}, + pdfkeywords={programming, LaTeX, macros, Perl} +} \EnableCrossrefs \CodelineIndex \RecordChanges @@ -62,7 +60,7 @@ % % \fi % -% \CheckSum{602} +% \CheckSum{605} % % \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 @@ -921,7 +919,7 @@ % \section{License agreement} % \label{sec:license} % -% Copyright \textcopyright{} 2010 Scott Pakin \texttt{} +% Copyright \textcopyright{} 2003--2019 Scott Pakin \texttt{} % % \providecommand{\url}[1]{\texttt{##1}} % @@ -943,9 +941,11 @@ % final draft; to Andrei Alexandrescu for providing a few bug fixes; to % Nick Andrewes for identifying and helping diagnose a problem running % \PerlTeX\ with \XeTeX\ and to Jonathan Kew for suggesting a -% workaround; and to Linus K\"allberg for reporting and helping diagnose -% some problems with running \PerlTeX\ on Windows. Also, thanks to the -% many people who have sent me fan mail or submitted bug reports, +% workaround; to Linus K\"allberg for reporting and helping diagnose +% some problems with running \PerlTeX\ on Windows; and to Ulrike Fischer +% for reporting and helping correct a bug encountered when using +% \noperlmac\ with newer versions of \LaTeX\@. Also, thanks to the many +% people who have sent me fan mail or submitted bug reports, % documentation corrections, or feature requests. (The % \texttt{\string\perldo} macro and the \texttt{--makesty} option were % particularly popular requests.) @@ -1049,8 +1049,10 @@ % option to suppress the ``must be compiled using perltex'' error % message} % \begin{macrocode} -\newif\ifplmac@required \plmac@requiredtrue -\DeclareOption{optional}{\plmac@requiredfalse} \ProcessOptions\relax +\newif\ifplmac@required +\plmac@requiredtrue +\DeclareOption{optional}{\plmac@requiredfalse} +\ProcessOptions\relax % \end{macrocode} % \end{macro} % \end{macro} @@ -1109,10 +1111,14 @@ % not defined, \perlmac{} gives an error message and---as we shall see % on page~\pageref{page:define-dummies}---defines dummy versions of % |\perl|[|re|]|newcommand| and |\perl|[|re|]|newenvironment|. +% \changes{v2.2}{2019/09/14}{Let-bind \cs{plmac@tag} to \cs{relax} if +% \cs{plmac@tag} is undefined. This corrects a problem when +% \noexpand\texttt{noperltex} is used with newer versions of +% \noexpand\LaTeX} % \begin{macrocode} \newif\ifperl \perltrue -\@ifundefined{plmac@tag}{\perlfalse}{} +\@ifundefined{plmac@tag}{\perlfalse\let\plmac@tag=\relax}{} \@ifundefined{plmac@tofile}{\perlfalse}{} \@ifundefined{plmac@fromfile}{\perlfalse}{} \@ifundefined{plmac@toflag}{\perlfalse}{} @@ -2145,7 +2151,7 @@ # # This is a generated file. # -# Copyright (C) 2010 Scott Pakin +# Copyright (C) 2003-2019 Scott Pakin # # This file may be distributed and/or modified under the conditions # of the LaTeX Project Public License, either version 1.3c of this diff --git a/macros/latex/contrib/perltex/perltex.ins b/macros/latex/contrib/perltex/perltex.ins index 6f5b1b2fa5..0d1ea5f286 100644 --- a/macros/latex/contrib/perltex/perltex.ins +++ b/macros/latex/contrib/perltex/perltex.ins @@ -1,5 +1,5 @@ %% -%% Copyright (C) 2010 Scott Pakin +%% Copyright (C) 2003--2019 Scott Pakin %% %% This file may be distributed and/or modified under the conditions of %% the LaTeX Project Public License, either version 1.3c of this license @@ -21,7 +21,7 @@ This is a generated file. -Copyright (C) 2010 Scott Pakin +Copyright (C) 2003-2019 Scott Pakin This file may be distributed and/or modified under the conditions of the LaTeX Project Public License, either version 1.3c of this license diff --git a/macros/latex/contrib/perltex/perltex.pdf b/macros/latex/contrib/perltex/perltex.pdf index 7b66c014ab..1c4ae95046 100644 Binary files a/macros/latex/contrib/perltex/perltex.pdf and b/macros/latex/contrib/perltex/perltex.pdf differ diff --git a/macros/luatex/latex/plantuml/CHANGELOG.md b/macros/luatex/latex/plantuml/CHANGELOG.md index 5c84bfc5b2..0019d588d0 100644 --- a/macros/luatex/latex/plantuml/CHANGELOG.md +++ b/macros/luatex/latex/plantuml/CHANGELOG.md @@ -1,14 +1,22 @@ # Changelog + All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](http://keepachangelog.com/) and this project adheres to [Semantic Versioning](http://semver.org/). +## [0.3.0] - 2019-09-23 + +## Added + +- Added support for UTF-8 filenames. +- Added `example-component-diagram.tex`. Refs [#2](https://github.com/latextemplates/plantuml/issues/9). + ## [0.2.3] - 2018-06-04 ## Added -- Add `release.sh` to CTAN upload- +- Add `release.sh` to CTAN upload ## Removed @@ -43,7 +51,8 @@ and this project adheres to [Semantic Versioning](http://semver.org/). Initial public release -[unreleased]: https://github.com/latextemplates/plantuml/compare/0.2.3...HEAD +[unreleased]: https://github.com/latextemplates/plantuml/compare/0.3.0...HEAD +[0.3.0]: https://github.com/latextemplates/plantuml/compare/0.2.3...0.3.0 [0.2.3]: https://github.com/latextemplates/plantuml/compare/0.2.2...0.2.3 [0.2.2]: https://github.com/latextemplates/plantuml/compare/0.2.1...0.2.2 [0.2.1]: https://github.com/latextemplates/plantuml/compare/0.2.0...0.2.1 diff --git a/macros/luatex/latex/plantuml/README.md b/macros/luatex/latex/plantuml/README.md index 531ee379f2..eb0fd1ce84 100644 --- a/macros/luatex/latex/plantuml/README.md +++ b/macros/luatex/latex/plantuml/README.md @@ -1,6 +1,6 @@ # plantuml -Version 0.2.3 +Version 0.3.0 > A LuaLaTeX package for PlantUML in LaTeX diff --git a/macros/luatex/latex/plantuml/example-component-diagram.tex b/macros/luatex/latex/plantuml/example-component-diagram.tex new file mode 100644 index 0000000000..785d2e7a56 --- /dev/null +++ b/macros/luatex/latex/plantuml/example-component-diagram.tex @@ -0,0 +1,32 @@ +\documentclass{scrartcl} +\usepackage{graphics} + +% Enables inclusion of SVG graphics - 1:1 approach +% This is NOT the approach of https://ctan.org/pkg/svg-inkscape +% which allows text in SVG to be typeset using LaTeX. +% We just include the SVG as is. +\usepackage{epstopdf} +\epstopdfDeclareGraphicsRule{.svg}{pdf}{.pdf}{% + inkscape -z --file=#1 --export-pdf=\OutputFile +} + +\usepackage[output=svg]{plantuml} + +\begin{document} +\begin{plantuml} +@startuml +() "Interface 2" as I2 +() "Interface 3" as I3 + +[component 1] as c1 +[component 2] as c2 +[component 3] as c3 + +c1 -- I2 +c1 -- I3 + +I2 )-- c2 +I3 )-- c3 +@enduml +\end{plantuml} +\end{document} diff --git a/macros/luatex/latex/plantuml/plantuml.lua b/macros/luatex/latex/plantuml/plantuml.lua index d94e93b5b4..2261c86332 100644 --- a/macros/luatex/latex/plantuml/plantuml.lua +++ b/macros/luatex/latex/plantuml/plantuml.lua @@ -22,7 +22,7 @@ function convertPlantUmlToTikz(jobname, mode) end texio.write("Executing PlantUML... ") - local cmd = "java -jar " .. plantUmlJar .. " -t" + local cmd = "java -jar " .. plantUmlJar .. " -charset UTF-8 -t" if (mode == "latex") then cmd = cmd .. "latex:nopreamble" else diff --git a/macros/luatex/latex/plantuml/plantuml.pdf b/macros/luatex/latex/plantuml/plantuml.pdf index 7c9d89e4c3..b753d7aa01 100644 Binary files a/macros/luatex/latex/plantuml/plantuml.pdf and b/macros/luatex/latex/plantuml/plantuml.pdf differ diff --git a/macros/luatex/latex/plantuml/plantuml.sty b/macros/luatex/latex/plantuml/plantuml.sty index d6777ed44e..d2958792bc 100644 --- a/macros/luatex/latex/plantuml/plantuml.sty +++ b/macros/luatex/latex/plantuml/plantuml.sty @@ -24,6 +24,11 @@ \RequirePackage{adjustbox} +% \jobname has a probrem of encodeing +% if your latex filename include multibyte string +% you need to redefine PlantUMLJobname to fix +\def\PlantUMLJobname{\jobname} + \ExplSyntaxOn \keys_define:nn { plantuml } { output .choices:nn = { @@ -68,12 +73,12 @@ } \fi \NewDocumentEnvironment{plantuml}{}{% - \VerbatimOut{\jobname-plantuml.txt}} + \VerbatimOut{\PlantUMLJobname-plantuml.txt}} {% \endVerbatimOut \ifluatex \directlua{ - local jobname=\luastring{\jobname} + local jobname=\luastring{\PlantUMLJobname} local plantUmlMode=\luastring{\PlantUmlMode} require("plantuml.lua") convertPlantUmlToTikz(jobname, plantUmlMode) @@ -85,10 +90,10 @@ \fi \ifthenelse{\equal{\PlantUmlMode}{latex}}{ \begin{adjustbox}{max width=\linewidth} - \input{\jobname-plantuml.latex} + \input{\PlantUMLJobname-plantuml.latex} \end{adjustbox} }{ - \includegraphics[width=\maxwidth{\textwidth}]{\jobname-plantuml.\PlantUmlMode} + \includegraphics[width=\maxwidth{\textwidth}]{\PlantUMLJobname-plantuml.\PlantUmlMode} } } \or -- cgit v1.2.3