summaryrefslogtreecommitdiff
path: root/macros/latex/contrib
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib')
-rw-r--r--macros/latex/contrib/bjfuthesis/README.md2
-rw-r--r--macros/latex/contrib/bjfuthesis/bjfuthesis.cls2
-rw-r--r--macros/latex/contrib/bjfuthesis/demo/thesis.pdfbin4219839 -> 0 bytes
-rw-r--r--macros/latex/contrib/bjfuthesis/documentation/bjfuthesis.pdfbin136857 -> 145721 bytes
-rw-r--r--macros/latex/contrib/bjfuthesis/documentation/bjfuthesis.tex6
-rw-r--r--macros/latex/contrib/bjfuthesis/documentation/contents/acknowledge.tex2
-rw-r--r--macros/latex/contrib/bjfuthesis/documentation/contents/doc-abstract.tex (renamed from macros/latex/contrib/bjfuthesis/documentation/contents/abstract.tex)2
-rw-r--r--macros/latex/contrib/bjfuthesis/documentation/contents/doc-acknowledge.tex2
-rw-r--r--macros/latex/contrib/bjfuthesis/documentation/contents/doc-mainbody.tex83
-rw-r--r--macros/latex/contrib/bjfuthesis/documentation/contents/mainbody.tex102
-rw-r--r--macros/latex/contrib/bjfuthesis/example/bibliography.bib (renamed from macros/latex/contrib/bjfuthesis/demo/bibliography.bib)0
-rw-r--r--macros/latex/contrib/bjfuthesis/example/contents/abstract.tex (renamed from macros/latex/contrib/bjfuthesis/demo/contents/abstract.tex)0
-rw-r--r--macros/latex/contrib/bjfuthesis/example/contents/acknowledge.tex (renamed from macros/latex/contrib/bjfuthesis/demo/contents/acknowledge.tex)0
-rw-r--r--macros/latex/contrib/bjfuthesis/example/contents/mainbody.tex (renamed from macros/latex/contrib/bjfuthesis/demo/contents/mainbody.tex)0
-rw-r--r--macros/latex/contrib/bjfuthesis/example/cover.pdf (renamed from macros/latex/contrib/bjfuthesis/demo/cover.pdf)bin207622 -> 207622 bytes
-rw-r--r--macros/latex/contrib/bjfuthesis/example/figures/admin-movie.png (renamed from macros/latex/contrib/bjfuthesis/demo/figures/admin-movie.png)bin78535 -> 78535 bytes
-rw-r--r--macros/latex/contrib/bjfuthesis/example/figures/anonymous-category.png (renamed from macros/latex/contrib/bjfuthesis/demo/figures/anonymous-category.png)bin459450 -> 459450 bytes
-rw-r--r--macros/latex/contrib/bjfuthesis/example/figures/anonymous-details.png (renamed from macros/latex/contrib/bjfuthesis/demo/figures/anonymous-details.png)bin537913 -> 537913 bytes
-rw-r--r--macros/latex/contrib/bjfuthesis/example/figures/anonymous-index.png (renamed from macros/latex/contrib/bjfuthesis/demo/figures/anonymous-index.png)bin601638 -> 601638 bytes
-rw-r--r--macros/latex/contrib/bjfuthesis/example/figures/enhanced-recommendation.png (renamed from macros/latex/contrib/bjfuthesis/demo/figures/enhanced-recommendation.png)bin108191 -> 108191 bytes
-rw-r--r--macros/latex/contrib/bjfuthesis/example/figures/general-details.png (renamed from macros/latex/contrib/bjfuthesis/demo/figures/general-details.png)bin485746 -> 485746 bytes
-rw-r--r--macros/latex/contrib/bjfuthesis/example/figures/illustration-of-ripple-sets.png (renamed from macros/latex/contrib/bjfuthesis/demo/figures/illustration-of-ripple-sets.png)bin176707 -> 176707 bytes
-rw-r--r--macros/latex/contrib/bjfuthesis/example/figures/jwt.pdf (renamed from macros/latex/contrib/bjfuthesis/demo/figures/jwt.pdf)bin65241 -> 65241 bytes
-rw-r--r--macros/latex/contrib/bjfuthesis/example/figures/recommendation-procedure.pdf (renamed from macros/latex/contrib/bjfuthesis/demo/figures/recommendation-procedure.pdf)bin64728 -> 64728 bytes
-rw-r--r--macros/latex/contrib/bjfuthesis/example/figures/ripplenet-framework.png (renamed from macros/latex/contrib/bjfuthesis/demo/figures/ripplenet-framework.png)bin586912 -> 586912 bytes
-rw-r--r--macros/latex/contrib/bjfuthesis/example/figures/sign-up.png (renamed from macros/latex/contrib/bjfuthesis/demo/figures/sign-up.png)bin215155 -> 215155 bytes
-rw-r--r--macros/latex/contrib/bjfuthesis/example/figures/use-case.pdf (renamed from macros/latex/contrib/bjfuthesis/demo/figures/use-case.pdf)bin36761 -> 36761 bytes
-rw-r--r--macros/latex/contrib/bjfuthesis/example/thesis.pdfbin0 -> 3700470 bytes
-rw-r--r--macros/latex/contrib/bjfuthesis/example/thesis.tex (renamed from macros/latex/contrib/bjfuthesis/demo/thesis.tex)0
-rw-r--r--macros/latex/contrib/keyfloat/README.txt4
-rw-r--r--macros/latex/contrib/keyfloat/keyfloat.dtx245
-rw-r--r--macros/latex/contrib/keyfloat/keyfloat.pdfbin1036937 -> 1008908 bytes
-rw-r--r--macros/latex/contrib/lwarp/README.txt2
-rw-r--r--macros/latex/contrib/lwarp/lwarp.dtx118
-rw-r--r--macros/latex/contrib/lwarp/lwarp.pdfbin3202256 -> 3203770 bytes
-rwxr-xr-xmacros/latex/contrib/lwarp/lwarpmk.lua2
36 files changed, 400 insertions, 172 deletions
diff --git a/macros/latex/contrib/bjfuthesis/README.md b/macros/latex/contrib/bjfuthesis/README.md
index 08f84f196b..0f6e8822f5 100644
--- a/macros/latex/contrib/bjfuthesis/README.md
+++ b/macros/latex/contrib/bjfuthesis/README.md
@@ -1,7 +1,7 @@
# Beijing Forestry University (BJFU) Thesis Template in LaTeX
Copyright (C) 2021 Liu Changxin
-Version 0.0.1 (2021-05-28)
+Version 0.1.0 (2021-05-29)
## License
Licensed under the GNU General Public License v3.0 (the "License"); you may not use this file except in compliance with the License.
diff --git a/macros/latex/contrib/bjfuthesis/bjfuthesis.cls b/macros/latex/contrib/bjfuthesis/bjfuthesis.cls
index aa28496212..cabf2f3ca8 100644
--- a/macros/latex/contrib/bjfuthesis/bjfuthesis.cls
+++ b/macros/latex/contrib/bjfuthesis/bjfuthesis.cls
@@ -21,7 +21,7 @@
\def\keywords@label@zh{关键词:}
\def\keywords@label@en{Keywords: }
\def\chartnote@label{注:}
-\ProvidesClass{bjfuthesis}[2021/05/27 LaTeX document style for BJFU thesis]
+\ProvidesClass{bjfuthesis}[2021/05/29 LaTeX document style for BJFU thesis]
\DeclareOption*{\PassOptionsToClass{\CurrentOption}{ctexbook}}
\ProcessOptions*
\LoadClass[a4paper,oneside,fontset=none]{ctexbook}
diff --git a/macros/latex/contrib/bjfuthesis/demo/thesis.pdf b/macros/latex/contrib/bjfuthesis/demo/thesis.pdf
deleted file mode 100644
index 44b245976e..0000000000
--- a/macros/latex/contrib/bjfuthesis/demo/thesis.pdf
+++ /dev/null
Binary files differ
diff --git a/macros/latex/contrib/bjfuthesis/documentation/bjfuthesis.pdf b/macros/latex/contrib/bjfuthesis/documentation/bjfuthesis.pdf
index fd39414e1f..dca53ae91c 100644
--- a/macros/latex/contrib/bjfuthesis/documentation/bjfuthesis.pdf
+++ b/macros/latex/contrib/bjfuthesis/documentation/bjfuthesis.pdf
Binary files differ
diff --git a/macros/latex/contrib/bjfuthesis/documentation/bjfuthesis.tex b/macros/latex/contrib/bjfuthesis/documentation/bjfuthesis.tex
index 1523a5d638..0f02ad826d 100644
--- a/macros/latex/contrib/bjfuthesis/documentation/bjfuthesis.tex
+++ b/macros/latex/contrib/bjfuthesis/documentation/bjfuthesis.tex
@@ -1,11 +1,11 @@
\documentclass{bjfuthesis}
\begin{document}
\frontmatter
- \input{contents/abstract}
+ \input{contents/doc-abstract}
\tableofcontents
\mainmatter
- \input{contents/mainbody}
+ \input{contents/doc-mainbody}
\backmatter
\chapter{参考文献}
- \input{contents/acknowledge}
+ \input{contents/doc-acknowledge}
\end{document}
diff --git a/macros/latex/contrib/bjfuthesis/documentation/contents/acknowledge.tex b/macros/latex/contrib/bjfuthesis/documentation/contents/acknowledge.tex
deleted file mode 100644
index ceadf4aa0d..0000000000
--- a/macros/latex/contrib/bjfuthesis/documentation/contents/acknowledge.tex
+++ /dev/null
@@ -1,2 +0,0 @@
-\chapter{致谢}
-感谢社区开发者的贡献。
diff --git a/macros/latex/contrib/bjfuthesis/documentation/contents/abstract.tex b/macros/latex/contrib/bjfuthesis/documentation/contents/doc-abstract.tex
index 457ae84467..ceba3447e7 100644
--- a/macros/latex/contrib/bjfuthesis/documentation/contents/abstract.tex
+++ b/macros/latex/contrib/bjfuthesis/documentation/contents/doc-abstract.tex
@@ -5,6 +5,6 @@
\keywordscn{LaTeX,毕业论文,北京林业大学}
\chapter*{Abstract}
\begin{abstract}
- The bjfuthesis class is a \LaTeX class intended for students in Beijing Forestry University to write their theses. The class is based on the ctexbook class. It modifies some of the layout and style definitions of these packages in order to provide a document layout that should be compatible with Beijing Forestry University Thesis Standard.
+ The bjfuthesis class is a \LaTeX\space class intended for students in Beijing Forestry University to write their theses. The class is based on the ctexbook class. It modifies some of the layout and style definitions of these packages in order to provide a document layout that should be compatible with Beijing Forestry University Thesis Standard.
\end{abstract}
\keywordsen{LaTeX, thesis, Beijing Forestry University}
diff --git a/macros/latex/contrib/bjfuthesis/documentation/contents/doc-acknowledge.tex b/macros/latex/contrib/bjfuthesis/documentation/contents/doc-acknowledge.tex
new file mode 100644
index 0000000000..d34215c371
--- /dev/null
+++ b/macros/latex/contrib/bjfuthesis/documentation/contents/doc-acknowledge.tex
@@ -0,0 +1,2 @@
+\chapter{致谢}
+感谢所有为本项目提供过帮助的人的贡献。
diff --git a/macros/latex/contrib/bjfuthesis/documentation/contents/doc-mainbody.tex b/macros/latex/contrib/bjfuthesis/documentation/contents/doc-mainbody.tex
new file mode 100644
index 0000000000..a92534d13a
--- /dev/null
+++ b/macros/latex/contrib/bjfuthesis/documentation/contents/doc-mainbody.tex
@@ -0,0 +1,83 @@
+\chapter{绪论}
+\section{研究背景}
+国内诸多高校都在GitHub上提供了其高校的论文模板,故本作者秉持开源共享的精神,将本\LaTeX 文档类开源于https://github.com/bjfu-projects/bjfu-thesis。
+\section{文档结构}
+第一章为绪论,简单介绍研究背景以及文档结构。
+
+第二章为英文使用说明,介绍本文档类的使用方法。
+
+第三章为中文使用说明,介绍本文档类的使用方法。
+\chapter{Usage Notes}
+The order of following usage notes is based on the structure of the thesis.
+\begin{enumerate}
+\item To include the cover of your thesis, put `cover.pdf' in the directory.
+\item You MUST add \verb|\frontmatter| before your abstract.
+\item Print title of Chinese abstract or English abstract: \verb|\chapter*{abstract title}|
+\item Print content of abstract: \verb|\begin{abstract}|abstract content\verb|\end{abstract}|
+\item Print Chinese keywords: \verb|\keywordscn{Chinese keywords}|
+\item Print English keywords: \verb|\keywordsen{English keywords}|
+\item Print table of contents: \verb|tableofcontents|
+\item You MUST add \verb|\mainmatter| before the main body of your thesis.
+\item The hierachy of the thesis:
+\begin{verbatim}
+ \chapter{chapter title}
+ \section{section title}
+ \subsection{subsection title}
+\end{verbatim}
+\item Use following structure:
+\begin{verbatim}
+\chapter{chapter 1 title}
+normal text
+\section{section 1.1 title}
+normal text
+\section{section 1.2 title}
+\subsection{subsection 1.2.1 title}
+normal text
+...
+\end{verbatim}
+\item Floats are set to be centered by default, with default allowed positions being current position in code, top, bottom and a separate page.
+\item Put images you want to insert in \verb|\figures|, and you DO NOT need to include 'figures' in your path
+\item Show two captions for a figure or a table:\\ \verb|\bicaption{Chinese caption}{English caption}|
+You MUST place figures in 'figure' environment, and table in 'table' environment, which MUST match,
+or \verb|\bicaption{Chinese caption}{English caption}| will not work as expected.
+\item Show a note for a figure or table: \verb|\chartnote{a note for a figure or a table}|
+\item You MUST add \verb|\backmatter| before your references and your acknowledgement.
+\item Print bibliography: \verb|\printbibliography|
+\end{enumerate}
+\chapter{使用说明}
+以下使用说明的顺序基于论文的结构
+\begin{enumerate}
+\item 要将你的论文封面插入论文,需将``cover.pdf"置于该目录中
+\item 你必须在摘要部分前加入\verb|\frontmatter|
+\item 显示中文或英文摘要标题:\verb|\chapter*{摘要标题}|
+\item 显示摘要内容:\verb|\begin{abstract}|摘要内容\verb|\end{abstract}|
+\item 显示中文关键词:\verb|\keywordscn{中文关键词}|
+\item 显示英文关键词:\verb|\keywordsen{英文关键词}|
+\item 显示目录:\verb|tableofcontents|
+\item 你必须在你的论文的主体部分前加入\verb|\mainmatter|
+\item 论文具有的层次划分:
+\begin{verbatim}
+ \chapter{一级标题}
+ \section{二级标题}
+ \subsection{三级标题}
+\end{verbatim}
+\item 使用以下层次结构:
+\begin{verbatim}
+ \chapter{一级标题 1}
+ 正文文字
+ \section{二级标题 1.1}
+ 正文文字
+ \section{二级标题 1.2}
+ \subsection{三级标题 1.2.1}
+ 正文文字
+ ……
+\end{verbatim}
+\item 浮动体已默认居中,且默认允许的位置已设为“当前代码中的位置、顶部、底部、单独成页”
+\item 将你需要插入的图片置于\verb|\figures|中,无需在路径中包含“figures”
+\item 为一张图或一个表显示两个图(表)题:\verb|\bicaption{中文图题}{英文图题}|
+你必须将图置于“figure”环境中,表置于“table”环境中,必须匹配。
+否则\verb|\bicaption{中文图题}{英文图题}|不会起作用
+\item 显示图表注: \verb|\chartnote{图的注释或表的注释}|
+\item 你必须在你的参考文献前加入\verb|\backmatter|
+\item 显示参考文献:\verb|\printbibliography|
+\end{enumerate} \ No newline at end of file
diff --git a/macros/latex/contrib/bjfuthesis/documentation/contents/mainbody.tex b/macros/latex/contrib/bjfuthesis/documentation/contents/mainbody.tex
deleted file mode 100644
index 017c18c9e9..0000000000
--- a/macros/latex/contrib/bjfuthesis/documentation/contents/mainbody.tex
+++ /dev/null
@@ -1,102 +0,0 @@
-\chapter{绪论}
-\section{研究背景}
-国内诸多高校都在GitHub上提供了其高校的论文模板,故本作者秉持开源共享的精神,将本\LaTeX 文档类开源于https://github.com/bjfu-projects/bjfu-thesis。
-\section{文档结构}
-第一章为绪论,简单介绍研究背景以及文档结构。
-
-第二章为英文使用说明,介绍本文档类的使用方法。
-
-第三章为中文使用说明,介绍本文档类的使用方法。
-\chapter{Usage Notes}
-The order of following usage notes is based on the structure of the thesis.
-
- * To include the cover of your thesis, put 'cover.pdf' in the directory.
-
- * You MUST add `\textbackslash frontmatter` before your abstract.
-
- * Print title of Chinese abstract or English abstract: `\textbackslash chapter*{abstract title}`
-
- * Print content of abstract: `\textbackslash begin{abstract}abstract` content`\textbackslash end{abstract}`
-
- * Print Chinese keywords: `\textbackslash keywordscn{Chinese keywords}`
-
- * Print English keywords: \textbackslash keywordsen{English keywords}
-
- * Print table of contents: \textbackslash tableofcontents
-
- * You MUST add `\textbackslash mainmatter` before the main body of your thesis.
-
- * The hierachy of the thesis:
- `\textbackslash chapter{chapter title}`
- `\textbackslash section{section title}`
- `\textbackslash subsection{subsection title}`
-
- * Use following structure:
- `\textbackslash chapter{chapter 1 title}`
- normal text
- `\textbackslash section{section 1.1 title}`
- normal text
- `\textbackslash section{section 1.2 title}`
- `\textbackslash subsection{subsection 1.2.1 title}`
- normal text
- ...
-
- * Floats are set to be centered by default, with default allowed positions being current position in code, top, bottom and a separate page.
-
- * Put images you want to insert in `\textbackslash figures`, and you DO NOT need to include 'figures' in your path
-
- * Show two captions for a figure or a table: `\textbackslash bicaption{Chinese caption}{English caption}`
- You MUST place figures in 'figure' environment, and table in 'table' environment, which MUST match.
- Or `\textbackslash bicaption{Chinese caption}{English caption}` will not work as expected.
-
- * Show a note for a figure or table: `\textbackslash chartnote{a note for a figure or a table}`
-
- * You MUST add `\textbackslash backmatter` before your references and your acknowledgement.
-
- * Print bibliography: `\textbackslash printbibliography`
-\chapter{使用说明}
-以下使用说明的顺序基于论文的结构
-
-* 要将你的论文封面插入论文,需将"cover.pdf"置于该目录中
-
-* 你必须在摘要部分前加入`\textbackslash frontmatter`
-
-* 显示中文或英文摘要标题:`\textbackslash chapter*{abstract title}`
-
-* 显示摘要内容:`\textbackslash begin{abstract}摘要内容\textbackslash end{abstract}`
-
-* 显示中文关键词:`\textbackslash keywordscn{中文关键词}`
-
-* 显示英文关键词:`\textbackslash keywordsen{英文关键词}`
-
-* 显示目录:`\textbackslash tableofcontents`
-
-* 你必须在你的论文的主体部分前加入`\textbackslash mainmatter`
-
-* 论文具有的层次划分:
-`\textbackslash chapter{一级标题}`
-`\textbackslash section{二级标题}`
-`\textbackslash subsection{三级标题}`
-
-* 使用以下层次结构:
-`\textbackslash chapter{一级标题 1}`
-正文文字
-`\textbackslash section{二级标题 1.1}`
-正文文字
-`\textbackslash section{二级标题 1.2}`
-`\textbackslash subsection{三级标题 1.2.1}`
-正文文字
-……
-
-* 浮动体已默认居中,且默认允许的位置已设为“当前代码中的位置、顶部、底部、单独成页”
-
-* 将你需要插入的图片置于`\textbackslash figures`中,无需在路径中包含“figures”
-
-* 为一张图或一个表显示两个图(表)题:`\textbackslash bicaption{中文图题}{英文图题}`
-你必须将图置于“figure”环境中,表置于“table”环境中,必须匹配。
-否则`\textbackslash bicaption{中文图题}{英文图题}`不会起作用
-* 显示图表注:`\textbackslash chartnote{图的注释或表的注释}`
-
-* 你必须在你的参考文献前加入`\textbackslash backmatter`
-
-* 显示参考文献:`\textbackslash printbibliography`
diff --git a/macros/latex/contrib/bjfuthesis/demo/bibliography.bib b/macros/latex/contrib/bjfuthesis/example/bibliography.bib
index ad383a0c4e..ad383a0c4e 100644
--- a/macros/latex/contrib/bjfuthesis/demo/bibliography.bib
+++ b/macros/latex/contrib/bjfuthesis/example/bibliography.bib
diff --git a/macros/latex/contrib/bjfuthesis/demo/contents/abstract.tex b/macros/latex/contrib/bjfuthesis/example/contents/abstract.tex
index 71627e7e3f..71627e7e3f 100644
--- a/macros/latex/contrib/bjfuthesis/demo/contents/abstract.tex
+++ b/macros/latex/contrib/bjfuthesis/example/contents/abstract.tex
diff --git a/macros/latex/contrib/bjfuthesis/demo/contents/acknowledge.tex b/macros/latex/contrib/bjfuthesis/example/contents/acknowledge.tex
index bfccc876b4..bfccc876b4 100644
--- a/macros/latex/contrib/bjfuthesis/demo/contents/acknowledge.tex
+++ b/macros/latex/contrib/bjfuthesis/example/contents/acknowledge.tex
diff --git a/macros/latex/contrib/bjfuthesis/demo/contents/mainbody.tex b/macros/latex/contrib/bjfuthesis/example/contents/mainbody.tex
index 055e7b1de6..055e7b1de6 100644
--- a/macros/latex/contrib/bjfuthesis/demo/contents/mainbody.tex
+++ b/macros/latex/contrib/bjfuthesis/example/contents/mainbody.tex
diff --git a/macros/latex/contrib/bjfuthesis/demo/cover.pdf b/macros/latex/contrib/bjfuthesis/example/cover.pdf
index 6ab70639e4..6ab70639e4 100644
--- a/macros/latex/contrib/bjfuthesis/demo/cover.pdf
+++ b/macros/latex/contrib/bjfuthesis/example/cover.pdf
Binary files differ
diff --git a/macros/latex/contrib/bjfuthesis/demo/figures/admin-movie.png b/macros/latex/contrib/bjfuthesis/example/figures/admin-movie.png
index 163ed11325..163ed11325 100644
--- a/macros/latex/contrib/bjfuthesis/demo/figures/admin-movie.png
+++ b/macros/latex/contrib/bjfuthesis/example/figures/admin-movie.png
Binary files differ
diff --git a/macros/latex/contrib/bjfuthesis/demo/figures/anonymous-category.png b/macros/latex/contrib/bjfuthesis/example/figures/anonymous-category.png
index 2e0e50c64e..2e0e50c64e 100644
--- a/macros/latex/contrib/bjfuthesis/demo/figures/anonymous-category.png
+++ b/macros/latex/contrib/bjfuthesis/example/figures/anonymous-category.png
Binary files differ
diff --git a/macros/latex/contrib/bjfuthesis/demo/figures/anonymous-details.png b/macros/latex/contrib/bjfuthesis/example/figures/anonymous-details.png
index 571e9862dd..571e9862dd 100644
--- a/macros/latex/contrib/bjfuthesis/demo/figures/anonymous-details.png
+++ b/macros/latex/contrib/bjfuthesis/example/figures/anonymous-details.png
Binary files differ
diff --git a/macros/latex/contrib/bjfuthesis/demo/figures/anonymous-index.png b/macros/latex/contrib/bjfuthesis/example/figures/anonymous-index.png
index 6493ab444f..6493ab444f 100644
--- a/macros/latex/contrib/bjfuthesis/demo/figures/anonymous-index.png
+++ b/macros/latex/contrib/bjfuthesis/example/figures/anonymous-index.png
Binary files differ
diff --git a/macros/latex/contrib/bjfuthesis/demo/figures/enhanced-recommendation.png b/macros/latex/contrib/bjfuthesis/example/figures/enhanced-recommendation.png
index d5f11fa4d4..d5f11fa4d4 100644
--- a/macros/latex/contrib/bjfuthesis/demo/figures/enhanced-recommendation.png
+++ b/macros/latex/contrib/bjfuthesis/example/figures/enhanced-recommendation.png
Binary files differ
diff --git a/macros/latex/contrib/bjfuthesis/demo/figures/general-details.png b/macros/latex/contrib/bjfuthesis/example/figures/general-details.png
index d8d33408b5..d8d33408b5 100644
--- a/macros/latex/contrib/bjfuthesis/demo/figures/general-details.png
+++ b/macros/latex/contrib/bjfuthesis/example/figures/general-details.png
Binary files differ
diff --git a/macros/latex/contrib/bjfuthesis/demo/figures/illustration-of-ripple-sets.png b/macros/latex/contrib/bjfuthesis/example/figures/illustration-of-ripple-sets.png
index 96e2920c7f..96e2920c7f 100644
--- a/macros/latex/contrib/bjfuthesis/demo/figures/illustration-of-ripple-sets.png
+++ b/macros/latex/contrib/bjfuthesis/example/figures/illustration-of-ripple-sets.png
Binary files differ
diff --git a/macros/latex/contrib/bjfuthesis/demo/figures/jwt.pdf b/macros/latex/contrib/bjfuthesis/example/figures/jwt.pdf
index b6fe019966..b6fe019966 100644
--- a/macros/latex/contrib/bjfuthesis/demo/figures/jwt.pdf
+++ b/macros/latex/contrib/bjfuthesis/example/figures/jwt.pdf
Binary files differ
diff --git a/macros/latex/contrib/bjfuthesis/demo/figures/recommendation-procedure.pdf b/macros/latex/contrib/bjfuthesis/example/figures/recommendation-procedure.pdf
index 049f4c623d..049f4c623d 100644
--- a/macros/latex/contrib/bjfuthesis/demo/figures/recommendation-procedure.pdf
+++ b/macros/latex/contrib/bjfuthesis/example/figures/recommendation-procedure.pdf
Binary files differ
diff --git a/macros/latex/contrib/bjfuthesis/demo/figures/ripplenet-framework.png b/macros/latex/contrib/bjfuthesis/example/figures/ripplenet-framework.png
index 15bf3fe3aa..15bf3fe3aa 100644
--- a/macros/latex/contrib/bjfuthesis/demo/figures/ripplenet-framework.png
+++ b/macros/latex/contrib/bjfuthesis/example/figures/ripplenet-framework.png
Binary files differ
diff --git a/macros/latex/contrib/bjfuthesis/demo/figures/sign-up.png b/macros/latex/contrib/bjfuthesis/example/figures/sign-up.png
index 2c0f6ed59d..2c0f6ed59d 100644
--- a/macros/latex/contrib/bjfuthesis/demo/figures/sign-up.png
+++ b/macros/latex/contrib/bjfuthesis/example/figures/sign-up.png
Binary files differ
diff --git a/macros/latex/contrib/bjfuthesis/demo/figures/use-case.pdf b/macros/latex/contrib/bjfuthesis/example/figures/use-case.pdf
index 751a799f6f..751a799f6f 100644
--- a/macros/latex/contrib/bjfuthesis/demo/figures/use-case.pdf
+++ b/macros/latex/contrib/bjfuthesis/example/figures/use-case.pdf
Binary files differ
diff --git a/macros/latex/contrib/bjfuthesis/example/thesis.pdf b/macros/latex/contrib/bjfuthesis/example/thesis.pdf
new file mode 100644
index 0000000000..b29d4e8cb0
--- /dev/null
+++ b/macros/latex/contrib/bjfuthesis/example/thesis.pdf
Binary files differ
diff --git a/macros/latex/contrib/bjfuthesis/demo/thesis.tex b/macros/latex/contrib/bjfuthesis/example/thesis.tex
index b8f5b59421..b8f5b59421 100644
--- a/macros/latex/contrib/bjfuthesis/demo/thesis.tex
+++ b/macros/latex/contrib/bjfuthesis/example/thesis.tex
diff --git a/macros/latex/contrib/keyfloat/README.txt b/macros/latex/contrib/keyfloat/README.txt
index ca229e6579..21aec3ea01 100644
--- a/macros/latex/contrib/keyfloat/README.txt
+++ b/macros/latex/contrib/keyfloat/README.txt
@@ -1,8 +1,8 @@
The LaTeX keyfloat package
Provides a key/value interface for generating floats.
-v2.01
-Copyright 2016-2019 Brian Dunn — www.BDTechConcepts.com
+v2.03
+Copyright 2016-2021 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 08acaf860a..317856b7da 100644
--- a/macros/latex/contrib/keyfloat/keyfloat.dtx
+++ b/macros/latex/contrib/keyfloat/keyfloat.dtx
@@ -17,7 +17,7 @@
% \iffalse
%<package>\NeedsTeXFormat{LaTeX2e}
%<package>\ProvidesPackage{keyfloat}
-%<package> [2019/09/23 v2.01 Key/value interface for floats and subfloats.]
+%<package> [2021/05/28 v2.03 Key/value interface for floats and subfloats.]
%
%<*driver>
\documentclass{ltxdoc}
@@ -317,7 +317,7 @@ Keywords={LaTeX, floats, key/val, subcaption, rows}%
%<*package>
% \fi
%
-% \CheckSum{1251}
+% \CheckSum{1298}
%
% \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
@@ -352,8 +352,9 @@ Keywords={LaTeX, floats, key/val, subcaption, rows}%
% \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}
-
-
+% \changes{v2.02}{2021/05/28}{2021/05/27}
+% \changes{v2.03}{2021/05/28}{Fixed \cs{hbadness} w/ \cs{relax}.}
+% \changes{v2.03}{2021/05/28}{2021/05/28}
@@ -377,7 +378,7 @@ Keywords={LaTeX, floats, key/val, subcaption, rows}%
%
% \bigskip
%
-% {\small\textcopyright{} 2016--2019} Brian Dunn\\ \small \texttt{bd@BDTechConcepts.com}
+% {\small\textcopyright{} 2016--2021} Brian Dunn\\ \small \texttt{bd@BDTechConcepts.com}
%
% \vspace{.5in}
%
@@ -431,10 +432,10 @@ Keywords={LaTeX, floats, key/val, subcaption, rows}%
% \vfill
%
% \noindent \pkg{keyfloat} uses the \pkg{caption}, \pkg{subcaption},
-% \pkg{newfloat}, and \pkg{wrapfig} packages,
+% \pkg{newfloat} or \pkg{float}, and \pkg{wrapfig} packages,
% \watchout
% and cannot be used with the
-% \pkg{subfig}, \pkg{subfigure}, \pkg{subfloat}, \pkg{floatrow}, \pkg{float},
+% \pkg{subfig}, \pkg{subfigure}, \pkg{subfloat}, \pkg{floatrow},
% or \pkg{floatflt} packages.
%
% \vfill
@@ -610,7 +611,7 @@ Keywords={LaTeX, floats, key/val, subcaption, rows}%
% \end{sourcedisplay}
%
%
-% If you wish to have artist's names appear in the list of figures,
+% If you wish to have artists' names appear in the list of figures,
% \DescribePackage{tocdata}
% \DescribePackage{tocloft}
% \DescribePackage{titletoc}
@@ -624,7 +625,14 @@ Keywords={LaTeX, floats, key/val, subcaption, rows}%
% \cs{usepackage}\{keyfloat\}
% \end{sourcedisplay}
%
-% To use custom float types, use the \pkg{newfloat} package:
+% To use custom float types with the \pkg{float} package:
+% \DescribePackage{float}
+% \begin{sourceverb}
+% \usepackage{float}
+% \newfloat{diagram}{htb}{lod}
+% \end{sourceverb}
+%
+% To use custom float types with the \pkg{newfloat} package:
% \DescribePackage{newfloat}
% \begin{sourceverb}
% \usepackage{newfloat}
@@ -764,6 +772,11 @@ Keywords={LaTeX, floats, key/val, subcaption, rows}%
% a paragraph with contents large enough to wrap around the float. Do not use this
% inside a list environment. Select placement with the |wp| key; see
% the \pkg{wrapfig} package documentation for more information.
+% Use \optn{w} or \optn{lw} to set the width of the item \Slash image contained
+% inside the wrap area. By default the caption will also be contained in this width.
+% To use a larger width for the overall container and caption,
+% set \optn{w} or \optn{lw} for the size of the image, and also use
+% \optn{ww} or \optn{wlw} for a larger size for the caption.
% Watch the log for warnings from \pkg{wrapfig}.\watchout[\pkg{wrapfig} warnings]
%
% \DescribeArgument{{[loc]}}
@@ -841,9 +854,15 @@ Keywords={LaTeX, floats, key/val, subcaption, rows}%
% \textrm{Key}\tnote{a} & Description & \textrm{Example} \\
% \midrule
% lw & Set the width to a fraction of \cs{linewidth}. Cancels |w|.
-% If a non-image float, sets the width of the text box. & lw=.5 \\
+% If a non-image float, sets the width of the text box.
+% For wrapped objects, may be used with \optn{wlw} for a smaller item
+% with a larger caption.
+% & lw=.5 \\
% w & Set the actual width. Cancels |lw|.
-% If a non-image float, sets the width of the text box. & w=2in \\
+% If a non-image float, sets the width of the text box.
+% For wrapped objects, may be used with \optn{ww} for a smaller item
+% with a larger caption.
+% & w=2in \\
% h & Set the actual height, images only. & w=2in \\
% s & Set the image scale, images only. & s=3 \\
% a & Set the rotation angle; counter-clockwise degrees. & r=90 \\
@@ -857,6 +876,10 @@ Keywords={LaTeX, floats, key/val, subcaption, rows}%
% is |O|, which places the wrapped float at the outside edge of the text.
% See \cref{tab:wrapplacement}.
% & wp=I \\
+% wlw & Sets the total width of the wrapped item to a fraction of \cs{linewidth}.
+% May be more than the \optn{w} or \optn{lw} width. & wlw=.6 \\
+% ww & Sets the total width of the wrapped item.
+% May be more than the \optn{w} or \optn{lw} width. & ww=2in \\
% va & Sets the vertical alignment of the outermost minipage container for the keyfloat.
% Defaults to 'c'.
% & va=t \\
@@ -1060,8 +1083,8 @@ Keywords={LaTeX, floats, key/val, subcaption, rows}%
% t={Additional text. Multiple paragraphs may be used.
% The entire text is enclosed in braces because a comma
% is included. Alignment may be set by using
-% tags \texttt{tc}, \texttt{tl}, or \texttt{tr}
-% instead of \texttt{t}},
+% tags \optn{tc}, \optn{tl}, or \optn{tr}
+% instead of \optn{t}},
% l=fig:options
% }{image}
% \end{dtxexample}
@@ -1414,8 +1437,8 @@ Keywords={LaTeX, floats, key/val, subcaption, rows}%
% \end{dtxexample}
%
%
-% \begin{dtxexample}[\Cref{fig:keyfigm}]{Using \cs{keyfig}\texttt{[M]}\label{ex:keyfigm}}
-% \keyfig[M]{c={A \cs{keyfig}\texttt{[M]}},l=fig:keyfigm,ft,
+% \begin{dtxexample}[\Cref{fig:keyfigm}]{Using \cs{keyfig}\optn{[M]}\label{ex:keyfigm}}
+% \keyfig[M]{c={A \cs{keyfig}\optn{[M]}},l=fig:keyfigm,ft,
% t=Additional text.
% Text text text text text text.
%
@@ -1425,8 +1448,8 @@ Keywords={LaTeX, floats, key/val, subcaption, rows}%
%
%
% \begin{dtxexample}[\Cref{tab:keytablem}]
-% {Using \env{keytable}\texttt{[M]} and an offset\label{ex:keytablem}}
-% \begin{keytable}[M]{c={A \env{keytable}\texttt{[M]}},
+% {Using \env{keytable}\optn{[M]} and an offset\label{ex:keytablem}}
+% \begin{keytable}[M]{c={A \env{keytable}\optn{[M]}},
% l=tab:keytablem,mo=-.9in}
% \centering
% \testwidetable
@@ -1451,39 +1474,42 @@ Keywords={LaTeX, floats, key/val, subcaption, rows}%
% \changes{v0.12}{2016/12/03}{Docs: Wrapped float examples.}
%
% \begin{dtxexample}[\Cref{fig:keyfigw,tab:keytabw}]
-% {Using \cs{keyfig}\texttt{[W]} and \cs{keytab}\texttt{[W]}\label{ex:keyfigw}}
-% \keyfig[W]{c={A \cs{keyfig}\texttt{[W]}},
+% {Using \cs{keyfig}\optn{[W]} and \cs{keytab}\optn{[W]}\label{ex:keyfigw}}
+% \keyfig[W]{c={A \cs{keyfig}\optn{[W]}},
% l=fig:keyfigw,ft,lw=.4,wp=I,
-% t={.4\cs{linewidth} wide, placed \texttt{I}.}
+% t={.4\cs{linewidth} wide, placed \optn{I}.}
% }{image2}
% \blindtext
-% \keytab[W]{c={A \cs{keytab}\texttt{[W]}},l=tab:keytabw,w=.75in,
+
+% \keytab[W]{c={A \cs{keytab}\optn{[W]}},l=tab:keytabw,w=.75in,
% }{\testtable}
% \blindtext
% \end{dtxexample}
%
% \begin{dtxexample}[\Cref{fig:keyfigboxw} and the \cs{keyparbox}.]
-% {Using \cs{keyfigbox}\texttt{[W]} and \cs{keyparbox}\texttt{[W]}\label{ex:keyfigboxw}}
-% \keyfigbox[W]{c={A \cs{keyfigbox}\texttt{[W]}},
+% {Using \cs{keyfigbox}\optn{[W]} and \cs{keyparbox}\optn{[W]}\label{ex:keyfigboxw}}
+% \keyfigbox[W]{c={A \cs{keyfigbox}\optn{[W]}},
% l=fig:keyfigboxw,f,lw=.25,wp=I,
% t=Text text text text text text text text text
% }{The contents.}
% \blindtext
+
% \keyparbox[W]{w=1in}{A \cs{keyparbox}[W] and some more text.}
% \blindtext
% \end{dtxexample}
%
%
% \begin{dtxexample}[\Cref{fig:keyfigurew,tab:keytablew}]
-% {Using \cs{keyfigure}\texttt{[W]} and \cs{keytable}[W]\label{ex:keyfiguretablew}}
-% \begin{keyfigure}[W]{c={A \cs{keyfigure}\texttt{[W]}},
+% {Using \cs{keyfigure}\optn{[W]} and \cs{keytable}\optn{[W]}\label{ex:keyfiguretablew}}
+% \begin{keyfigure}[W]{c={A \cs{keyfigure}\optn{[W]}},
% l=fig:keyfigurew,f,w=1.5in}
% This is a keyfigure.
% \end{keyfigure}
% \blindtext
%
-% \begin{keytable}[W]{c={A \env{keytable}\texttt{[W]}},
-% l=tab:keytablew,w=2in,wp=L,tc=Placed \texttt{L} and 2in wide.}
+% \begin{keytable}[W]{c={A \env{keytable}\optn{[W]}},
+% l=tab:keytablew,w=2in,wp=L,
+% tc=Placed \optn{L} and 2in wide.}
% \centering
% \testwidetable
% \end{keytable}
@@ -1520,6 +1546,22 @@ Keywords={LaTeX, floats, key/val, subcaption, rows}%
% \end{itemize}
% \end{dtxexample}
%
+% \clearpage
+%
+% \begin{dtxexample}[\Cref{fig:keyfigwlw,fig:keyfigww}]
+% {Using wrap width \optn{ww} and \optn{wlw}\label{ex:keyfigwlw}}
+% \keyfig[W]{c={A \cs{keyfig}\optn{[W] with \optn{wlw}}},
+% l=fig:keyfigwlw,ft,lw=.15,wlw=.4,wp=I,
+% t={.15\cs{linewidth} wide, in a .4\cs{linewidth} box.}
+% }{image2}
+% \blindtext[1]
+%
+% \keyfig[W]{c={A \cs{keyfig}\optn{[W] with \optn{ww}}},
+% l=fig:keyfigww,ft,w=1cm,ww=3cm,wp=I,
+% t={1cm wide, in a 3cm box.}
+% }{image2}
+% \blindtext[1]
+% \end{dtxexample}
%
%
% \clearpage
@@ -1836,12 +1878,12 @@ Keywords={LaTeX, floats, key/val, subcaption, rows}%
%
%
% The list of prohibited packages:
+% \changes{v2.02}{2021/05/18}{Work with \pkg{float}.}
% \begin{macrocode}
\KFLT@prohibitpackage{floatrow}{caption and subcaption}
\KFLT@prohibitpackage{subfig}{subcaption}
\KFLT@prohibitpackage{subfigure}{subcaption}
\KFLT@prohibitpackage{subfloat}{subcaption}
-\KFLT@prohibitpackage{float}{newfloat}
\KFLT@prohibitpackage{floatflt}{wrapfig}
% \end{macrocode}
%
@@ -2318,7 +2360,7 @@ Keywords={LaTeX, floats, key/val, subcaption, rows}%
% \DescribeKey[main]{mo} Set vertical offset for a margin float.
-% \changes{v0.12}{2016/12/03}{Added \texttt{mo} key.}
+% \changes{v0.12}{2016/12/03}{Added \optn{mo} key.}
% \begin{macrocode}
\define@key{KFLT@keys}{mo}{\setlength{\KFLT@mo}{#1}}
% \end{macrocode}
@@ -2334,7 +2376,7 @@ Keywords={LaTeX, floats, key/val, subcaption, rows}%
%
% See \cref{tab:wrapplacement} on \cpageref{tab:wrapplacement}.
%
-% \changes{v0.12}{2016/12/03}{Added \texttt{wp} key.}
+% \changes{v0.12}{2016/12/03}{Added \optn{wp} key.}
% \begin{macrocode}
\define@key{KFLT@keys}{wp}{\renewcommand{\KFLT@wp}{#1}}
% \end{macrocode}
@@ -2345,10 +2387,40 @@ Keywords={LaTeX, floats, key/val, subcaption, rows}%
% \end{macrocode}
% \end{macro}
+% \DescribeKey[main]{wlw} Wrapped figure, fraction of \cs{linewidth}
+% \changes{v2.02}{2021/05/27}{Added \optn{ww} and \optn{wlw}.}
+% \begin{macrocode}
+\define@key{KFLT@keys}{wlw}{%
+ \renewcommand{\KFLT@wlw}{#1}%
+ \setlength{\KFLT@ww}{0pt}%
+}
+% \end{macrocode}
+%
+% \begin{macro}{\KFLT@wlw} Wrapped figure, fraction of linewidth storage: ``|.5|''
+% \begin{macrocode}
+\newcommand*{\KFLT@wlw}{}
+% \end{macrocode}
+% \end{macro}
+%
+% \DescribeKey[main]{ww} Wrapped figure, fixed width
+% \changes{v2.02}{2021/05/27}{Added \optn{ww} and \optn{wlw}.}
+% \begin{macrocode}
+\define@key{KFLT@keys}{ww}{%
+ \setlength{\KFLT@ww}{#1}%
+ \renewcommand{\KFLT@wlw}{}%
+}
+% \end{macrocode}
+%
+% \begin{macro}{\KFLT@ww} Wrapped figure, width storage: ``3cm''
+% \begin{macrocode}
+\newlength{\KFLT@ww}
+% \end{macrocode}
+% \end{macro}
+
% \DescribeKey[main]{va} Set vertical alignment of the outermost minipage container.
%
-% \changes{v0.15}{2017/05/09}{Added vertical alignment key \texttt{va}.}
+% \changes{v0.15}{2017/05/09}{Added vertical alignment key \optn{va}.}
% \begin{macrocode}
\define@key{KFLT@keys}{va}{\renewcommand{\KFLT@va}{#1}}
% \end{macrocode}
@@ -2610,11 +2682,18 @@ Keywords={LaTeX, floats, key/val, subcaption, rows}%
\newlength{\KFLT@boxwidth}
% \end{macrocode}
%
+% \DescribeLength{\KFLT@wrapwidth} Computed width of the wrapped figure
+% \changes{v2.02}{2021/05/27}{Added \optn{ww} and \optn{wlw}.}
+% \begin{macrocode}
+\newlength{\KFLT@wrapwidth}
+% \end{macrocode}
+
%
% \begin{macro}{\KFLT@findwidths} Figure out how wide to make an image and its container
% \begin{macrocode}
\newcommand*{\KFLT@findwidths}{%
% \end{macrocode}
+%
% Default to a box of full \cs{linewidth} minus the potential frame:
% \begin{macrocode}
\ifbool{KFLT@ft}% tight frame?
@@ -2625,21 +2704,48 @@ Keywords={LaTeX, floats, key/val, subcaption, rows}%
{\setlength{\KFLT@boxwidth}{\linewidth}}% no frame
}% not tight frame
% \end{macrocode}
+%
% Several width options exist. First see if width was given:
% \begin{macrocode}
\ifdimgreater{\KFLT@w}{0pt}%
% \end{macrocode}
+%
% Width was given:
% \begin{macrocode}
{\setlength{\KFLT@imagewidth}{\KFLT@w}}%
{% width not given
% \end{macrocode}
+%
% Use full \cs{linewidth} or only a fraction:
% \begin{macrocode}
- \ifcsempty{\KFLT@lw}%
+ \ifcsempty{KFLT@lw}%
{\setlength{\KFLT@imagewidth}{\KFLT@boxwidth}}%
{\setlength{\KFLT@imagewidth}{\KFLT@lw\KFLT@boxwidth}}%
}% width not given
+% \end{macrocode}
+%
+% The wrap width is the same as the image width, unless specified:
+% \changes{v2.02}{2021/05/27}{Added \optn{ww} and \optn{wlw}.}
+% \begin{macrocode}
+ \ifdimgreater{\KFLT@ww}{0pt}%
+% \end{macrocode}
+%
+% Width was given:
+% \begin{macrocode}
+ {%
+ \setlength{\KFLT@wrapwidth}{\KFLT@ww}}%
+ {% width not given
+% \end{macrocode}
+%
+% If \optn{wlw}, use a fraction of line width,
+% else if none given use the same as the image width.
+% \begin{macrocode}
+ \ifcsempty{KFLT@wlw}%
+ {%
+ \setlength{\KFLT@wrapwidth}{\KFLT@imagewidth}}%
+ {%
+ \setlength{\KFLT@wrapwidth}{\KFLT@wlw\KFLT@boxwidth}}%
+ }% width not given
}
% \end{macrocode}
% \end{macro}
@@ -3085,6 +3191,8 @@ Keywords={LaTeX, floats, key/val, subcaption, rows}%
\renewcommand{\KFLT@stretch}{1}%
\setlength{\KFLT@mo}{-1.2ex}%
\renewcommand{\KFLT@wp}{O}%
+ \renewcommand{\KFLT@wlw}{}%
+ \setlength{\KFLT@ww}{0pt}%
\renewcommand{\KFLT@va}{c}%
}
% \end{macrocode}
@@ -3185,6 +3293,12 @@ Keywords={LaTeX, floats, key/val, subcaption, rows}%
\addvspace{\smallskipamount}%
\begin{minipage}{\linewidth}%
% \end{macrocode}
+%
+% Inside this minipage, temporarily prevent underfull \cs{hbox} warnings:
+% \changes{v2.02}{2021/05/28}{Avoid underfull \cs{hbox} warning.}
+% \begin{macrocode}
+ \hbadness=10000\relax%
+% \end{macrocode}
% Set the alignment and some text parameters:
% \begin{macrocode}
\csuse{KFLT@#1textalign}%
@@ -3276,10 +3390,18 @@ Keywords={LaTeX, floats, key/val, subcaption, rows}%
\addvspace{\medskipamount}%
\begin{minipage}{\linewidth}%
% \end{macrocode}
+%
+% Inside this minipage, temporarily prevent underfull \cs{hbox} warnings:
+% \changes{v2.02}{2021/05/28}{Avoid underfull \cs{hbox} warning.}
+% \begin{macrocode}
+ \hbadness=10000\relax%
+% \end{macrocode}
+%
% Text alignment is |#3|, and depends on artist or author:
% \begin{macrocode}
#3%
% \end{macrocode}
+%
% |#1| is empty or '|subgrp'| \\
% |#2| is empty for artist, `|u|' for author:
% \begin{macrocode}
@@ -3416,7 +3538,7 @@ Keywords={LaTeX, floats, key/val, subcaption, rows}%
% Not used by subfigures.
%
% \changes{v0.12}{2016/12/03}{[M] and [W] floats.}
-% \changes{v0.15}{2017/05/09}{Handle vertical alignment key \protect\texttt{va}.}
+% \changes{v0.15}{2017/05/09}{Handle vertical alignment key \optn{va}.}
% \changes{v0.15}{2017/05/12}{Adjustments for \protect\env{keywrap}.}
% \begin{macrocode}
\NewDocumentEnvironment{KFLT@boxouter}{m m}
@@ -3473,20 +3595,34 @@ Keywords={LaTeX, floats, key/val, subcaption, rows}%
% \begin{macrocode}
{% [W]
% \end{macrocode}
+%
% Temporarily figure out \cs{KFLT@imagewidth},
% and make the wrapped figure environment as wide as the
% desired image size plus frame:
+% \changes{v2.02}{2021/05/27}{Added \optn{ww} and \optn{wlw}.}
% \begin{macrocode}
\KFLT@findwidths%
\wrapfloat{\KFLT@type}{\KFLT@wp}%
- {\KFLT@imagewidth+2\KFLTlooseframewidth}%
- \minipage{\KFLT@imagewidth+2\KFLTlooseframewidth}%
+ {\KFLT@wrapwidth+2\KFLTlooseframewidth}%
+ \minipage{\KFLT@wrapwidth+2\KFLTlooseframewidth}%
+% \end{macrocode}
+%
+% Inside this minipage, temporarily prevent underfull \cs{hbox} warnings:
+% \changes{v2.02}{2021/05/28}{Avoid underfull \cs{hbox} warning.}
+% \begin{macrocode}
+ \hbadness=10000\relax%
+% \end{macrocode}
+% \begin{macrocode}
\normalcolor\reset@font\normalsize%
% \end{macrocode}
+%
% Change the interior image to the discovered fixed width.
+% \changes{v2.02}{2021/05/27}{Added \optn{ww} and \optn{wlw}.}
% \begin{macrocode}
\renewcommand{\KFLT@lw}{}%
\renewcommand{\KFLT@w}{\KFLT@imagewidth}%
+ \renewcommand{\KFLT@wlw}{}%
+ \renewcommand{\KFLT@ww}{0pt}%
}% [W]
{% not [W]
% \end{macrocode}
@@ -3694,7 +3830,14 @@ Keywords={LaTeX, floats, key/val, subcaption, rows}%
% \begin{macrocode}
\NewDocumentCommand{\KFLT@keyflt}{m m m +m +m}
{%
- \ifcsdef{l@#3}{}{%
+% \end{macrocode}
+%
+% \changes{v2.02}{2021/05/18}{Work with \pkg{float}.}
+% \begin{macrocode}
+ \ifcsdef{ftype@#3}{}{%
+% \end{macrocode}
+%
+% \begin{macrocode}
\PackageError{keyfloat}%
{%
\protect\keyflt: Invalid float type.\MessageBreak%
@@ -4102,6 +4245,14 @@ Keywords={LaTeX, floats, key/val, subcaption, rows}%
% \begin{macrocode}
\wrapfloat{figure}{O}{.5\linewidth}%
\minipage{\linewidth}%
+% \end{macrocode}
+%
+% Inside this minipage, temporarily prevent underfull \cs{hbox} warnings:
+% \changes{v2.02}{2021/05/28}{Avoid underfull \cs{hbox} warning.}
+% \begin{macrocode}
+ \hbadness=10000\relax%
+% \end{macrocode}
+% \begin{macrocode}
\normalcolor\reset@font\normalsize%
}%
{% not [H]:
@@ -4322,6 +4473,14 @@ Keywords={LaTeX, floats, key/val, subcaption, rows}%
\wrapfloat{\KFLT@subgrptype}{O}{.5\linewidth}%
\setlength{\KFLT@rowboxwidth}{.5\KFLT@rowboxwidth}%
\minipage{\linewidth}%
+% \end{macrocode}
+%
+% Inside this minipage, temporarily prevent underfull \cs{hbox} warnings:
+% \changes{v2.02}{2021/05/28}{Avoid underfull \cs{hbox} warning.}
+% \begin{macrocode}
+ \hbadness=10000\relax%
+% \end{macrocode}
+% \begin{macrocode}
\normalcolor\reset@font\normalsize%
}%
{% not [H]:
@@ -4618,6 +4777,10 @@ Keywords={LaTeX, floats, key/val, subcaption, rows}%
%
%
% \begin{environment}{keywrap} \marg{width} \marg{keyfloat}
+%
+% The main text is placed in a minipage to the left,
+% and the wrapped content is later placed in another minipage to the right.
+%
% \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}.}
@@ -4629,7 +4792,7 @@ Keywords={LaTeX, floats, key/val, subcaption, rows}%
\addtolength{\KFLT@keywrapwidth}{-#1}%
\addtolength{\KFLT@keywrapwidth}{-2em}%
\minipage[t]{\KFLT@keywrapwidth}%
- %
+%
\setlength{\parskip}{\KFLT@keywrapparskip}%
\setlength{\parindent}{\KFLT@keywrapparindent}%
\booltrue{KFLT@keywrap}%
@@ -4641,6 +4804,14 @@ Keywords={LaTeX, floats, key/val, subcaption, rows}%
\begin{minipage}[t]{#1}%
\booltrue{KFLT@keywrap}%
\normalcolor\reset@font\normalsize%
+% \end{macrocode}
+%
+% Inside this minipage, temporarily prevent underfull \cs{hbox} warnings:
+% \changes{v2.02}{2021/05/28}{Avoid underfull \cs{hbox} warning.}
+% \begin{macrocode}
+ \hbadness=10000\relax%
+% \end{macrocode}
+% \begin{macrocode}
#2%
\par%
\unskip\vspace{\smallskipamount}%
diff --git a/macros/latex/contrib/keyfloat/keyfloat.pdf b/macros/latex/contrib/keyfloat/keyfloat.pdf
index d0ec4a58b3..c102b8e14f 100644
--- a/macros/latex/contrib/keyfloat/keyfloat.pdf
+++ b/macros/latex/contrib/keyfloat/keyfloat.pdf
Binary files differ
diff --git a/macros/latex/contrib/lwarp/README.txt b/macros/latex/contrib/lwarp/README.txt
index 62aa9f2f2f..3c6e60f99a 100644
--- a/macros/latex/contrib/lwarp/README.txt
+++ b/macros/latex/contrib/lwarp/README.txt
@@ -1,5 +1,5 @@
-LaTeX lwarp package v0.897 README.txt
+LaTeX lwarp package v0.898 README.txt
Files included are:
diff --git a/macros/latex/contrib/lwarp/lwarp.dtx b/macros/latex/contrib/lwarp/lwarp.dtx
index b326554a47..0692faa1a3 100644
--- a/macros/latex/contrib/lwarp/lwarp.dtx
+++ b/macros/latex/contrib/lwarp/lwarp.dtx
@@ -16,7 +16,7 @@
% \iffalse
%<package>\NeedsTeXFormat{LaTeX2e}[1999/12/01]
%<package>\ProvidesPackage{lwarp}
-%<package> [2021/05/24 v0.897 Allows LaTeX to directly produce HTML5 output.]
+%<package> [2021/05/24 v0.898 Allows LaTeX to directly produce HTML5 output.]
%
%<*driver>
\documentclass{ltxdoc}
@@ -3098,7 +3098,7 @@ This boolean may be tested by the user for later use.
%<*package>
% \fi
%
-% \CheckSum{54242}
+% \CheckSum{54272}
%
% \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
@@ -3237,6 +3237,7 @@ This boolean may be tested by the user for later use.
% \changes{v0.895}{2021/02/18}{\ 2021/02/18}
% \changes{v0.896}{2021/04/08}{\ 2021/04/08}
% \changes{v0.897}{2021/05/24}{\ 2021/05/24}
+% \changes{v0.898}{2021/05/29}{\ 2021/05/29}
@@ -3460,6 +3461,11 @@ This boolean may be tested by the user for later use.
%
% \begin{description}
% \needspace{2\baselineskip}
+% \item[v0.898:] Minor updates.
+% \begin{itemize}
+% \item Fewer underfull \cs{hbox} warnings.
+% \item \pkg{wrapfig}: Improved integration with \pkg{keyfloat}.
+% \end{itemize}
% \item[v0.897:] \pkg{siunitx} rollback.
% \begin{itemize}
% \item Added a table of file extensions to use with \cs{includegraphics}.
@@ -20514,7 +20520,7 @@ MathJax = {
-- Copyright 2016-2021 Brian Dunn
-printversion = "v0.897"
+printversion = "v0.898"
requiredconfversion = "2" -- also at *lwarpmk.conf
function printhelp ()
@@ -28453,6 +28459,13 @@ end -- not --version
\setlength{\topsep}{0pt}%
\setlength{\partopsep}{0pt}%
% \end{macrocode}
+%
+% Inside the verbatim, temporarily prevent underfull \cs{hbox} warnings.
+% \changes{v0.898}{2021/05/24}{Reduced underfull \cs{hbox} warnings.}
+% \begin{macrocode}
+ \hbadness=10000\relax%
+% \end{macrocode}
+%
% Create a new |pre| of the given class.
% The tags may temporarily be turned off for internal use, such
% as loading the \brand{MathJax} script.
@@ -34579,6 +34592,15 @@ end -- not --version
}{%
\BlockClass{figurecaption}%
}%
+% \end{macrocode}
+%
+% Inside the caption, temporarily prevent underfull \cs{hbox} warnings,
+% such as when the caption contains a math \SVG\ image.
+% \changes{v0.898}{2021/05/24}{Reduced underfull \cs{hbox} warnings.}
+% \begin{macrocode}
+ \hbadness=10000\relax%
+% \end{macrocode}
+% \begin{macrocode}
}%
{\endBlockClass}
% \end{macrocode}
@@ -37548,6 +37570,13 @@ end -- not --version
\LWR@restoreorigformatting
\booltrue{LWR@insidemathcomment}
% \end{macrocode}
+%
+% Temporarily prevent underfull \cs{hbox} warnings.
+% \changes{v0.898}{2021/05/24}{Reduced underfull \cs{hbox} warnings.}
+% \begin{macrocode}
+ \hbadness=10000\relax%
+% \end{macrocode}
+%
% ^^A When a label is encountered, the \HTML\ comment is closed,
% ^^A the label is generated in an \HTML-output context,
% ^^A then the \HTML\ comment is opened again.
@@ -37943,6 +37972,14 @@ end -- not --version
\begingroup
\LWR@restoreorigformatting
+% \end{macrocode}
+%
+% Temporarily prevent underfull \cs{hbox} warnings.
+% \changes{v0.898}{2021/05/24}{Reduced underfull \cs{hbox} warnings.}
+% \begin{macrocode}
+ \hbadness=10000\relax%
+% \end{macrocode}
+% \begin{macrocode}
\booltrue{LWR@insidemathcomment}
}
% \end{macrocode}
@@ -38550,6 +38587,13 @@ end -- not --version
% \begin{macrocode}
\LWR@ensuredoingapar%
% \end{macrocode}
+%
+% Inside the \env{lateximage}, temporarily prevent underfull \cs{hbox} warnings.
+% \changes{v0.898}{2021/05/24}{Reduced underfull \cs{hbox} warnings.}
+% \begin{macrocode}
+ \hbadness=10000\relax%
+% \end{macrocode}
+%
% Next file:
% \begin{macrocode}
\addtocounter{LWR@externalfilecnt}{1}%
@@ -58940,6 +58984,13 @@ solid {\FancyVerbRuleColor{\LWR@origpound\LWR@tempcolor}} ; % space
% \begin{macrocode}
\large%
% \end{macrocode}
+%
+% Temporarily prevent underfull \cs{hbox} warnings.
+% \changes{v0.898}{2021/05/24}{Reduced underfull \cs{hbox} warnings.}
+% \begin{macrocode}
+ \hbadness=10000\relax%
+% \end{macrocode}
+%
% Reset some defaults, possibly will be changed below if options were given:
% \begin{macrocode}
\setlength{\LWR@igwidth}{0pt}%
@@ -63535,6 +63586,14 @@ do not attempt to patch lwarp's version of `hyperref'.)\MessageBreak}
\lstframe@\lst@frameround ffff\relax% lwarp
\lst@multicols\@empty% lwarp
\begingroup%
+% \end{macrocode}
+%
+% Inside the listing, temporarily prevent underfull \cs{hbox} warnings.
+% \changes{v0.898}{2021/05/24}{\pkg{listings}: Reduced underfull \cs{hbox} warnings.}
+% \begin{macrocode}
+ \hbadness=10000\relax%
+% \end{macrocode}
+% \begin{macrocode}
\ifx\lst@float\relax\else%
\edef\@tempa{\noexpand\lst@beginfloat{lstlisting}[\lst@float]}%
\expandafter\@tempa%
@@ -87328,31 +87387,48 @@ remember to convert PDF images to SVG using 'lwarpmk pdftosvg *-fig.pdf',
% add explicit \HTML\ style.}
% \changes{v0.75}{2019/09/22}{\pkg{wrapfig}: Fix for width.}
% \changes{v0.896}{2021/03/05}{\pkg{wrapfig}: Added \ARIA\ role.}
+% \changes{v0.898}{2021/05/26}{\pkg{wrapfig}: Improved integration with \pkg{keyfloat}.}
% \begin{macrocode}
\newcommand*{\LWR@wrapposition}{}
+\newcommand{\LWR@wrapfig@printHTMLwidth}{width:\LWR@printlength{\LWR@templengthone}}
+
+\AtBeginDocument{
+ \@ifpackageloaded{keyfloat}{
+ \renewcommand{\LWR@wrapfig@printHTMLwidth}{%
+ \ifboolexpr{
+ test {\ifnumgreater{\value{KFLT@keyfloatdepth}}{0}} or
+ bool {KFLT@inkeysubfloats}
+ }%
+ {\LWR@printpercentlength{\LWR@templengthone}{\linewidth}\%; }%
+ {\LWR@printlength{\LWR@templengthone}}%
+ }%
+ }{}
+}
+
\newcommand*{\LWR@subwrapfigure}[2]{%
-\renewcommand*{\LWR@wrapposition}{}%
-\ifthenelse{%
- \equal{#1}{r}\OR\equal{#1}{R}\OR%
- \equal{#1}{o}\OR\equal{#1}{O}%
-}%
- {\renewcommand*{\LWR@wrapposition}{float:right}}%
- {\renewcommand*{\LWR@wrapposition}{float:left}}%
-\setlength{\LWR@templengthone}{#2}%
-\LWR@BlockClassWP{%
- width:\LWR@printlength{\LWR@templengthone}; \LWR@wrapposition; %
- margin:10pt%
-}%
-{%
- width:\LWR@printlength{\LWR@templengthone}; \LWR@wrapposition; %
-}%
-(note)%
-{marginblock}%
+ \renewcommand*{\LWR@wrapposition}{}%
+ \ifthenelse{%
+ \equal{#1}{r}\OR\equal{#1}{R}\OR%
+ \equal{#1}{o}\OR\equal{#1}{O}%
+ }%
+ {\renewcommand*{\LWR@wrapposition}{float:right}}%
+ {\renewcommand*{\LWR@wrapposition}{float:left}}%
+ \setlength{\LWR@templengthone}{#2}%
+ \LWR@BlockClassWP{%
+ width:\LWR@printlength{\LWR@templengthone}; \LWR@wrapposition; %
+ margin:10pt%
+ }%
+ {%
+ width:\LWR@wrapfig@printHTMLwidth; %
+ \LWR@wrapposition; %
+ }%
+ (note)%
+ {marginblock}%
% \end{macrocode}
% \changes{v0.75}{2019/09/17}{\pkg{wrapfig}: Fix for \cs{linewidth}.}
% \begin{macrocode}
-\setlength{\linewidth}{\LWR@templengthone}%
+ \setlength{\linewidth}{\LWR@templengthone}%
}
diff --git a/macros/latex/contrib/lwarp/lwarp.pdf b/macros/latex/contrib/lwarp/lwarp.pdf
index 03031ceb9c..2a35f3ec74 100644
--- a/macros/latex/contrib/lwarp/lwarp.pdf
+++ b/macros/latex/contrib/lwarp/lwarp.pdf
Binary files differ
diff --git a/macros/latex/contrib/lwarp/lwarpmk.lua b/macros/latex/contrib/lwarp/lwarpmk.lua
index 0b09a9acaf..a34d61e216 100755
--- a/macros/latex/contrib/lwarp/lwarpmk.lua
+++ b/macros/latex/contrib/lwarp/lwarpmk.lua
@@ -2,7 +2,7 @@
-- Copyright 2016-2021 Brian Dunn
-printversion = "v0.897"
+printversion = "v0.898"
requiredconfversion = "2" -- also at *lwarpmk.conf
function printhelp ()