diff options
author | Karl Berry <karl@freefriends.org> | 2023-09-14 20:25:13 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2023-09-14 20:25:13 +0000 |
commit | d6880412cfd3146e7b1f60870c697dd57cb63375 (patch) | |
tree | c9f57d60226602cd6db937960c7ae2ab2b13f0cf | |
parent | 55b82c74f04f6bfaad0d922aa48a9919e89fed84 (diff) |
arraycols (14sep23)
git-svn-id: svn://tug.org/texlive/trunk@68277 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r-- | Master/texmf-dist/doc/latex/arraycols/arraycols.pdf | bin | 463229 -> 464654 bytes | |||
-rw-r--r-- | Master/texmf-dist/source/latex/arraycols/arraycols.dtx | 178 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/arraycols/arraycols.sty | 2 |
3 files changed, 109 insertions, 71 deletions
diff --git a/Master/texmf-dist/doc/latex/arraycols/arraycols.pdf b/Master/texmf-dist/doc/latex/arraycols/arraycols.pdf Binary files differindex d66dd231be1..b42c461d366 100644 --- a/Master/texmf-dist/doc/latex/arraycols/arraycols.pdf +++ b/Master/texmf-dist/doc/latex/arraycols/arraycols.pdf diff --git a/Master/texmf-dist/source/latex/arraycols/arraycols.dtx b/Master/texmf-dist/source/latex/arraycols/arraycols.dtx index 43dc0fe7eaa..b3a438be983 100644 --- a/Master/texmf-dist/source/latex/arraycols/arraycols.dtx +++ b/Master/texmf-dist/source/latex/arraycols/arraycols.dtx @@ -20,7 +20,7 @@ %<*package> \NeedsTeXFormat{LaTeX2e}[2005/12/01] \ProvidesPackage{arraycols} - [2023/08/09 v1.3 .dtx arraycols file] + [2023/09/13 v1.4 .dtx arraycols file] %</package> %<*driver> \documentclass{ltxdoc} @@ -29,6 +29,12 @@ \usepackage[french,english]{babel} \usepackage{lmodern} \usepackage{arraycols} + +\usepackage{sectsty} +\usepackage{xcolor} +\definecolor{darkbrown}{rgb}{0.5,0.1,0.1} +\allsectionsfont{\color{darkbrown}} + \DisableCrossrefs %\CodelineIndex %\RecordChanges @@ -72,9 +78,11 @@ % \changes{v1.0}{2019/05/04}{Initial version, creating dtx and ins files} % \changes{v1.0}{2019/06/17}{English translation by François Bastouil} % \changes{v1.1}{2020/11/23}{Incompatibility with tablestyles mentioned, -% minor changes in documentation} -% \changes{v1.2}{2021/09/20}{Incompatibility with siunitx package (called by pstricks-add) is solved} -% \changes{v1.3}{2023/09/08}{Small changes in the documentation} +% minor changes in documentation} +% \changes{v1.2}{2021/09/20}{Incompatibility with siunitx package +% (called by pstricks-add) is solved} +% \changes{v1.3}{2023/08/09}{Small changes in documentation} +% \changes{v1.4}{2023/09/13}{More changes in documentation} % % \GetFileInfo{arraycols.sty} % @@ -82,15 +90,16 @@ % corresponds to \textsf{arraycols}~\fileversion, dated \filedate. % Thanks to François Bastouil for assistance with the English translation.}} % \author{Antoine Missier \\ \texttt{antoine.missier@ac-toulouse.fr}} -% \date{August 9, 2023} +% \date{September 13, 2023} % \maketitle % % \section{Introduction} % -% This package introduces new predefined column types for tables, alongside -% the \textsf{array} package by Frank Mittelbach and David Carlisle~\cite{ARRAY}. It also includes a command for wide horizontal rule drawing. +% This package introduces new predefined column types for tables, in addition to +% the \textsf{array} package by Frank Mittelbach and David Carlisle~\cite{ARRAY}. +% It also includes a command for wide horizontal rule drawing. % Below is a summary of the column types and macro defined by \textsf{arraycols}, -% with further to follow. +% which will be detailed in the following section. % % \begin{center}\small \setlength{\extrarowheight}{1pt} % \begin{tabular}{|cIm{7.9cm}|} @@ -112,7 +121,8 @@ % \hline % \texttt{y} & Left-aligned column in math mode with adjusted height \\ % \hline -% \texttt{z}\marg{width} & Centered column in math mode, similar to \texttt{x}, with adjusted height, +% \texttt{z}\marg{width} & Centered column in math mode, similar to \texttt{x}, +% with adjusted height, % but with fixed \meta{width} \\ % \hline % \texttt{T} & Centered text column with adjusted width @@ -132,62 +142,66 @@ % \end{tabular} % \end{center} % -% Note that if a column type has been previously defined, +% Note that if a column type has been previously defined by another package, % using \textsf{arraycols} will overwrite it and display a warning message. % -% In addition to loading the \textsf{array} package, \textsf{arraycols} also requires the \textsf{cellspace} package~\cite{CELLSP}, -% which is necessary for the \texttt{x}, \texttt{y}, \texttt{z} and \texttt{Z} column types. Moreover it relies on +% In addition to loading the \textsf{array} package, \textsf{arraycols} +% also requires \textsf{cellspace}~\cite{CELLSP}, +% which is necessary for the \texttt{x}, \texttt{y}, \texttt{z} and \texttt{Z} column types. +% Moreover it relies on % \textsf{tabularx}~\cite{TABX} for \texttt{T} and \texttt{Z} column types and % loads \textsf{makecell}~\cite{MKCELL} for creation of multilined tabular cells. % It's worth mentioning that the \textsf{tablestyles} package~\cite{TBLSTY} -% also defines L, C, R and Z column types differently. +% also defines L, C, R and Z column types, but differently. % Nevertheless, \textsf{tablestyles} is incompatible with \textsf{makecell} % and consequently with \textsf{arraycols} as well. % -% Despite its minimal code, this package does not aim to introduce new macros. -% Its main purpose is to combine and configure features derived from other packages. +% With its minimal code, \textsf{arraycols} makes no claim to develop new macros. +% Its purpose is to combine and configure functionalities derived from other packages. % % \section{Usage} % %\medskip % \DescribeEnv{L} \DescribeEnv{C} \DescribeEnv{R} % Referring to an example from the \textsf{array} package documentation, -% the |L|, |C| and |R| columns types, offered by \textsf{arraycols}, provide the convenience -% of reversing the mathematical mode. +% the |L|, |C| and |R| columns types, enable the +% reversal of the mathematical mode. % This allows to achieve centered, left-aligned or right-aligned % LR-mode in an \texttt{array} environment or an equivalent math-mode % in a \texttt{tabular} environment. % For instance, using the declaration "\begin{tabular}{|l|C|r|}" sets the second column % in centered mathematical mode. Similarly, using the declaration "\begin{array}{|L|c|c|}" -% sets the first column\footnote{The declarations +% sets the first column in text mode, left-aligned\footnote{The declarations % \texttt{L, C, R} do not work in a \texttt{tabularx} environment. % Additionally, the \mbox{\textsf{tabulary}} package by David Carlisle~\cite{TABY} -% already defines the \texttt{L, C, R} and \texttt{J} column types for specific alignments +% already defines the \texttt{L, C, R} (and \texttt{J}) column types for specific alignments % in tables of the same type as \texttt{tabularx}. -% However there is no incompatibility with \textsf{arraycols} because these column definitions -% apply exclusively in \texttt{tabulary} environments. -% } in text mode, left-aligned. +% However, there is no incompatibility with \textsf{arraycols} because these column definitions +% apply exclusively within \texttt{tabulary} environments. +% }. % % \medskip % \DescribeEnv{t\marg{width}} -% The newly introduced column type definition \texttt{t}\{\meta{width}\} (text in LR-mode) -% achieves both horizontal and vertical centering within the column. It is distinct from the traditional -% \texttt{p}\marg{width} (in standard \LaTeX) and \texttt{m}\marg{width} -% (from the \textsf{array} package) column types, which are equivalent to -% "\parbox[t]" or "\parbox". +% The newly introduced column type definition \texttt{t}\{\meta{width}\} +% horizontally and vertically centers paragraphs within the column, +% with a specified \meta{width}. +% In contrast, the traditional \texttt{p}\marg{width} (in standard \LaTeX) +% and \texttt{m}\marg{width} (from the \textsf{array} package) column types, +% justifies paragraphs, while text in \texttt{t}\{\meta{width}\} is centered. % % \medskip % \DescribeEnv{x} \DescribeEnv{y} % In order to guarantee adequate row heights, especially for displaymath mode % formulas, the package includes the column types \texttt{x} (centered) -% and \texttt{y} (left aligned), based on the \textsf{cellspace} package +% and \texttt{y} (left aligned). +% These column types activate the mathematical mode and +% allow automatic adjustment of row heights to prevent any overlap with +% horizontal rules in cases where the content is too tall, +% thanks to a functionality of the \textsf{cellspace} package % by Josselin Noirel~\cite{CELLSP}. -% These column types allow automatic adjustment of row heights to prevent any overlap with -% horizontal rules in cases where the content is too tall. % While \textsf{cellspace} is initially designed for \texttt{tabular} environments, -% the new \texttt{x} and \texttt{y} column types, introduces by \mbox{\textsf{arraycols}}, -% generate mathematically well-adjusted columns. -% They are applicable in both \texttt{tabular} and \texttt{array} environments. +% the new \texttt{x} and \texttt{y} column types +% are applicable in both \texttt{tabular} and \texttt{array} environments. % Examine the following examples created using % "\begin{array}{|c|}" and "\begin{array}{|x|}". % \[ @@ -222,24 +236,26 @@ % \og the \textsf{amsmath} package can be loaded beforehand with other % packages (such as \texttt{empheq} or \texttt{mathtools}), % were an incompatibility to arise from one’s loading it later\fg.} -% to effectively manage row heights in matrix tables. +% to efficiently manage row heights, including in matrices. % Another option of \textsf{cellspace}, \texttt{column=Q} % (with \texttt{S} being the default in \textsf{cellspace})\footnote{The -% selection of the letter Q to substitute the default column modifier S of the \textsf{cellspace} -% package is here arbitrary.}, was necessary to prevent any compatibility issues +% letter Q is a substitute for the default column modifier S of the \textsf{cellspace} +% package.}, was necessary to prevent any compatibility issues % with the \textsf{siunitx} package (also loaded by \textsf{pstricks-add}). -% The \texttt{Q} column type serves as a \og modifier \fg{} -% that, when combined with the traditional -% column types \texttt{l, c, r}, permits the adjustment of cell height. +% The \texttt{Q} declaration serves as a \og modifier \fg{} +% that, when placed before a column type declaration, +% permits the adjustment of cell height, +% for instance ``\texttt{Qc}'' for a vertical adjustment +% within a centered column type. % % \medskip % Notice that another package, \textsf{booktabs}~\cite{BOOK}, also offers % excellent row height adjustment. However, regrettably, it doesn't handle the height -% of vertical separators "|". +% of vertical separators ``"|"''. % In order to achieve a similar vertical adjustment as \textsf{booktabs}, -% we configure the \textsf{cellspace} parameters as follows:\\ -% "\setlength{\cellspacetoplimit}{3pt}", \\ -% "\setlength{\cellspacebottomlimit}{2pt}". +% we set the \textsf{cellspace} parameters as follows:\\ +% \indent\indent"\setlength{\cellspacetoplimit}{3pt}", \\ +% \indent\indent"\setlength{\cellspacebottomlimit}{2pt}". % % Additionally, it's worth mentioning the \textsf{tabls} package by Donald Arneseau~\cite{TABLS} % that makes a good adjustment of row heights as well, but it is incompatible @@ -253,21 +269,25 @@ % % \medskip % \DescribeEnv{z\marg{width}} -% The \texttt{z}\marg{width} column type allows you to define the column width, -% just like \texttt{t}\marg{width}, -% and it also activates math mode and adjusts the row height, -% similar to the \texttt{x} column type. +% The \texttt{z}\marg{width} column type activates the mathematical mode +% and allows to define the column width, +% similar to \texttt{t}\marg{width}. +% It also adjusts the row height, akin to the \texttt{x} column type. +% The content consist of a single line. When it becomes too wide, it may protrude to the right. % % \medskip % \DescribeEnv{T} \DescribeEnv{Z} % The \textsf{tabularx} package by David Carlisle~\cite{TABX} introduces -% the \texttt{X} column definition, which calculates its width based on +% the \texttt{X} column definition, which calculates its width in relation to % the required width for the entire table. It aligns text to the left -% akin to \texttt{p}\marg{width}. -% For instance, using "\begin{tabularx}{8cm}{|c|X|X|}" adjusts the width of the \texttt{X} columns +% similar to \texttt{p}\marg{width}. +% For instance, using "\begin{tabularx}{8cm}{|c|X|X|}" +% adjusts the width of the \texttt{X} columns % to achieve a total width of 8\,cm. To complement this, we offer -% the \texttt{T} declaration, which performs a similar function but centers the content horizontally. -% Additionally the \texttt{Z} declaration goes further by activating mathematical mode and adjusting +% the \texttt{T} declaration, which performs a similar function +% but centers the content horizontally. +% Additionally the \texttt{Z} declaration activates mathematical +% mode and adjusts % line heights, comparable to \texttt{x} or \texttt{z}). Here's an example with % "\begin{tabularx}{\linewidth}{|T|y|x|Z|T|}". % \begin{center} @@ -281,24 +301,30 @@ % \hline % \end{tabularx} % \end{center} -% In order to maintain precise alignment of fraction bars within mathematical formulas, -% cells are deliberately not vertically centered. Nevertheless, for achieving accurate vertical positioning -% within the last cell, we have used the powerful "\makecell" command from +% Observe that cells 3 and 4 are not vertically centered to preserve +% the precise alignment of fraction bars within mathematical formulas +% across cells. +% For achieving accurate vertical positioning +% within the last cell, we have used the powerful "\makecell"\oarg{pos}\marg{content} +% command from % the \textsf{makecell} package by Olga Lapko~\cite{MKCELL}: % "\makecell{a multi-line \\ piece of text}". % % \bigskip -% \DescribeEnv{I} \DescribeEnv{V\marg{thickness}} +% \DescribeEnv{I} \DescribeEnv{V\marg{thickness}} % The column definition \texttt{I} is mentioned in The \LaTeX\ Companion~\cite{COMP} -% and allows for drawing a thicker \emph{vertical} line (1\,pt thick) compared to the one achieved -% with the standard declaration "|". For selecting the line thickness, we additionally provide the column +% and allows for drawing a thicker \emph{vertical} line (1\,pt thick) +% compared to the one achieved +% with the standard declaration ``"|"''. For selecting the line thickness, +% we additionally provide the column % definition \texttt{V}\marg{thickness}\footnote{The definition of \texttt{V} -% would have been simplified by utilizing an optional argument for \texttt{I}, but unfortunately, this approach doesn't function.}. +% would have been simplified by utilizing an optional argument for \texttt{I}, +% but unfortunately, this approach doesn't function.}. % % \medskip % \DescribeMacro{\whline} -% Similarly, the "\whline" command, suggested in The \LaTeX\ Companion, allows for drawing a -% thicker \emph{horizontal} line (1\,pt thick) compared to the line obtained with "\hline". +% Similarly, the "\whline" command, suggested in The \LaTeX\ Companion, enables the drawing of +% a thicker \emph{horizontal} line (1\,pt thick) compared to the line obtained with "\hline". % Moreover, the \textsf{makecell} package provides the command "\Xhline"\marg{thickness} % enabling the choice of horizontal rule thickness. % @@ -307,12 +333,13 @@ % serving as a separator between the two text columns. % Horizontal rules at the beginning and end of the table are accomplished using "\whline", % while a "\Xhline{0.8pt}" rule is employed after the legend rows. -% The formatting of header rows is achieved using the "\thead" command from the \textsf{makecell} -% package. By default, \textsf{arraycols} sets: +% The formatting of header rows is achieved using the "\thead" command +% from the \textsf{makecell} package. By default, \textsf{arraycols} sets: % "\renewcommand\theadfont{\footnotesize\sffamily}" -% (initially |\footnotesize| only, without "\sffamily"). +% (in \textsf{makecell} it is |\footnotesize| only, without "\sffamily"). % Lastly, following a recommendation of the \textsf{array} package~\cite{ARRAY}, -% an additional 1\,pt has been added to the standard height of each row within this table. This adjustment is implemented with the command +% an additional 1\,pt has been added to the standard height of each row within this table. +% This adjustment is implemented with the command % "\setlength{\extrarowheight}{1pt}"\footnote{As stated % in the \textsf{array} package documentation: % \og This is important for tables with horizontal lines because those @@ -332,7 +359,8 @@ \newcolumntype{R}{>{$}r<{$}} \newcolumntype{t}[1]{>{\centering\arraybackslash}m{#1}} % \end{macrocode} -% The \textsf{cellspace} package offers the \texttt{S} modifier (we used \texttt{Q} instead), which, +% The \textsf{cellspace} package provides the \texttt{S} modifier +% (we used \texttt{Q} instead), which, % when placed before a column declaration, allows for the adjustment of cell content height % to prevent any overlap with horizontal rules. The spacing between the content and the rules % is governed by the parameters @@ -345,20 +373,28 @@ \setlength{\cellspacebottomlimit}{2pt} \newcolumntype{z}[1]{>{$}Q{>{\centering\arraybackslash}p{#1}}<{$}} % \end{macrocode} -% When defining the \texttt{z} column type, we employ the \texttt{p} column type instead of \texttt{m} -% (which centers content automatically). This choice ensures proper alignment of mathematical +% For the \texttt{z} column type, we employed the \texttt{p} declaration +% instead of \texttt{m} (which should automatically center content). +% This choice ensures proper alignment of mathematical % expressions within cells of the same row. +% The same result can be achieved with the following definition: +% "\newcolumntype{z}[1]{>{$}Q{W{c}{#1}}<{$}}" with "W{c}" defined +% in the \textsf{array} package. +% % \medskip % \begin{macrocode} \newcolumntype{T}{>{\centering\arraybackslash}X} \newcolumntype{Z}{>{$}QT<{$}} % \end{macrocode} -% The \texttt{T} columns are not centered automatically. Although it's possible to achieve this +% Like \texttt{X}, the \texttt{T} columns are not vertically centered. +% Although it's possible to achieve this % by using the command "\renewcommand{\tabularxcolumn}[1]{m{#1}}" % (with \texttt{m} instead of default value \texttt{p}), % unfortunately, this approach has a global effect on all column declarations based % on \texttt{X}, including \texttt{T} and \texttt{Z}. As a result, it could disrupt the % alignment of mathematical expressions within cells of the same row. +% +% \medskip % \begin{macrocode} \newcolumntype{I}{!{\vrule width 1pt}} \newcolumntype{V}[1]{!{\vrule width #1}} @@ -371,6 +407,7 @@ \renewcommand\theadfont{\footnotesize\sffamily} % \end{macrocode} % +% \bigskip % \begin{thebibliography}{11} % \bibitem{ARRAY} \emph{A new implementation of LATEX’s \textsf{tabular} and \textsf{array} % environment}, Frank Mittelbach, David Carlisle, CTAN, v2.4k revised 2018/12/30. @@ -384,7 +421,8 @@ % \bibitem{BOOK} \emph{Publication quality tables in \LaTeX}, package \textsf{booktabs} by % Simon Fear, CTAN, v1.618033 2016/04/29. % \bibitem{TABLS} \emph{The \textsf{tabls} package}, Donald Arseneau, CTAN, v3.5 2010/02/26. -% \bibitem{STRUT} \emph{The \textsf{multirow}, \textsf{bigstrut} and \textsf{bigdelim} packages}, +% \bibitem{STRUT} \emph{The \textsf{multirow}, \textsf{bigstrut} +% and \textsf{bigdelim} packages}, % Piet van Oostrum, Øystein Bache, Jerry Leichter, CTAN, v2.4 2019/01/01. % \bibitem{SPA} \emph{The \textsf{spacingtricks} package}, Antoine Missier, % CTAN, v1.3 2020/11/02. diff --git a/Master/texmf-dist/tex/latex/arraycols/arraycols.sty b/Master/texmf-dist/tex/latex/arraycols/arraycols.sty index 2a2a4a56d80..a7e81f20224 100644 --- a/Master/texmf-dist/tex/latex/arraycols/arraycols.sty +++ b/Master/texmf-dist/tex/latex/arraycols/arraycols.sty @@ -22,7 +22,7 @@ %% \NeedsTeXFormat{LaTeX2e}[2005/12/01] \ProvidesPackage{arraycols} - [2023/08/09 v1.3 .dtx arraycols file] + [2023/09/13 v1.4 .dtx arraycols file] \RequirePackage{array} \RequirePackage[math,column=Q]{cellspace} \RequirePackage{tabularx} % must be loaded after cellspace |