diff options
author | Norbert Preining <preining@logic.at> | 2011-11-22 23:46:00 +0000 |
---|---|---|
committer | Norbert Preining <preining@logic.at> | 2011-11-22 23:46:00 +0000 |
commit | 9ee660a19b64751c9ae8fbd81340f4b99ae9dd15 (patch) | |
tree | 4a871ccc8c24945a65206d2e18efca8bf8c21ec3 | |
parent | ca940dd037b5664e9bce7b84dfd84a108d0aeafc (diff) |
new package diagbox (2011-11-21)
git-svn-id: svn://tug.org/texlive/trunk@24636 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r-- | Master/texmf-dist/doc/latex/diagbox/diagbox.pdf | bin | 0 -> 101106 bytes | |||
-rw-r--r-- | Master/texmf-dist/source/latex/diagbox/diagbox.dtx | 424 | ||||
-rw-r--r-- | Master/texmf-dist/source/latex/diagbox/diagbox.ins | 57 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/diagbox/diagbox.sty | 104 | ||||
-rw-r--r-- | Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc | 1 | ||||
-rw-r--r-- | Master/tlpkg/tlpsrc/diagbox.tlpsrc | 0 |
6 files changed, 586 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/latex/diagbox/diagbox.pdf b/Master/texmf-dist/doc/latex/diagbox/diagbox.pdf Binary files differnew file mode 100644 index 00000000000..d8e86556f61 --- /dev/null +++ b/Master/texmf-dist/doc/latex/diagbox/diagbox.pdf diff --git a/Master/texmf-dist/source/latex/diagbox/diagbox.dtx b/Master/texmf-dist/source/latex/diagbox/diagbox.dtx new file mode 100644 index 00000000000..9c323bc01ff --- /dev/null +++ b/Master/texmf-dist/source/latex/diagbox/diagbox.dtx @@ -0,0 +1,424 @@ +% \iffalse meta-comment +% +% Copyright (C) 2011 by Leo Liu <leoliu.pku@gmail.com> +% --------------------------------------------------------------------------- +% This work may be distributed and/or modified under the +% conditions of the LaTeX Project Public License, either version 1.3 +% of this license or (at your option) any later version. +% The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3 or later is part of all distributions of LaTeX +% version 2005/12/01 or later. +% +% This work has the LPPL maintenance status `maintained'. +% +% The Current Maintainer of this work is Leo Liu. +% +% This work consists of the files diagbox.dtx and diagbox.ins +% and the derived filebase diagbox.sty. +% +% \fi +% +% \iffalse +%<*driver> +\ProvidesFile{diagbox.dtx} +%</driver> +%<package>\NeedsTeXFormat{LaTeX2e}[1999/12/01] +%<package>\ProvidesPackage{diagbox} +%<*package> + [2011/11/21 v1.0 Making table heads with diagonal lines] +%</package> +% +%<*driver> +\documentclass[a4paper]{ltxdoc} +\AtBeginDocument{ + \DeleteShortVerb{\|} + \MakeShortVerb{\"}} +\usepackage{diagbox} +\usepackage{geometry} +\usepackage{fvrb-ex} +\usepackage[UTF8,hyperref]{ctex} +\usepackage[pdfstartview=FitH]{hyperref} +\EnableCrossrefs +\CodelineIndex +\RecordChanges +\begin{document} + \DocInput{diagbox.dtx} + \PrintChanges + \PrintIndex +\end{document} +%</driver> +% \fi +% +% \CheckSum{201} +% +% \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 +% Lower-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 +% Digits \0\1\2\3\4\5\6\7\8\9 +% Exclamation \! Double quote \" Hash (number) \# +% Dollar \$ Percent \% Ampersand \& +% Acute accent \' Left paren \( Right paren \) +% Asterisk \* Plus \+ Comma \, +% Minus \- Point \. Solidus \/ +% Colon \: Semicolon \; Less than \< +% Equals \= Greater than \> Question mark \? +% Commercial at \@ Left bracket \[ Backslash \\ +% Right bracket \] Circumflex \^ Underscore \_ +% Grave accent \` Left brace \{ Vertical bar \| +% Right brace \} Tilde \~} +% +% +% \changes{v1.0}{2011/11/21}{初始版本} +% +% \DoNotIndex{\newcommand, \newenvironment, \@nameuse, \@pkgextension, +% \@reserveda, \@tfor, \begin, \begingroup, \box, \csname, \def, \define@key, +% \dimexpr, \do, \dp, \edef, \else, \end, \endcsname, \endgroup, \endinput, +% \expandafter, \fi, \hbox, \ht, \ifcsname, \ifdim, \ifx, \Line, \makebox, +% \newbox, \newdimen, \p@, \PackageError, \pkg, \put, \relax, \RequirePackage, +% \setbox, \setkeys, \setlength, \strip@pt, \unexpanded, \unitlength, +% \vcenter, \wd, \xdef, \z@} +% +% \providecommand*{\pkg}{\textsf} +% \GetFileInfo{diagbox.dtx} +% \title{\hypertarget{English}{\pkg{diagbox} Package (\fileversion)} +% \makebox[0pt]{\hspace{5cm}\hyperlink{Chinese}{\textsf{中文版}}}\\ +% Making Table Heads with Diagonal Lines} +% \author{Leo Liu \\ \path{leoliu.pku@gmail.com}} +% \date{\filedate} +% +% \maketitle +% +% \section{Introduction} +% +% \pkg{diagbox} is a replacement of old \pkg{slashbox} package. I write this +% package simply because that \pkg{slashbox} is not available in \TeX\ Live +% for licening problems. \pkg{slashbox} has no explicit license information +% available, but \pkg{diagbox} is under LPPL. +% +% \pkg{diagbox} is a modern alternative of \pkg{slashbox}. I changed the +% user interface to use a key-value syntax, get rid of some restrictions of +% \pkg{slashbox}, use \pkg{pict2e} to draw diagonal lines. \pkg{diagbox} +% package also provides compatible macros of \pkg{slashbox}, but the result is +% a little different. +% +% To use \pkg{diagbox}, \eTeX{} is needed. And \pkg{diagbox} requires +% \pkg{pict2e} package. +% +% \section{Usage} +% +% +% \DescribeMacro{\diagbox} +% "\diagbox" is the main command. It takes two arguments, to produce a box +% with a diagonal line from north west to south east. +% +% For example:\\ +% \begin{SideBySideExample}[frame=single,numbers=left,xrightmargin=.45\linewidth] +% \begin{tabular}{|l|ccc|} +% \hline +% \diagbox{Time}{Day} & Mon & Tue & Wed \\ +% \hline +% Morning & used & used & \\ +% Afternoon & & used & used \\ +% \hline +% \end{tabular} +% \end{SideBySideExample} +% +% \medskip +% "\diagbox" can take an optional argument in key-value syntax to specify the +% width and height of the box, the direction of the diagonal line, and the +% trimming margin: +% \begin{description} +% \item[width] Specify the width of the box explicitly. +% \item[height] Specify the height of the box explicitly. +% \item[dir] Specify the direction of the diagonal line. The value can be "SE" +% and "NE". Default value is "SE" (from north west to south east). +% \item[trim] Specify the margin to be trimmed. The value can be "l", "r", and +% "lr", "rl". +% \end{description} +% +% Here is a more complex example: +% \begin{Example}[frame=single,numbers=left] +% \begin{tabular}{|@{}l|c|c|c@{}|} +% \hline +% \diagbox[width=5em,trim=l]{Time}{Day} & Mon & Tue & Wed\\ +% \hline +% Morning & used & used & used\\ +% \hline +% Afternoon & & used & \diagbox[dir=NE,height=2em,trim=r]{A}{B} \\ +% \hline +% \end{tabular} +% \end{Example} +% +% \bigskip +% \DescribeMacro{\backslashbox} +% "\backslashbox" works as "\diagbox", but it takes two optional arguments to +% specify the "width" and "trim" options. +% +% \DescribeMacro{\slashbox} +% "\slashbox" works as "\diagbox[dir=NE]", and takes two optional arguments to +% specify the "width" and "trim" options. +% +% The syntax of "\slashbox" and "\backslashbox" comes from \pkg{slashbox} +% packages. \pkg{diagbox} package emulates \pkg{slashbox} and also prevents +% \pkg{slashbox} to be loaded. However, the results of the two packages are +% a little different. These two commands are for compatibility only, it is +% better to use "\diagbox" instead. +% +% +% \section{Bugs and TODO} +% +% I will provide a new command to produce a three-part box with two diagonal +% lines in later version. +% +% +% +% +% \title{\hypertarget{Chinese}{\pkg{diagbox} 宏包(\fileversion)} +% \makebox[0pt]{\hspace{5cm}\hyperlink{English}{\textsf{English Version}}}\\ +% 制做斜线表头} +% \author{刘海洋 \\ \path{leoliu.pku@gmail.com}} +% \date{\filedate} +% +% \maketitle +% +% +% \section{简介} +% +% \pkg{diagbox} 设计用来代替旧的 \pkg{slashbox} 宏包。编写这个宏包的缘起是 +% \pkg{slashbox} 因为缺少明确的自由许可信息,被 \TeX\ Live 排除。这个宏包是在 +% LPPL 协议下发行的。 +% +% \pkg{diagbox} 是 \pkg{slashbox} 宏包的一个较现代的版本。这里我采用了新的 +% key-value 式语法参数,去除了 \pkg{slashbox} 原有的一些长度限制,并调用 +% \pkg{pict2e} 宏包画斜线。\pkg{diagbox} 除了提供自己的新命令,也提供了 +% \pkg{slashbox} 原有的两个命令,语法不变,编译结果略有区别。 +% +% \pkg{diagbox} 依赖 \eTeX{} 扩展(这在目前总是可用的),依赖 \pkg{pict2e} 宏 +% 包。 +% +% \section{用法说明} +% +% \DescribeMacro{\diagbox} +% "\diagbox" 是宏包提供的主要命令。它带有两个必选参数,表示要生成斜线表头的两 +% 部分内容。默认斜线是从西北到东南方向的。 +% +% 例如:\\ +% \begin{SideBySideExample}[frame=single,numbers=left,xrightmargin=.45\linewidth] +% \begin{tabular}{|l|ccc|} +% \hline +% \diagbox{Time}{Day} & Mon & Tue & Wed \\ +% \hline +% Morning & used & used & \\ +% Afternoon & & used & used \\ +% \hline +% \end{tabular} +% \end{SideBySideExample} +% +% \medskip +% "\diagbox" 还可以带一个可选参数,里面用 key-value 的语法设置宽度、方向等更多 +% 的选项: +% \begin{description} +% \item[width] 明确指定盒子的总宽度。 +% \item[height] 明确指定盒子的总高度。 +% \item[dir] 指定斜线方向。可以取 "NE"(划向东北)和 "SE"(划向东南)两个值, +% 默认值是 "SE"。 +% \item[trim] 设置左边界或右边界不计算额外的空白,可以取值为 "l", "r", "lr" 或 +% "rl"。这个选项在列格式包含 "@{}" 时将会有用。 +% \end{description} +% +% 一个更繁杂的例子: +% \begin{Example}[frame=single,numbers=left] +% \begin{tabular}{|@{}l|c|c|c@{}|} +% \hline +% \diagbox[width=5em,trim=l]{Time}{Day} & Mon & Tue & Wed\\ +% \hline +% Morning & used & used & used\\ +% \hline +% Afternoon & & used & \diagbox[dir=NE,height=2em,trim=r]{A}{B} \\ +% \hline +% \end{tabular} +% \end{Example} +% +% \bigskip +% \DescribeMacro{\backslashbox} +% "\backslashbox" 基本功能与 "\diagbox" 类似。它带有两个可选参数,分别表示 +% "\diagbox" 中的 "width" 与 "trim" 选项。 +% +% \DescribeMacro{\slashbox} +% "\slashbox" 基本功能与 "\diagbox[dir=NE]" 类似。它也带有两个可选参数,表示 +% "\diagbox" 中的 "width" 和 "tirm" 选项。 +% +% "\slashbox" 与 "\backslashbox" 的语法来自 \pkg{slashbox} 宏包。\pkg{diagbox} +% 宏包模拟了 \pkg{slashbox} 宏包的功能,并禁止 \pkg{slashbox} 再被调用。这两个 +% 命令仅在旧文档中作为兼容命令使用。实际中使用 "\diagbox" 更为方便。 +% +% +% \section{已知问题和未来版本} +% +% 未来版本会增加带有两条斜线的表头命令。这部分代码是以前写过的,正在整理中。 +% +% \StopEventually{} +% +% +% \clearpage +% \section{Implementation / 代码实现} +% +% \iffalse +%<*package> +% \fi +% +% +% 使用 key-value 界面。 +% \begin{macrocode} +\RequirePackage{keyval} +% \end{macrocode} +% 绘图依赖 \pkg{pict2e} 宏包。 +% \begin{macrocode} +\RequirePackage{pict2e} +\newbox\diagbox@boxa +\newbox\diagbox@boxb +\newdimen\diagbox@wd +\newdimen\diagbox@ht +\newdimen\diagbox@sepl +\newdimen\diagbox@sepr +\define@key{diagbox}{width}{% + \setlength{\diagbox@wd}{#1}} +\define@key{diagbox}{height}{% + \setlength{\diagbox@ht}{#1}} +\define@key{diagbox}{trim}{% + \@tfor\@reserveda:=#1\do{% + \setlength{\csname diagbox@sep\@reserveda\endcsname}{\z@}}} +\define@key{diagbox}{dir}{% + \ifcsname diagbox@pict@#1\endcsname + \def\diagbox@pict@content{\@nameuse{diagbox@pict@#1}}% + \else + \PackageError{diagbox}{Unknown direction `#1'.}{SE and NE is supported.}% + \fi} +% \end{macrocode} +% +% \begin{macro}{\diagbox@pict} +% 这是带斜线的盒子本身。由一个 "picture" 环境实现。 +% \begin{macrocode} +\def\diagbox@pict{% + \unitlength\p@ + \begin{picture} + (\strip@pt\dimexpr\diagbox@wd-\diagbox@sepl-\diagbox@sepr\relax,\strip@pt\diagbox@ht) + (\strip@pt\diagbox@sepl,0) + \diagbox@pict@content + \end{picture}} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\diagbox@pict@SE} +% 方向为 "SE" 的斜线盒子内容。 +% \begin{macrocode} +\def\diagbox@pict@SE{% + \put(0,0) {\makebox(0,0)[bl]{\box\diagbox@boxa}} + \put(\strip@pt\diagbox@wd,\strip@pt\diagbox@ht) {\makebox(0,0)[tr]{\box\diagbox@boxb}} + \Line(0,\strip@pt\diagbox@ht)(\strip@pt\diagbox@wd,0)} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\diagbox@pict@NE} +% 方向为 "NE" 的斜线盒子内容。 +% \begin{macrocode} +\def\diagbox@pict@NE{% + \put(0,\strip@pt\diagbox@ht) {\makebox(0,0)[tl]{\box\diagbox@boxa}} + \put(\strip@pt\diagbox@wd,0) {\makebox(0,0)[br]{\box\diagbox@boxb}} + \Line(0,0)(\strip@pt\diagbox@wd,\strip@pt\diagbox@ht)} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\diagbox} +% 主要的用户命令。三个参数,分别为 key-value 格式的可选项、左半边内容、右半边 +% 内容。这个命令的主要内容是读入参数并计算斜线盒子的大小。 +% \begin{macrocode} +\newcommand\diagbox[3][]{% + \begingroup + \diagbox@wd=\z@ + \diagbox@ht=\z@ + \diagbox@sepl=\tabcolsep + \diagbox@sepr=\tabcolsep + \setkeys{diagbox}{dir=SE,#1}% + \setbox\diagbox@boxa=\hbox{% + \begin{tabular}{l@{}}#2\end{tabular}}% + \setbox\diagbox@boxb=\hbox{% + \begin{tabular}{@{}r}#3\end{tabular}}% + \ifdim\diagbox@wd=\z@ + \ifdim\wd\diagbox@boxa>\wd\diagbox@boxb + \diagbox@wd=\dimexpr2\wd\diagbox@boxa+\diagbox@sepl+\diagbox@sepr\relax + \else + \diagbox@wd=\dimexpr2\wd\diagbox@boxb+\diagbox@sepl+\diagbox@sepr\relax + \fi + \fi + \ifdim\diagbox@ht=\z@ + \diagbox@ht=\dimexpr\ht\diagbox@boxa+\dp\diagbox@boxa+\ht\diagbox@boxb+\dp\diagbox@boxb\relax + \fi + $\vcenter{\hbox{\diagbox@pict}}$% + \endgroup} +% \end{macrocode} +% \end{macro} +% +% 以下代码用来模拟 \pkg{slashbox} 宏包的功能。 +% +% 禁止读入 \pkg{slashbox}。 +% \begin{macrocode} +\expandafter\xdef\csname ver@slashbox.\@pkgextension\endcsname{9999/99/99} +% \end{macrocode} +% +% +% \begin{macro}{\slashbox} +% 模拟 "\slashbox"。 +% \begin{macrocode} +\def\slashbox{% + \def\diagbox@slashbox@options{dir=NE,}% + \slashbox@} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\backslashbox} +% 模拟 "\backslashbox"。 +% \begin{macrocode} +\def\backslashbox{% + \def\diagbox@slashbox@options{dir=SE,}% + \slashbox@} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\slashbox@} +% \begin{macrocode} +\newcommand\slashbox@[1][]{% + \ifx\relax#1\relax\else + \edef\diagbox@slashbox@options{% + \unexpanded\expandafter{\diagbox@slashbox@options}% + \unexpanded{width=#1,}}% + \fi + \slashbox@@} +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\slashbox@@} +% \begin{macrocode} +\newcommand\slashbox@@[3][]{% + \edef\diagbox@slashbox@options{% + \unexpanded\expandafter{\diagbox@slashbox@options}% + \unexpanded{trim=#1,}}% + \expandafter\diagbox\expandafter[\diagbox@slashbox@options]{#2}{#3}} +\endinput +% \end{macrocode} +% \end{macro} +% +% +% \iffalse +%</package> +% \fi +% +% \Finale +\endinput diff --git a/Master/texmf-dist/source/latex/diagbox/diagbox.ins b/Master/texmf-dist/source/latex/diagbox/diagbox.ins new file mode 100644 index 00000000000..ed38920ec94 --- /dev/null +++ b/Master/texmf-dist/source/latex/diagbox/diagbox.ins @@ -0,0 +1,57 @@ +%% Copyright (C) 2011 by Leo Liu <leoliu.pku@gmail.com> +%% -------------------------------------------------------------------------- +%% This work may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either version 1.3 +%% of this license or (at your option) any later version. +%% The latest version of this license is in +%% http://www.latex-project.org/lppl.txt +%% and version 1.3 or later is part of all distributions of LaTeX +%% version 2005/12/01 or later. +%% +%% This work has the LPPL maintenance status `maintained'. +%% +%% The Current Maintainer of this work is Leo Liu. +%% +%% This work consists of the files diagbox.dtx and diagbox.ins +%% and the derived filebase diagbox.sty. +%% + +\input docstrip.tex +\keepsilent + +\usedir{tex/latex/diagbox} + +\preamble + +This is a generated file. + +Copyright (C) 2011 by Leo Liu <leoliu.pku@gmail.com> +-------------------------------------------------------------------------- +This work may be distributed and/or modified under the +conditions of the LaTeX Project Public License, either version 1.3 +of this license or (at your option) any later version. +The latest version of this license is in + http://www.latex-project.org/lppl.txt +and version 1.3 or later is part of all distributions of LaTeX +version 2005/12/01 or later. + +\endpreamble + +\generate{\file{diagbox.sty}{\from{diagbox.dtx}{package}}} + +\obeyspaces +\Msg{*************************************************************} +\Msg{* *} +\Msg{* To finish the installation you have to move the following *} +\Msg{* file into a directory searched by TeX: *} +\Msg{* *} +\Msg{* diagbox.sty *} +\Msg{* *} +\Msg{* To produce the documentation run the file diagbox.dtx *} +\Msg{* through LaTeX. *} +\Msg{* *} +\Msg{* Happy TeXing! *} +\Msg{* *} +\Msg{*************************************************************} + +\endbatchfile diff --git a/Master/texmf-dist/tex/latex/diagbox/diagbox.sty b/Master/texmf-dist/tex/latex/diagbox/diagbox.sty new file mode 100644 index 00000000000..fb755ab69b2 --- /dev/null +++ b/Master/texmf-dist/tex/latex/diagbox/diagbox.sty @@ -0,0 +1,104 @@ +%% +%% This is file `diagbox.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% diagbox.dtx (with options: `package') +%% +%% This is a generated file. +%% +%% Copyright (C) 2011 by Leo Liu <leoliu.pku@gmail.com> +%% -------------------------------------------------------------------------- +%% This work may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either version 1.3 +%% of this license or (at your option) any later version. +%% The latest version of this license is in +%% http://www.latex-project.org/lppl.txt +%% and version 1.3 or later is part of all distributions of LaTeX +%% version 2005/12/01 or later. +%% +\NeedsTeXFormat{LaTeX2e}[1999/12/01] +\ProvidesPackage{diagbox} + [2011/11/21 v1.0 Making table heads with diagonal lines] +\RequirePackage{keyval} +\RequirePackage{pict2e} +\newbox\diagbox@boxa +\newbox\diagbox@boxb +\newdimen\diagbox@wd +\newdimen\diagbox@ht +\newdimen\diagbox@sepl +\newdimen\diagbox@sepr +\define@key{diagbox}{width}{% + \setlength{\diagbox@wd}{#1}} +\define@key{diagbox}{height}{% + \setlength{\diagbox@ht}{#1}} +\define@key{diagbox}{trim}{% + \@tfor\@reserveda:=#1\do{% + \setlength{\csname diagbox@sep\@reserveda\endcsname}{\z@}}} +\define@key{diagbox}{dir}{% + \ifcsname diagbox@pict@#1\endcsname + \def\diagbox@pict@content{\@nameuse{diagbox@pict@#1}}% + \else + \PackageError{diagbox}{Unknown direction `#1'.}{SE and NE is supported.}% + \fi} +\def\diagbox@pict{% + \unitlength\p@ + \begin{picture} + (\strip@pt\dimexpr\diagbox@wd-\diagbox@sepl-\diagbox@sepr\relax,\strip@pt\diagbox@ht) + (\strip@pt\diagbox@sepl,0) + \diagbox@pict@content + \end{picture}} +\def\diagbox@pict@SE{% + \put(0,0) {\makebox(0,0)[bl]{\box\diagbox@boxa}} + \put(\strip@pt\diagbox@wd,\strip@pt\diagbox@ht) {\makebox(0,0)[tr]{\box\diagbox@boxb}} + \Line(0,\strip@pt\diagbox@ht)(\strip@pt\diagbox@wd,0)} +\def\diagbox@pict@NE{% + \put(0,\strip@pt\diagbox@ht) {\makebox(0,0)[tl]{\box\diagbox@boxa}} + \put(\strip@pt\diagbox@wd,0) {\makebox(0,0)[br]{\box\diagbox@boxb}} + \Line(0,0)(\strip@pt\diagbox@wd,\strip@pt\diagbox@ht)} +\newcommand\diagbox[3][]{% + \begingroup + \diagbox@wd=\z@ + \diagbox@ht=\z@ + \diagbox@sepl=\tabcolsep + \diagbox@sepr=\tabcolsep + \setkeys{diagbox}{dir=SE,#1}% + \setbox\diagbox@boxa=\hbox{% + \begin{tabular}{l@{}}#2\end{tabular}}% + \setbox\diagbox@boxb=\hbox{% + \begin{tabular}{@{}r}#3\end{tabular}}% + \ifdim\diagbox@wd=\z@ + \ifdim\wd\diagbox@boxa>\wd\diagbox@boxb + \diagbox@wd=\dimexpr2\wd\diagbox@boxa+\diagbox@sepl+\diagbox@sepr\relax + \else + \diagbox@wd=\dimexpr2\wd\diagbox@boxb+\diagbox@sepl+\diagbox@sepr\relax + \fi + \fi + \ifdim\diagbox@ht=\z@ + \diagbox@ht=\dimexpr\ht\diagbox@boxa+\dp\diagbox@boxa+\ht\diagbox@boxb+\dp\diagbox@boxb\relax + \fi + $\vcenter{\hbox{\diagbox@pict}}$% + \endgroup} +\expandafter\xdef\csname ver@slashbox.\@pkgextension\endcsname{9999/99/99} +\def\slashbox{% + \def\diagbox@slashbox@options{dir=NE,}% + \slashbox@} +\def\backslashbox{% + \def\diagbox@slashbox@options{dir=SE,}% + \slashbox@} +\newcommand\slashbox@[1][]{% + \ifx\relax#1\relax\else + \edef\diagbox@slashbox@options{% + \unexpanded\expandafter{\diagbox@slashbox@options}% + \unexpanded{width=#1,}}% + \fi + \slashbox@@} +\newcommand\slashbox@@[3][]{% + \edef\diagbox@slashbox@options{% + \unexpanded\expandafter{\diagbox@slashbox@options}% + \unexpanded{trim=#1,}}% + \expandafter\diagbox\expandafter[\diagbox@slashbox@options]{#2}{#3}} +\endinput +%% +%% End of file `diagbox.sty'. diff --git a/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc b/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc index 4804928aa84..a3ea88aa9d7 100644 --- a/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc +++ b/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc @@ -159,6 +159,7 @@ depend decimal depend decorule depend delim depend delimtxt +depend diagbox depend diagnose depend dichokey depend dinbrief diff --git a/Master/tlpkg/tlpsrc/diagbox.tlpsrc b/Master/tlpkg/tlpsrc/diagbox.tlpsrc new file mode 100644 index 00000000000..e69de29bb2d --- /dev/null +++ b/Master/tlpkg/tlpsrc/diagbox.tlpsrc |