From af4b02ca41924572a71c9bced929f6dd78294a87 Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Tue, 9 Nov 2021 03:01:47 +0000 Subject: CTAN sync 202111090301 --- macros/luatex/generic/lutabulartools/README.md | 2 +- .../generic/lutabulartools/lutabulartools.lua | 3 +- .../generic/lutabulartools/lutabulartools.pdf | Bin 0 -> 59544 bytes .../generic/lutabulartools/lutabulartools.sty | 13 +- .../generic/lutabulartools/lutabulartools.tex | 166 +++++++++++---------- 5 files changed, 93 insertions(+), 91 deletions(-) create mode 100644 macros/luatex/generic/lutabulartools/lutabulartools.pdf (limited to 'macros/luatex/generic/lutabulartools') diff --git a/macros/luatex/generic/lutabulartools/README.md b/macros/luatex/generic/lutabulartools/README.md index 34da5ee1e5..90b5a86b15 100644 --- a/macros/luatex/generic/lutabulartools/README.md +++ b/macros/luatex/generic/lutabulartools/README.md @@ -4,7 +4,7 @@ This LuaLaTeX package offers some useful macros for tabular matter. The `\MC` co -# License +# License (MIT) Copyright (C) 2021 Kale Ewasiuk diff --git a/macros/luatex/generic/lutabulartools/lutabulartools.lua b/macros/luatex/generic/lutabulartools/lutabulartools.lua index 40f916e3bc..ca6b1aa0b4 100644 --- a/macros/luatex/generic/lutabulartools/lutabulartools.lua +++ b/macros/luatex/generic/lutabulartools/lutabulartools.lua @@ -1,6 +1,5 @@ --% Kale Ewasiuk (kalekje@gmail.com) ---% 2021-10-13 ---% +--% 2021-11-07 --% Copyright (C) 2021 Kale Ewasiuk --% --% Permission is hereby granted, free of charge, to any person obtaining a copy diff --git a/macros/luatex/generic/lutabulartools/lutabulartools.pdf b/macros/luatex/generic/lutabulartools/lutabulartools.pdf new file mode 100644 index 0000000000..96488bd83a Binary files /dev/null and b/macros/luatex/generic/lutabulartools/lutabulartools.pdf differ diff --git a/macros/luatex/generic/lutabulartools/lutabulartools.sty b/macros/luatex/generic/lutabulartools/lutabulartools.sty index 450a0d0cbe..b4eda9c3cf 100644 --- a/macros/luatex/generic/lutabulartools/lutabulartools.sty +++ b/macros/luatex/generic/lutabulartools/lutabulartools.sty @@ -1,6 +1,5 @@ % Kale Ewasiuk (kalekje@gmail.com) -% 2021-10-13 -% +% 2021-11-07 % Copyright (C) 2021 Kale Ewasiuk % % Permission is hereby granted, free of charge, to any person obtaining a copy @@ -24,7 +23,7 @@ % OR OTHER DEALINGS IN THE SOFTWARE. \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{lutabulartools}[2021-10-13] +\ProvidesPackage{lutabulartools}[2021-11-07] \RequirePackage{booktabs} \RequirePackage{multirow} @@ -53,7 +52,7 @@ \aftergroup\aftergroup\aftergroup\midruleXaux } \newif\ifmidruleX -\makeatletter + \newcommand*{\midruleXaux}{% \noalign{% \stepcounter{midruleX}% @@ -67,7 +66,7 @@ \ifmidruleX\midruleXrule\fi } \newcommand*{\resetmidruleX}{\setcounter{midruleX}{0}} %%% todo maybe put noalign in here -\makeatother + \resetmidruleX @@ -100,7 +99,7 @@ % http://mirrors.ctan.org/macros/latex/contrib/booktabs/booktabs.dtx % and modify it for insertion of \arrayrulecolor{lightgray} at the start, % and \arrayrulecolor{black} at the end -\makeatletter + \def\oldgcmidrule{\arrayrulecolor{lightgray}% Switch colour to lightgray \noalign{\ifnum0=`}\fi \@ifnextchar[{\@gcmidrule}{\@gcmidrule[\cmidrulewidth]}} @@ -129,7 +128,7 @@ \fi\fi \ifnum0=`{\fi} \arrayrulecolor{black}}% Switch colour back to black -\makeatother + %%% diff --git a/macros/luatex/generic/lutabulartools/lutabulartools.tex b/macros/luatex/generic/lutabulartools/lutabulartools.tex index cc0aa0ea8a..65c7f2f694 100644 --- a/macros/luatex/generic/lutabulartools/lutabulartools.tex +++ b/macros/luatex/generic/lutabulartools/lutabulartools.tex @@ -1,6 +1,5 @@ % Kale Ewasiuk (kalekje@gmail.com) -% 2021-10-13 -% +% 2021-11-07 % Copyright (C) 2021 Kale Ewasiuk % % Permission is hereby granted, free of charge, to any person obtaining a copy @@ -23,30 +22,51 @@ % OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE % OR OTHER DEALINGS IN THE SOFTWARE. -\documentclass{article} -\usepackage{lutabulartools} -\usepackage{url} + +\documentclass[11pt,parskip=half]{scrartcl} \setlength{\parindent}{0ex} -\setlength{\parskip}{0.75em} -\newcommand{\PARA}[1]{\leavevmode\llap{\texttt{#1}\ \ \ }} -\newcommand{\CMD}[1]{\texttt{\textbackslash #1}} -\newcommand{\tMC}{\CMD{MC}} -\newcommand{\ttt}[1]{``\texttt{#1}''} - -\newcommand{\Example}[1]{ - \texttt{\detokenize{#1}}\par -will produce:\par -#1 +\newcommand{\llcmd}[1]{\leavevmode\llap{\texttt{\detokenize{#1}\ }}} +\newcommand{\cmd}[1]{\texttt{\detokenize{#1}}} +\newcommand{\qcmd}[1]{``\cmd{#1}''} +\usepackage{url} +\usepackage{showexpl} +\lstset{explpreset={justification=\raggedright,pos=r,wide=true}} +\setlength\ResultBoxRule{0mm} +\lstset{ + language=[LaTeX]TeX, + basicstyle=\ttfamily\small, + commentstyle=\ttfamily\small\color{gray}, + frame=none, + numbers=left, + numberstyle=\ttfamily\small\color{gray}, + prebreak=\raisebox{0ex}[0ex][0ex]{\color{gray}\ensuremath{\hookleftarrow}}, + extendedchars=true, + breaklines=true, + tabsize=4, } +\addtokomafont{title}{\raggedright} +\addtokomafont{author}{\raggedright} +\addtokomafont{date}{\raggedright} +\author{Kale Ewasiuk (\url{kalekje@gmail.com})} +\usepackage[yyyymmdd]{datetime}\renewcommand{\dateseparator}{--} +\date{\today} + + + + + +\newcommand{\tMC}{\cmd{\\MC}} + +\RequirePackage{lutabulartools} +\title{lutabulartools} +\subtitle{some useful tabular tools (LuaLaTeX-based)} \begin{document} -\vspace*{-4em} - {\noindent\huge\bfseries lutabulartools \large -- some useful tabular tools\\(LuaLaTeX-based)}\\ - 2021-09-24, Kale Ewasiuk, \url{kalekje@gmail.com} +\maketitle lutabulartools is a package that contains a few useful macros to help with tables. Most functions require LuaLaTeX. The following packages are loaded: -{\tt +\texttt{ {booktabs}, {multirow}, {makecell}, @@ -60,67 +80,68 @@ Most functions require LuaLaTeX. The following packages are loaded: \section{\texttt{\textbackslash MC} -- Magic Cell} \texttt{\textbackslash MC} (magic cell) combines the facilities of -\CMD{multirow} and \CMD{multicolumn} from the \texttt{multirow} package, and \CMD{makcell} from the titular package. +\cmd{\multirow} and \cmd{\multicolumn} from the \texttt{multirow} package, and \cmd{\makcell} from the titular package. With the help of LuaLaTeX, it takes an easy-to-use cell specification and employs said commands as required. Here is the usage: \texttt{\textbackslash MC * [cell spec] (override multicolumn col) \{contents\} } -\PARA{*}This will wrap the entire command in \{\}. This is necessary for \texttt{siunitx} single-column width columns. +\llcmd{*}This will wrap the entire command in \{\}. This is necessary for \texttt{siunitx} single-column width columns. However, the \tMC\ command attempts to detect this automatically. -\PARA{[cell spec]}% +\llcmd{[cell spec]}% Any letters placed in this argument are used for cell alignment. -You can use one of three: \ttt{t}, \ttt{m}, \ttt{b} for top, middle, bottom (vertical alignment), -or \ttt{l}, \ttt{c}, \ttt{r} for horizontal alignment. +You can use one of three: \qcmd{t}, \qcmd{m}, \qcmd{b} for top, middle, bottom (vertical alignment), +or \qcmd{l}, \qcmd{c}, \qcmd{r} for horizontal alignment. By default, \tMC\ will try to autodetect the horizontal alignment based on the current column. If it can't, it will be left-aligned. The default vertical alginment is top. This argument can also contain two integers, separated by a comma (if two are used). -\ttt{C,R}, \ttt{C}, or \ttt{,R} are a valid inputs, +\qcmd{C,R}, \qcmd{C}, or \qcmd{,R} are a valid inputs, where R=rows (int), and C=columns, (int). If you want a 1 column wide, multirow cell, -you can pass \ttt{,R}. These numbers can be negative. +you can pass \qcmd{,R}. These numbers can be negative. If no spec is passed, (argument empty), \tMC\ acts like a \texttt{makecell}. -Additionally, you can pass \ttt{+} in place of C (number of columns wide), +Additionally, you can pass \qcmd{+} in place of C (number of columns wide), and it will make the cell width fill until the end of the current row. Examples:\\ -\ttt{\textbackslash MC[2,2]} means two columns wide, two rows tall.\\ -\ttt{\textbackslash MC[2,1]} or \ttt{\textbackslash MC[2]} or means two columns wide, one row tall.\\ -\ttt{\textbackslash MC[1,2]} or \ttt{\textbackslash MC[,2]} means one column wide, two rows tall.\\ +\qcmd{\MC[2,2]} means two columns wide, two rows tall.\\ +\qcmd{\MC[2,1]} or \qcmd{\MC[2]} or means two columns wide, one row tall.\\ +\qcmd{\MC[1,2]} or \qcmd{\MC[,2]} means one column wide, two rows tall.\\ In any of these examples, you can place the alignment letters anywhere. -\PARA{(override}% +\llcmd{(override}% You may want to adjust the column specification of a multicolumn cell,\\ -\PARA{multicolumn)}for example, using +\llcmd{multicolumn)}for example, using \texttt{@\{\}c@\{\}} to remove padding between the cell. -\PARA{}% -You can place formatting like \CMD{bfseries} here. +\llcmd{}% +You can place formatting like \cmd{\bfseries} here. Here's an example. -\Example{ +\begin{LTXexample} \begin{tabular}{| c | c | c | c | c | c |}\toprule - \MC[2,2cm]<\tt>{2,2cm} & \MC[2r]<\tt>{2r} & 5 & \MC[,2b]<\tt>{,2b}\\ + \MC[2,2cm]<\ttfamily>{2,2cm} & \MC[2r]<\ttfamily>{2r} & 5 & \MC[,2b]<\ttfamily>{,2b}\\ & & 3 & 4 & 5 & \\\midrule - 1 & 2 & \MC[2l](@{}l)<\tt>{2l (\@\{\}l)} & 5 & 6666\\\cmidrule{3-4} - 1 & \MC[+r]<\tt>{+r} \\ + 1 & 2 & \MC[2l](@{}l)<\ttfamily>{2l (\@\{\}l)} & 5 & 6666\\\cmidrule{3-4} + 1 & \MC[+r]<\ttfamily>{+r} \\ \\ - 1 & 2 & 3 & 4 & 5 & \MC[,-2]<\tt>{,\\-2}\\ + 1 & 2 & 3 & 4 & 5 & \MC[,-2]<\ttfamily>{,\\-2}\\ \end{tabular} -} +\end{LTXexample} + %%% https://tex.stackexchange.com/questions/287346/width-of-column-after-multicolumn-header %\textbackslash MC[]{