summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Master/texmf-dist/doc/latex/makecell/README36
-rw-r--r--Master/texmf-dist/doc/latex/makecell/makecell-rus.tex588
-rw-r--r--Master/texmf-dist/doc/latex/makecell/makecell.pdfbin186580 -> 224236 bytes
-rw-r--r--Master/texmf-dist/doc/latex/makecell/makecell.xml15
-rw-r--r--Master/texmf-dist/doc/latex/makecell/tablists-rus.tex576
-rw-r--r--Master/texmf-dist/doc/latex/makecell/tablists.pdfbin0 -> 158815 bytes
-rw-r--r--Master/texmf-dist/doc/latex/makecell/tablists.xml20
-rw-r--r--Master/texmf-dist/source/latex/makecell/makecell.dtx633
-rw-r--r--Master/texmf-dist/source/latex/makecell/tablists.dtx793
-rw-r--r--Master/texmf-dist/tex/latex/makecell/makecell.sty139
-rw-r--r--Master/texmf-dist/tpm/makecell.tpm12
-rw-r--r--Master/texmf/lists/makecell4
12 files changed, 2554 insertions, 262 deletions
diff --git a/Master/texmf-dist/doc/latex/makecell/README b/Master/texmf-dist/doc/latex/makecell/README
index b20342c2dc2..8577d815a77 100644
--- a/Master/texmf-dist/doc/latex/makecell/README
+++ b/Master/texmf-dist/doc/latex/makecell/README
@@ -1,12 +1,24 @@
-makecell 0.1c
-Tabular column heads and multilined cells.
-
- Package offers a command, based on one-column tabular environment,
- which allows to support a common layout for tabular column heads
- in whole document. Another offered command is for creation of
- multilined tabular cells. There are also: 1) a macro, which
- changes vertical spaces around all cells in tabular, like in tabls
- package, but based on macros of array package; 2) macros for
- multirow cells/heads, which use macro from multirow package.
-
-Documentation: makecell.pdf. \ No newline at end of file
+makecell 0.1d
+Managing of tabular column heads and cells.
+
+ Package offers a command, based on one-column tabular environment, which
+ allows to support a common layout for tabular column heads in whole
+ document. Another offered command is for creation of multilined tabular
+ cells. There are also: 1) a macro, which changes vertical spaces
+ around all cells in tabular, like in tabls package, but based on array
+ package; 2) macros for multirow cells/heads, which use macro from
+ multirow package; 3) macros for numbered rows of cells or skipping
+ cells in tabulars; 4) diagonally divided cells; 5) macros for
+ horizonral lines in tabulars with defined thickness.
+
+Documentation: makecell.pdf.
+
+tablists 0.0a (beta)
+Tabulated list of short items (exersizes in textbooks).
+
+ Package offers environments and commands for one-level and two-level
+ lists of short items (exersizes in textbooks). The environments follow
+ support of optional arguments of item numbering as enumerate or paralist
+ packages.
+
+Documentation: tablists.pdf.
diff --git a/Master/texmf-dist/doc/latex/makecell/makecell-rus.tex b/Master/texmf-dist/doc/latex/makecell/makecell-rus.tex
index bd5d1b07690..5ea5537e700 100644
--- a/Master/texmf-dist/doc/latex/makecell/makecell-rus.tex
+++ b/Master/texmf-dist/doc/latex/makecell/makecell-rus.tex
@@ -1,6 +1,6 @@
% \iffalse
%
-% makecell.dtx - tabular column heads and multilined cells.
+% makecell.dtx - Managing of tabular column heads and cells.
% Russian documentation.
% (c) 2005--2006 Olga Lapko (Lapko.O@g23.relcom.ru)
%
@@ -57,45 +57,83 @@
% \author{%
% Ольга Лапко\\
% {\tt Lapko.O@g23.relcom.ru} }
-% \date{2006/06/28}
+% \date{2007/05/24}
% \maketitle
% \begin{abstract}
+%^^A% This package helps to create common layout for tabular material.
+%^^A% The |\thead| command, based on one-column tabular environment, is offered
+%^^A% for creation of tabular column heads. This macro allows to support common
+%^^A% layout for tabular column heads in whole documentation. Another command,
+%^^A% |\makecell|, is offered for creation of multilined tabular cells.
% Данный пакет помогает создать единое оформление для таблиц во всём
% документе. Команда |\thead|, использующая окружение одноколоночной
% таблицы, позволяет создать единообразное оформление для заголовков
-% табличных колонок в документе. Ещё одна команда, |\makecell|,
-% предлагается для создания многострочных ячеек в таблицах.
+% табличных колонок в~документе. Ещё одна команда, |\makecell|,
+% предлагается для создания многострочных ячеек в~таблицах.
%
-% Также предлагается: \quad 1)\nobreak\enskip макрокоманда |\makegapedcells|,
+%^^A% Package also offers: \quad 1)\nobreak\enskip macro |\makegapedcells|,
+%^^A% which changes vertical spaces around all cells in tabular, like in
+%^^A% \pkg{tabls} package, but uses code of \pkg{array} package. (Macro
+%^^A% |\makegapedcells| redefines macro |\@classz| from \pkg{array} package.
+%^^A% Macro |\nomakegapedcells| cancels this redefinition.);
+%^^A% \quad 2)\nobreak\enskip macros |\multirowhead| and |\multirowcell|,
+%^^A% which use |\multirow| macro from \pkg{multirow} package;
+%^^A% \quad 3)\nobreak\enskip numbered lines |\nline| or skipping cells |\eline|
+%^^A% in tabulars;
+%^^A% \quad 4)\nobreak\enskip diagonally divided cells (|\diaghead|);
+%^^A% \quad 5)\nobreak\enskip |\hline| and |\cline| width necessary thickness:
+%^^A% |\Xhline| and |\Xcline| consequently.
+% Также предлагается: \qquad 1)\nobreak\enskip макрокоманда |\makegapedcells|,
% которая изменяет вертикальные отбивки вокруг табличных ячеек, аналогично
-% пакету \pkg{tabls}, но использует пакет \pkg{array}. (Макрокоманда
-% |\makegapedcells| переопределяет макрокоманду |\@classz| этого пакета.
-% Макрокоманда |\nomakegapedcells| отменяет переопределение.); \quad
-% 2)\nobreak\enskip макрокоманды |\multirowhead| и |\multirowcell|,
-% использующие макрокоманду |\multirow| из пакета \pkg{multirow}.%
+% пакету \pkg{tabls}, но использует пакет \pkg{array}. (Команда
+% |\makegapedcells| переопределяет макрокоманду |\@classz| пакета
+% \pkg{array}. Макрокоманда |\nomakegapedcells| отменяет переопределение.);
+% \qquad 2)\nobreak\enskip макрокоманды |\multirowhead| и~|\multirowcell|,
+% использующие макрокоманду |\multirow| из пакета \pkg{multirow};
+% \qquad 3)\nobreak\enskip ряд нумерованных |\nline| или пропущенных |\eline|
+% ячеек;
+% \qquad 4)\nobreak\enskip ячейки разделённые диагональю (|\diaghead|);
+% \qquad 5)\nobreak\enskip линейки |\hline| и~|\cline| с~заданной толщиной:
+% |\Xhline| и~|\Xcline|.
% \smallskip
%
% \end{abstract}
%
-% \section{Табличные ячейки и заголовки колонок}
+% \clearpage
+% \tableofcontents
%
+% \clearpage
+%^^A% \section{Tabular Cells and Column Heads}
+% \section{Табличные ячейки и~заголовки колонок}
+%
+%^^A% \subsection{Building Commands}
% \subsection{Основные команды}
%
% \DescribeMacro{\makecell}
-% Макрокоманда создаёт окружение одноколоночной таблицы с предопределёнными общими
-% параметрами выключки, интерлиньяжа и вертикальных отбивок вокруг
+%^^A% Macro creates one-column tabular with predefined common settings of
+%^^A% alignment, spacing and vertical spaces around (see section~\ref{sec:sets}).
+%^^A% This will be useful for creation of multilined cells. This macro allows
+%^^A% optional alignment settings.
+% Макрокоманда создаёт окружение одноколоночной таблицы с~предопределёнными общими
+% параметрами выключки, интерлиньяжа и~вертикальных отбивок вокруг
% (см. разд.~\ref{sec:sets}). Её удобно использовать для
% многострочных ячеек. Дополнительный аргумент команды позволяет
% изменить выключку таблицы.
% \begin{quote}
% |\makecell|\oarg{vertical or/and horizontal alignment}\marg{cell text}
% \end{quote}
+%^^A% For vertical alignment you use \texttt{t}, \texttt{b}, or \texttt{c}---%^^A
+%^^A% this letters you usually put in optional argument of \env{tabular} or
+%^^A% \texttt{array} environments. For horizontal alignment you may use alignment
+%^^A% settings like \texttt{r}, \texttt{l}, or \texttt{c}, or more complex, like
+%^^A% |{p{3cm}}|. Since this package loads \pkg{array} package, you may
+%^^A% use such alignment settings like |{>{\parindent1cm}p{3cm}}|.
% Для вертикальной выключки используются обозначения \texttt{t}, \texttt{b},
-% или \texttt{c} "--- эти буквы используются в дополнительном аргументе окружений
+% или \texttt{c} \cdash--- эти буквы используются в~дополнительном аргументе окружений
% \env{tabular} или \texttt{array}. Для горизонтальной выключки вы можете
% использовать обозначения \texttt{r}, \texttt{l}, или \texttt{c}, или более
% сложные: |{p{3cm}}|. Поскольку данный пакет загружает пакет \pkg{array}, вы
-% можете использовать и такие определения выключки: |{>{\parindent1cm}p{3cm}}|.
+% можете использовать и~такие определения выключки: |{>{\parindent1cm}p{3cm}}|.
%\begin{verbatim}
%\begin{tabular}{|c|c|}
%\hline
@@ -138,25 +176,42 @@
% \end{tabular}}
% \end{table}
%
-% |*|-форма команды, |\makecell*|, создаёт вертикальные отбивки равные |\jot|.
+%^^A% Starred form of command, |\makecell*|, creates vertical |\jot| spaces
+%^^A% around.
+% Звёздная форма команды, |\makecell*|, создаёт вертикальные отбивки равные~|\jot|.
%
-% \emph{Замечание}. При определении выключки колонки типа |{p{3cm}}| в
-% дополнительном аргументе, нужно соблюдать следующие правила:
+%^^A% \emph{Note}. When you define column alignment like |p{3cm}| in optional
+%^^A% argument of |\makecell| (or |\thead|, see below), please follow these
+%^^A% rules: \quad 1)\nobreak\enskip if vertical
+%^^A% alignment defined, write column alignment in group, e.g. |[c{p{3cm}}]|;
+%^^A% \quad 2)\nobreak\enskip if vertical alignment is absent,
+%^^A% write column alignment in double
+%^^A% group---|[{{p{3cm}}}]|, or add empty group---|[{}{p{3cm}}]|. Be also
+%^^A% careful with vertical alignment when you define column alignment as
+%^^A% paragraph block: e.g., use |{{b{3cm}}}| for bottom alignment (and
+%^^A% |{{m{3cm}}}| for centered vertical alignment).
+% \emph{Замечание}. При определении выключки колонки типа |{p{3cm}}|
+% в~дополнительном аргументе команды |\makecell| (или |\thead|, см.~ниже),
+% нужно соблюдать следующие правила:
% \quad 1)\nobreak\enskip если есть
-% обозначение вертикальной выключки, взять выключку колонки в группу:
+% обозначение вертикальной выключки, взять выключку колонки в~группу:
% |[c{p{3cm}}]|; \quad
-% 2)\nobreak\enskip если его нет, взять выключку
-% колонки в двойную группу "--- |[{{p{3cm}}}]| или добавить пустую группу
-% "--- |[{}{p{3cm}}]|.
-% Будьте внимательны с вертикальной выключкой ячейки при задании выключки
-% колонки в виде абзаца:
+% 2)\nobreak\enskip если вертикальной выключки нет, взять выключку
+% колонки в~двойную группу \cdash--- |[{{p{3cm}}}]| или добавить пустую группу
+% \cdash--- |[{}{p{3cm}}]|.
+% Будьте внимательны с~вертикальной выключкой ячейки при задании выключки
+% колонки в~виде абзаца:
% например, нужно использовать |{b{3cm}}| для выключки по нижней линии
-% (и |{m{3cm}}| для выключки по средней линии).
+% (и~|{m{3cm}}| для выключки по средней линии).
%
% \DescribeMacro{\thead}
+%^^A% Macro creates one-column \texttt{tabular} for column heads with predefined
+%^^A% common settings (see table~\ref{tab:thead}). This macro uses common layout
+%^^A% for column heads: font, alignment, spacing, and vertical spaces around
+%^^A% (see section~\ref{sec:sets}).
% Макрокоманда создаёт окружение одноколоночной таблицы для заголовков колонок
-% с предопределёнными
-% общими параметрами выключки и интерлиньяжа (см.~табл.~\ref{tab:thead}).
+% с~предопределёнными
+% общими параметрами выключки и~интерлиньяжа (см.~табл.~\ref{tab:thead}).
% Эта макрокоманда использует общие установки для заголовков колонок: шрифт,
% выключку, интерлиньяж, вертикальные отбивки вокруг (см. разд.~\ref{sec:tsets}).
%\begin{verbatim}
@@ -184,16 +239,24 @@
% \end{tabular}}
% \end{table}
%
-% |*|-форма команды, |\thead*|, создаёт вертикальные отбивки равные|\jot|.
+%^^A% Starred form of command, |\thead*|, creates vertical |\jot| spaces around.
+% Звёздная форма команды, |\thead*|, создаёт вертикальные отбивки равные~|\jot|.
%
% \DescribeMacro{\rothead}
+%^^A% Creates table heads rotated by 90$^\circ$ counterclockwise.
+%^^A% Macro uses the same font and spacing settings as previous
+%^^A% one, but column alignment changed to |p{\rotheadsize}| with |\raggedright|
+%^^A% justification: in this case left side of all text lines ``lies''
+%^^A% on one base line.
% Создаёт заголовки колонок, развёрнутые на 90$^\circ$ против часовой стрелки.
-% Макрокоманда использует те же установки шрифта и интерлиньяжа как и предыдущая,
-% но выключка колонки изменена на |p{\rotheadsize}| с выравниванием вправо
-% (|\raggedright|): в результате левый край строк заголовка оказывается
+% Макрокоманда использует те же установки шрифта и~интерлиньяжа как и~предыдущая,
+% но выключка колонки изменена на |p{\rotheadsize}| с~выравниванием вправо
+% (|\raggedright|): в~результате левый край строк заголовка оказывается
% на одной базовой линии.
%
% \DescribeMacro{\rotheadsize}
+%^^A% This parameter defines the width of rotated tabular heads. You may define
+%^^A% that like:
% Данный параметр определяет ширину колонки для развёрнутых вертикально заголовков.
% Его можно определить как:
% \begin{quote}
@@ -203,8 +266,9 @@
% \begin{quote}
% |\settowidth\rotheadsize{\theadfont |\meta{Widest head text}|}|
% \end{quote}
-% как сделано в следующем примере (табл.~\ref{tab:rotheads}):
-% \begin{table}[b]
+%^^A% like in following example:
+% как сделано в~следующем примере (табл.~\ref{tab:rotheads}):
+% \begin{table}
% \ttabbox
% {\caption{Пример заголовков колонок, развёрнутых вертикально}\label{tab:rotheads}}%
% {\settowidth\rotheadsize{\theadfont Second multilined}%^^A
@@ -229,60 +293,85 @@
%\end{tabular}
%\end{verbatim}
%
+%^^A% \subsection{Settings For Tabular Cells}\label{sec:sets}
% \subsection{Установки для табличных ячеек}\label{sec:sets}
%
-% В данном разделе приведены команды, которые задают оформление
-% многострочных ячеек, заданных командой |\makecell|.
-% Команда |\cellset| используется также командой |\thead|.
+%^^A% This section describes macros, which make layout tuning for multilined
+%^^A% cells, created by |\makecell| macro (and also |\multirowcell| and
+%^^A% |\rotcell| macros). The |\cellset| macro also is used by |\thead|
+%^^A% (|\rothead|, |\multirowtead|) macro.
+% В~данном разделе приведены команды, которые задают оформление
+% многострочных ячеек, заданных командой |\makecell| (а~также
+% |\multirowcell| и~|\rotcell|).
+% Команда |\cellset| используется также командой |\thead| (а~также
+% |\rothead|, |\multirowtead|).
%
% \DescribeMacro{\cellset}
+%^^A% Spacing settings for cells. Here you could use commands like:
% Установки интерлиньяжа для табличных ячеек. Здесь можно использовать следующие
% команды:
% \begin{quote}
% |\renewcommand\cellset{\renewcommand\arraytretch{1}%|\\
% | \setlength\extrarowheight{0pt}}|
% \end{quote}
-% как определено в данном пакете.
-% Данные установки используются как командой |\makecell| так и командой |\thead|
-% (|\rothead|).
+%^^A% as was defined in current package.
+% как определено в~данном пакете.
%
% \DescribeMacro{\cellalign}
-% Выключка по умолчанию для табличных ячеек. Пакет предлагает вертикальную и
-% горизонтальную выключку по центру, определённую следующим образом:
+%^^A% Default align for cells. Package offers vertical and horizontal centering
+%^^A% alignment, it defined like:
+% Выключка по умолчанию для табличных ячеек. Пакет предлагает вертикальную
+% и~горизонтальную выключку по центру, определённую следующим образом:
% \begin{quote}
% |\renewcommand\cellalign{cc}|
% \end{quote}
%
% \DescribeMacro{\cellgape}
+%^^A% Define vertical spaces around |\makecell|, using |\gape| command if
+%^^A% necessary. It defined like:
% Определяет вертикальные отбивки вокруг ячейки (|\makecell|), используя,
% если нужно, команду |\gape|. Она определена как:
% \begin{quote}
% |\renewcommand\cellgape{}|
% \end{quote}
+%^^A% You may define this command like
% Можно определить макрокоманду как
% \begin{quote}
% |\renewcommand\cellgape{\Gape[1pt]}|
% \end{quote}
+%^^A% or
% или
% \begin{quote}
% |\renewcommand\cellgape{\gape[t]}|
% \end{quote}
-% (См. также разд.~\ref{sec:gape} о команде |\gape|.)
+%^^A% (See also section~\ref{sec:gape} about |\gape| and |\gape| command.)
+% (См.~также разд.~\ref{sec:gape} о~командах |\gape| и~|\Gape|.)
%
% \DescribeMacro{\cellrotangle}
-% Угол поворота для развёрнутых ячеек и заголовков колонок.
-% По умолчанию задан угол 90 (против часовой стрелки).
+%^^A% The angle for rotated cells and column heads. The default value 90
+%^^A% (counterclockwise). This value definition is used by both |\rotcell| and
+%^^A% |\rothead| macros.
+% Угол поворота для развёрнутых ячеек и~заголовков колонок.
+% По умолчанию задан угол 90 (против часовой стрелки). Это определение
+% используется командами |\rotcell| и~|\rothead|.
%
+%^^A% \subsection{Settings For Column Heads}
% \subsection{Установки для заголовков колонок}\label{sec:tsets}
%
-% В данном разделе приведены команды, которые позволяют настроить оформление заголовков
-% табличных колонок, заданных командой |\thead| (|\rothead|).
+%^^A% This section describes macros, which make layout tuning for tabular column
+%^^A% heads, created by |\thead| (|\rothead|, |\multirowtead|) macro.
+% В~данном разделе приведены команды, которые позволяют настроить оформление заголовков
+% табличных колонок, заданных командой |\thead| (|\rothead|, |\multirowtead|).
%
% \DescribeMacro{\theadfont}
+%^^A% Sets a special font for column heads. It could be smaller size
% Задаёт шрифт для заголовков колонок. Может быть задан меньший кегель
% \begin{quote}
% |\renewcommand\theadfont{\foonotesize}|
% \end{quote}
+%^^A% as was defined in current package (here we suppose that
+%^^A% \verb|\small| command used for tabular contents itself).
+%^^A% Next example defines italic shape
% как определено в данном пакете (здесь учитывается, что задана
% команда \verb|\small| для шрифта самой таблицы).
% Следующий пример задаёт курсивное начертание
@@ -291,6 +380,7 @@
% \end{quote}
%
% \DescribeMacro{\theadset}
+%^^A% Spacing settings for column heads. Here you could use commands like:
% Установки интерлиньяжа для заголовков колонок. Здесь можно использовать следующие
% команды:
% \begin{quote}
@@ -299,42 +389,62 @@
% \end{quote}
%
% \DescribeMacro{\theadalign}
+%^^A% Default align for tabular column heads. Here also offered centering
+%^^A% alignment:
% Выключка по умолчанию для заголовков колонок. Здесь также задана выключка по центру:
% \begin{quote}
% |\renewcommand\theadalign{cc}|
% \end{quote}
%
% \DescribeMacro{\theadgape}
-% Определяет вертикальные отбивки вокруг заголовка колонки (|\makecell|), используя,
+%^^A% Define vertical spaces around column head (|\thead|),
+%^^A% using |\gape| command if necessary.
+%^^A% It defined like:
+% Определяет вертикальные отбивки вокруг заголовка колонки (|\thead|), используя,
% если нужно, команду |\gape|. Определена как:
% \begin{quote}
% |\renewcommand\theadgape{\gape}|
% \end{quote}
%
% \DescribeMacro{\rotheadgape}
+%^^A% Analogous definition for rotated column heads. Default is absent:
% То же самое для вертикальных заголовков. По умолчанию отсутствует:
% \begin{quote}
% |\renewcommand\rotheadgape{}|
% \end{quote}
%
+% \clearpage
+%^^A% \section{Changing of Height and Depth of Boxes}\label{sec:gape}
% \section{Изменение высоты и глубины боксов}\label{sec:gape}
%
+%^^A% Sometimes \env{tabular} or \env{array} cells, or some elements in text need a
+%^^A% height/depth correction. The |\raisebox| command could help for it, but
+%^^A% usage of that macro in these cases, especially inside math, is rather
+%^^A% complex. Current package offers the |\gape| macro, which usage is similar
+%^^A% to |\smash| macro. The |\gape| macro allows to change height and/or depth
+%^^A% of included box with necessary dimension.
% Иногда заголовки табличных колонок, табличные ячейки или элементы текста требуют
% коррекции высоты/глубины. Макрокоманда |\raisebox| может помочь,
-% но использование её в подобных ситуациях, особенно в математике, довольно громоздко.
+% но использование её в~подобных ситуациях, особенно в~математике, довольно громоздко.
% Данный пакет предлагает макрокоманду |\gape|, которая используется аналогично
% команде |\smash|. Макрокоманда |\gape| позволяет изменить высоту и/или глубину бокса
% на необходимую величину.
%
% \DescribeMacro{\gape}
+%^^A% This macro changes included box by |\jot| value (usually 3\,pt). It is
+%^^A% defined with optional and mandatory arguments, like |\smash| macro, which
+%^^A% (re)defined by \pkg{amsmath} package. Optional argument sets change of
+%^^A% height only (\texttt{t}) or depth only~(\texttt{b}). Mandatory argument
+%^^A% includes text.
% Первая макрокоманда изменяет бокс на величину |\jot| (обычно 3\,pt). Она задаётся
-% дополнительным и обязательным аргументами, как и команда |\smash|,
+% дополнительным и~обязательным аргументами, как и~команда |\smash|,
% (пере)определённая пакетом \pkg{amsmath}. Дополнительный аргумент задаёт
% изменение только высоты (\texttt{t}) или только глубины
% (\texttt{b}). Обязательный включает собственно текст.
% \begin{quote}
% |\gape|\oarg{\texttt{t} or \texttt{b}}\marg{text}
% \end{quote}
+%^^A% Examples of usage:
% Примеры использования:
% \begin{quote}
% \noindent
@@ -356,18 +466,25 @@
% \end{quote}
%
% \DescribeMacro{\Gape}
+%^^A% Another way of height/depth modification. This macro allows different
+%^^A% correction for height and depth of box:
% Другой вариант изменения высоты/глубины. Данная макрокоманда позволяет сделать
-% корректировку отдельно для высоты и глубины бокса:
+% корректировку отдельно для высоты и~глубины бокса:
% \begin{quote}
% |\Gape|\oarg{height corr}\oarg{depth corr}\marg{text}
% \end{quote}
%
+%^^A% If both arguments absent, |\Gape| command works like |\gape|\marg{text}, in
+%^^A% other words, command uses |\jot| as correction value for height and depth
+%^^A% of box.
% Если отсутствуют оба необязательных аргумента, команда |\Gape| работает аналогично
-% |\gape|\marg{text}, другими словами, использует для корректировки высоты и глубины
-% величину |\jot|.
+% |\gape|\marg{text}, другими словами, использует для корректировки высоты и~глубины
+% величину~|\jot|.
%
+%^^A% If only one optional argument exists, |\Gape| command uses value
+%^^A% from this argument for both height and depth box corrections.
% Если присутствует только один необязательный аргумент, команда |\Gape| использует
-% его значение для корректировки высоты и глубины бокса.
+% его значение для корректировки высоты и~глубины бокса.
% \begin{quote}
% \noindent
% \vbox{\halign{#\cr
@@ -392,47 +509,77 @@
% \crcr}}
% \end{quote}
%
+%^^A% You may also use |\height| and |\depth| parameters in optional arguments
+%^^A% of |\Gape| macro, parameters was borrowed from |\raisebox| command.
+% В~опциях команды |\Gape| вы можете использовать параметры |\height| и~|\depth|,
+% которые позаимствованы из команды |\raisebox|.
+%
% \DescribeMacro{\bottopstrut}
% \DescribeMacro{\topstrut}
% \DescribeMacro{\botstrut}
+%^^A% These three macros modify standard |\strut| by |\jot| value:
+%^^A% |\bottopstrut| changes both height and depth;
+%^^A% \nopagebreak|\topstrut| changes only height;
+%^^A% |\botstrut| changes only depth.
+%^^A% These commands could be useful, for example, in first and last table rows.
% Эти три команды изменяют стандартную команду |\strut| на величину |\jot|:
-% |\bottopstrut| изменяет и высоту и глубину;
+% |\bottopstrut| изменяет и~высоту и~глубину;
% |\topstrut| изменяет только высоту;
% |\botstrut| изменяет только глубину.
-% Эти команды можно использовать, например, в первом и последнем рядах таблицы.
+% Эти команды можно использовать, например, в~первом и~последнем рядах таблицы.
%
+%^^A% \emph{Note}. If you use
+%^^A% \pkg{bigstrut} package note that these macros duplicate \cmd{\bigstrut},
+%^^A% \cmd{\bigstrut[t]}, and \cmd{\bigstrut[b]} commands consequently. Please
+%^^A% note that value, which increases strut in \cmd{\topstrut} etc. equals to
+%^^A% \cmd{\jot}, but \cmd{\bigstrut} and others use a special dimension
+%^^A% \cmd{\bigstrutjot}.
% \emph{Замечание}. Если
% вы используете пакет \pkg{bigstrut}, обратите внимание, что эти три команды
-% дублируют \cmd{\bigstrut}, \cmd{\bigstrut[t]}, и \cmd{\bigstrut[b]} соответственно.
-% Обратите также внимание что величина, изменяющая \cmd{\strut} в команде
-% \cmd{\topstrut} и других равна \cmd{\jot}, а команда
-% \cmd{\bigstrut} и использует специальную величину \cmd{\bigstrutjot}.
+% дублируют \cmd{\bigstrut}, \cmd{\bigstrut[t]}, и~\cmd{\bigstrut[b]} соответственно.
+% Обратите также внимание что величина, изменяющая \cmd{\strut} в~команде
+% \cmd{\topstrut} и~других равна \cmd{\jot}, а~команда
+% \cmd{\bigstrut} и~использует специальную величину \cmd{\bigstrutjot}.
%
+% \clearpage
+%^^A% \section{How to Change Vertical Spaces Around
+%^^A% in Whole Table}\label{sec:beta}
% \section{Как изменить вертикальные отбивки во всей таблице}\label{sec:beta}
%
+%^^A% This section describes macros which try to emulate one of possibilities of
+%^^A% \pkg{tabls} package: to get necessary vertical spacing around cells.
% Данный раздел описывает макрокоманды, которые пытаются эмулировать
% одну из возможностей пакета \pkg{tabls}:
% создание необходимых отбивок вокруг ячеек таблицы.
%
% \DescribeMacro{\setcellgapes}
-% Определяет параметры для вертикальных отбивок. Команда похожа на команду |\gape*|
-% без аргумента \marg{text}:
+%^^A% Sets the parameters for vertical spaces:
+% Определяет параметры для вертикальных отбивок:
% \begin{quote}
% |\setcellgapes|\oarg{\texttt{t} or \texttt{b}}\marg{value}
% \end{quote}
+%^^A% The next examples with array and tabular use following settings:
% Примеры таблиц, приведённые ниже используют следующие установки:
% \begin{quote}
% |\setcellgapes{5pt}|
% \end{quote}
+%^^A% You may also try to load negative values if you wish. This macro you may
+%^^A% put in the preamble as common settings.
% Вы можете также ввести отрицательные значения. Данную макрокоманду можно поместить
-% в преамбуле документа как общие установки.
+% в~преамбуле документа как общие установки.
%
% \DescribeMacro{\makegapedcells}
% \DescribeMacro{\nomakegapedcells}
+%^^A% The first macro switches on vertical spacing settings. The second cancels
+%^^A% first~one.
% Первая макрокоманда включает создание вертикальных отбивок. Вторая отменяет первую.
%
+%^^A% The \cmd{\makegapedcells} macro temporarily redefines macro
+%^^A% |\@classz| of \pkg{array} package, so use this mechanism carefully.
+%^^A% Load |\makegapedcells| inside group or inside environment
+%^^A% (see table~\ref{tab:gaped}):
% Макрокоманда \cmd{\makegapedcells} временно переопределяет макрокоманду
-% |\@classz| из пакета \pkg{array}, поэтому используйте её осто\-рожно.
+% |\@classz| из пакета \pkg{array}, поэтому используйте её осторожно.
% Вводите команду |\makegapedcells| внутри группы или внутри окружения
% (см.~табл.~\ref{tab:gaped}):
%\begin{verbatim}
@@ -445,7 +592,7 @@
% \begin{table}
% \makegapedcells
% \ttabbox
-% {\caption{Пример многострочных ячеек с дополнительными вертикальными отбивками}%^^A
+% {\caption{Пример многострочных ячеек с~дополнительными вертикальными отбивками}%^^A
% \label{tab:gaped}}%
% {\begin{tabular}{|c|c|}
% \hline
@@ -467,45 +614,71 @@
% \end{tabular}}
% \end{table}
%
-% Обратите внимание, что отбивка заданная в |\setcellgapes| и отбивки, которые
-% создаёт макрокоманда |\gape| (|\Gape|) в командах ячеек (обычно в |\thead|
-% или в |\makecell*|) суммируются.
+%^^A% Please note that space defined in |\setcellgapes| and space which creates
+%^^A% |\gape| mechanism in commands
+%^^A% for tabular cells (usually |\thead| or |\makecell*|) are summarized.
+% Обратите внимание, что отбивка заданная в~|\setcellgapes| и~отбивки, которые
+% создаёт макрокоманда |\gape| (|\Gape|) в~командах ячеек (обычно в~|\thead|
+% или в~|\makecell*|) суммируются.
%
-% \section{Заголовки колонок и ячейки, занимающие несколько рядов}
+% \clearpage
+%^^A% \section{Multirow Table Heads and Cells}
+% \section{Заголовки колонок и~ячейки, занимающие несколько рядов}
%
+%^^A% The next examples show usage of macros which use |\multirow| command from
+%^^A% \pkg{multirow} package.\nopagebreak
% Следующие примеры показывают использование макрокоманд, использующих команду
% |\multirow| из пакета \pkg{multirow}.\nopagebreak
%
-% В начале краткое повторение значений аргументов макрокоманды |\multirow|:
+%^^A% At first goes short repetition of arguments of |\multirow| macro itself:
+% В~начале краткое повторение значений аргументов команды |\multirow|:
% \begin{quote}
% |\multirow|\marg{nrow}\oarg{njot}\marg{width}\oarg{vmove}\marg{contents}
% \end{quote}
+%^^A% \marg{nrow} sets number of rows (i.e. text lines);
% \marg{nrow} задаёт число рядов (то есть строк текста);
+%^^A% \oarg{njot} is mainly used if you've used \pkg{bigstrut} package: it makes
+%^^A% additional tuning of vertical position (see comments in
+%^^A% \pkg{multirow} package);
% \oarg{njot} обычно используется если вы используете пакет \pkg{bigstrut}: делает
-% дополнительную настройку вертикального положения (см. пояснения в пакете
+% дополнительную настройку вертикального положения (см. пояснения в~пакете
% \pkg{mutirow});
-% \marg{width} определяет ширину включённого текста, знак |*| используется
+%^^A% \marg{width} defines width of contents, the |*| sign used to indicate that
+%^^A% the text argument's natural width is to be used;
+% \marg{width} определяет ширину включённого текста, знак~|*| используется
% для указания, что используется натуральная ширина включённого текста;
+%^^A% \oarg{vmove} is a length used for fine tuning: the text will be raised (or
+%^^A% lowered, if \meta{vmove} is negative) by that length;
% \oarg{vmove} величина, используемая для тонкой настройки: текст может быть
% поднят (или опущен, если \meta{vmove} отрицательна) на эту величину;
+%^^A% \marg{contents} includes ``|\multirow|'ed'' text.\smallskip
% \marg{contents} <<многорядный>> текст.\smallskip\pagebreak[3]
%
% \DescribeMacro{\multirowcell}
% \DescribeMacro{\multirowthead}
+%^^A% These two macros use following arguments (example uses |\multirowcell|
+%^^A% command):
% Эти две команды используют следующие аргументы (пример использует команду
% |\multirowcell|):
% \begin{quote}
% |\multirowcell|\marg{nrow}\oarg{vmove}\oarg{v or/and h alignment}\marg{contents}
% \end{quote}
-% в этих макрокомандах опущены аргументы \oarg{njot} и \marg{width}.
+%^^A% in these macros were skipped \oarg{njot} and \marg{width}. Instead of
+%^^A% tuning optional argument \oarg{njot} for vertical
+%^^A% correction used \oarg{vmove} optional argument.
+%^^A% For the \marg{width} argument both |\multirowcell| and |\multirowthead|
+%^^A% macros use natural width of contents (i.e. the |*| argument used).
+% в~этих макрокомандах опущены аргументы \oarg{njot} и~\marg{width}.
% Вместо дополнительного аргумента \oarg{njot} для вертикальной настройки
% используется дополнительный аргумент \oarg{vmove}.
-% В качестве аргумента \marg{width} макрокоманды |\multirowcell| и |\multirowthead|
+% В~качестве аргумента \marg{width} макрокоманды |\multirowcell| и~|\multirowthead|
% используют натуральную величину включённого текста (то есть используется
% аргумент |*|).
%
-% Первый пример (табл.~\ref{tab:mrowI}) с <<многорядными>> заголовками
-% табличных колонок и ячейками:
+%^^A% First example (table~\ref{tab:mrowI}) with ``|\multirow|'ed'' column heads
+%^^A% and cells:
+% Первый пример (табл.~\ref{tab:mrowI}) с~<<многорядными>> заголовками
+% табличных колонок и~ячейками:
%\begin{verbatim}
%\renewcommand\theadset{\def\arraystretch{.85}}%
%\begin{tabular}{|l|c|c|}
@@ -562,8 +735,11 @@
% \end{tabular}}
% \end{table}
%
-% Второй пример (табл.~\ref{tab:mrowII}) с <<многорядными>> заголовками колонок
-% и ячейками использует команду |\makegapedcells|. Команда |\theadgape| ничего
+%^^A% Second example (table~\ref{tab:mrowII}) with ``multirow'ed'' column heads
+%^^A% and cells uses |\makegapedcells| command. The |\theadgape| command does
+%^^A% nothing:
+% Второй пример (табл.~\ref{tab:mrowII}) с~<<многорядными>> заголовками колонок
+% и~ячейками использует команду |\makegapedcells|. Команда |\theadgape| ничего
% не делает:
%\begin{verbatim}
%\makegapedcells
@@ -575,7 +751,7 @@
%\renewcommand\theadset{\def\arraystretch{.85}}%
%\renewcommand\theadgape{}
% \ttabbox
-% {\caption{Пример <<многорядных>> ячеек с дополнительными вертикальными
+% {\caption{Пример <<многорядных>> ячеек с~дополнительными вертикальными
% отбивками}\label{tab:mrowII}}%
% {\begin{tabular}{|l|c|c|}
% \hline
@@ -605,8 +781,10 @@
% \end{table}
% \bigskip
%
+%^^A% The last example (table~\ref{tab:mrowIII}) uses \env{tabularx} environment
+%^^A% with |\hsize| in the width argument.
% Последний пример (табл.~\ref{tab:mrowIII}) использует окружение \env{tabularx}
-% со значением |\hsize| в аргументе ширины таблицы.
+% со значением |\hsize| в~аргументе ширины таблицы.
%\begin{verbatim}
%\makegapedcells
%\renewcommand\theadset{\def\arraystretch{.85}}%
@@ -620,7 +798,8 @@
%\hline
%\end{tabularx}
%\end{verbatim}
-% Как можно видеть, ячейки |\makecells| в последних двух рядах определены как
+%^^A% As you may see the |\makecell|'s in last two rows defined as
+% Как можно видеть, ячейки |\makecell| в~последних двух рядах определены как
% \begin{quote}
% |\makecell[{{p{\hsize}}}]{...}|
% \end{quote}
@@ -628,6 +807,7 @@
% \begin{quote}
% |\makecell[{{>{\parindent1em}p{\hsize}}}]{...}|
% \end{quote}
+%^^A% consequently.
% соответственно.
% \begin{table}\makegapedcells
%\renewcommand\theadset{\def\arraystretch{.85}}%
@@ -663,30 +843,43 @@
% \end{tabularx}}
% \end{table}
%
+%^^A% \subsection{Multirow Table Heads and Cells: Second Variant}
% \subsection{Ячейки на несколько рядов: второй вариант}
%
+%^^A% Another, simplified, variant of multirow cell: use
+%^^A% |\makecell| and |\thead| commands, and set |\\| with
+%^^A% negative space at the end, for example
% Второй, упрощённый, вариант задания ячейки на несколько рядов: \cdash---
-% использовать команды |\makecell| и |\thead|, а в конце аргумента задать |\\|
-% с отрицательной отбивкой, например
+% использовать команды |\makecell| и~|\thead|, а~в~конце аргумента задать |\\|
+% с~отрицательной отбивкой, например
%\begin{quote}
% |\thead{First Column head\\[-5ex]}|
%\end{quote}
-% при этом у ячеек в одном <<многоярусном>> ряду, сколько бы строк они ни имели бы,
+%^^A% cells, which stay in one ``multi row'' will have the same value of this
+%^^A% negative space, in spite of different number of lines in their contents.
+% при этом у~ячеек в~одном <<многоярусном>> ряду, сколько бы строк они ни имели бы,
% отрицательная отбивка будет всегда одинаковая.
%
-% \section{Нумерованные ряды ячеек в таблицах}
+% \clearpage\suppressfloats[t]
+%^^A% \section{Numbered Lines in Tabulars}
+% \section{Нумерованные ряды ячеек в~таблицах}
%
+%^^A% The three commands |\eline|, |\nline|, |\rnline| allow to skip:
% Команды |\eline|, |\nline|, |\rnline| позволяют пропустить несколько ячеек:
% \begin{quote}
% |\eline|\marg{number of cells}
% \end{quote}
-% и пронумеровать (|\nline|) несколько или все ячейки в ряду:
+% и~пронумеровать (|\nline|) несколько или все ячейки в~ряду:
% \begin{quote}
% |\nline|\oarg{numbering type}\oarg{start number}\marg{number of cells}
% \end{quote}
+%^^A% Command |\rnline| does the same as |\nline|, but allows numbering by
+%^^A% Russian letters (it redefines
+%^^A% \LaTeX's |\Alph| and |\alph| with |\Asbuk| and |\asbuk| consequently).
+%^^A% (see table~\ref{tab:elines})
% Команда |\rnline| работает так же как |\nline|, но вместо нумерации
% латинскими буквами задаётся нумерация русскими (переопределяются счётчики
-% \LaTeX'а |\Alph| а |\alph| на |\Asbuk| и |\asbuk| соответственно).
+% \LaTeX'а |\Alph| а~|\alph| на |\Asbuk| и~|\asbuk| соответственно).
% (см.~табл.~\ref{tab:elines})
%\begin{verbatim}
% \begin{tabular}{|*{12}{c|}}
@@ -699,7 +892,7 @@
% \end{tabular}
%\end{verbatim}
%
-% \begin{table}
+% \begin{table}[htb]
% \ttabbox
% {\caption{Примеры заполнения ячеек}\label{tab:elines}}%
% {\begin{tabular}{|*{12}{c|}}
@@ -712,5 +905,226 @@
% \end{tabular}}
%\end{table}
%
+% \clearpage
+%^^A% \section{Diagonally Divided Cell}
+% \section{Ячейки, разделённые по диагонали}
+%
+%^^A% This variant of head's positioning is not too popular nowadays, but in
+%^^A% the some cases it could be used. Instead of creating of
+%^^A% multicolumn head above a wide couple of all column heads except the
+%^^A% very left column, the most left column head (upper left cell)
+%^^A% divided by diagonal line. The lower head is usually head of very left
+%^^A% column and upper head---``multicolumn'' to all other column heads of
+%^^A% table to the right.
+% Сейчас такой вариант расположения заголовков колонок не так популярен,
+% но всё же иногда используется. Вместо создания большого
+% заголовка-перереза над большим числом колонок, самый левый заголовок
+% (верхняя левая ячейка таблицы) разделяется диагональю, где в~нижнем
+% треугольнике обычно помещают заголовок боковика, а~в~верхнем \cdash---
+% заголовок относящийся к~колонкам прографки (заголовкам всех колонок справа).
+%
+%^^A% This package offers macro based on possibilities of \env{picture}
+%^^A% environment.
+% Данный пакет предлагает макрокоманду, в~основе которой используется
+% окружение \env{picture}.
+% \begin{quote}
+% |\diaghead|\texttt{(}\meta{\texttt{\textup{H}} ratio,%^^A
+% \textup{\texttt{V}} ratio}\texttt{)}%^^A
+% \marg{Text set for column width}|%|\\
+% \phantom{/diaghead }\marg{First head}\marg{Second head}
+% \end{quote}
+%^^A% where \texttt{(}\meta{\textup{\texttt{H ratio}},%^^A
+%^^A% \textup{\texttt{V ratio}}}\texttt{)} sets the ratios like in |\line|
+%^^A% command (digits from~|1| up to~|6|). This argument is optional,
+%^^A% the default ratio (|\line|
+%^^A% direction) defined as~|(5,-2)|.
+% где \texttt{(}\meta{\textup{\texttt{H ratio}},%^^A}
+% \textup{\texttt{V ratio}}}\texttt{)} определяет отношение диагонали, как
+% в~первом аргументе команды |\line|
+% (целые числа от~|1| до~|6|). Аргумент не является обязательным, отношение,
+% заданное по умолчанию (направление диагонали |\line|) равно~|(5,-2)|.
+%
+%^^A% The \marg{Text set for column width}
+%^^A% defined by hand, for example:
+%^^A% \quad 1)\nobreak\enskip sets the width, using longest text lines from
+%^^A% both heads---in this case you must put |\theadfont| macro, if you use
+%^^A% |\thead|s; \quad 2)\nobreak\enskip the longest text from the rest of
+%^^A% column; \quad 3)\nobreak\enskip |\hskip|\meta{value}, even |\hskip\hsize|
+%^^A% the case of |p| column (or |X| column in \env{tabularx} environment).
+%^^A% The \marg{First head}
+%^^A% is head in lower corner (usually for first or very left column),
+%^^A% \marg{Second head}---in the upper corner (head for the all right columns).
+% Аргумент \marg{Text set for column width}
+% задаётся обычно подбором, например:
+% \quad 1)\nobreak\enskip задаёт ширину, используя самые длинные строки
+% в~обоих заголовках \cdash--- в~этом случае, если вы
+% используете в~таблицах команды |\thead|, нужно задать |\theadfont|;
+% \quad 2)\nobreak\enskip самую длинную строку боковика,
+% если она больше заголовков;
+% \quad 3)\nobreak\enskip горизонтальную отбивку |\hskip|\meta{value},
+% можно использовать даже такое: |\hskip\hsize| если это
+% колонка |p| (или |X| из окружения \env{tabularx}).
+% Аргумент \marg{First head} \cdash---
+% заголовок в~нижнем углу (обычно для боковика),
+% \marg{Second head} \cdash--- в~верхнем углу (заголовок для прографки
+% \cdash--- остальных колонок).
+%
+%^^A% Here is code of table~\ref{tab:diaghead}.
+% Здесь приведён код табл.~\ref{tab:diaghead}.
+%\begin{verbatim}
+% \begin{tabular}{|c|c|c|}%
+% \hline
+% \diaghead{\theadfont Diag ColumnmnHead II}%^^A
+% {Diag \\Column Head I}{Diag Column\\ Head II}&
+% \thead{Second\\column}&\thead{Third\\column}\\
+% ...
+% \end{tabular}\medskip
+%
+% \begin{tabularx}{.62\hsize}{|X|c|c|}%
+% \hline
+% \diaghead(4,1){\hskip\hsize}%
+% %^^A{\theadfont Diag ColuDiag Column}%^^A
+% {Diag \\Column Head I}{Diag Column \\Head II}&
+% \thead{Second\\column}&\thead{Third\\column}\\
+% ...
+% \end{tabularx}\medskip
+%
+% \nomakegapedcells
+% \begin{tabular}{|l|c|c|}%
+% \hline
+% \diaghead(-4,1){\hskip4.2cm}%^^A
+% {Diag \\Column Head I}{Diag Column \\Head II}&
+% \thead{Second\\column}&\thead{Third\\column}\\
+% ...
+% \end{tabular}%
+%\end{verbatim}%
+%
+% \begin{table}[!bp]\makegapedcells
+% \begin{tabular}{|c|c|c|}%
+% \hline
+% \diaghead{\theadfont Diag ColumnmnHead II}%^^A
+% {Diag \\Column Head I}{Diag Column\\ Head II}&
+% \thead{Second\\column}&\thead{Third\\column}\\
+% \hline
+% \makecell[l]{Left aligned \\ cell text} & A & 37--43\\
+% \hline
+% \makecell*[r]{Right aligned \\ cell text} & B & 37--43\\
+% \hline
+% \makecell[b]{Bottom aligned\\ cell text} & C & 52--58\\
+% \hline
+% \end{tabular}%
+% \medskip
+%
+% \begin{tabularx}{.62\hsize}{|X|c|c|}%
+% \hline
+% \diaghead(4,1){\hskip\hsize}%
+% %^^A{\theadfont Diag ColuDiag Column}%^^A
+% {Diag \\Column Head I}{Diag Column \\Head II}&
+% \thead{Second\\column}&\thead{Third\\column}\\
+% \hline
+% \makecell[l]{Left aligned \\ cell text} & A & 37--43\\
+% \hline
+% \makecell*[r]{Right aligned \\ cell text} & B & 37--43\\
+% \hline
+% \makecell[b]{Bottom aligned\\ cell text} & C & 52--58\\
+% \hline
+% \end{tabularx}%
+% \medskip
+%
+% \nomakegapedcells
+% \begin{tabular}{|l|c|c|}%
+% \hline
+% \diaghead(-4,1){\hskip4.2cm}%^^A
+% {Diag \\Column Head I}{Diag Column \\Head II}&
+% \thead{Second\\column}&\thead{Third\\column}\\
+% \hline
+% \makecell[l]{Left aligned \\ cell text} & A & 37--43\\
+% \hline
+% \makecell*[r]{Right aligned \\ cell text} & B & 37--43\\
+% \hline
+% \makecell[b]{Bottom aligned\\ cell text} & C & 52--58\\
+% \hline
+% \end{tabular}%
+% \caption{Пример таблиц с~ячейками поделёнными по
+% диагонали}\label{tab:diaghead}
+% \end{table}%
+%^^A% The correct position of diagonal ends depends of width of column. If cell width
+%^^A% is narrower then necessary
+%^^A% column ends of diagonal don't touch corners of cell.
+% Точное попадание концов диагонали в~углы ячейки зависит от её ширины. Если ячейка
+% \'уже необходимого то концы диагонали не «дотягиваются» до углов.
+%
+% \clearpage
+%^^A% \section{Thick \cmd{\hline} and \cmd{\cline}}
+% \section{Команды \cmd{\hline} и~\cmd{\cline} заданной толщины}
+%
+%^^A% For horizontal rules in tabular there were added two commands
+%^^A% \cmd{\Xhline} and \cmd{\Xcline}
+%^^A% They use additional mandatory argument with defined rule width.
+% Для горизонтальных линеек в~табличном материале добавлены две команды
+% \cmd{\Xhline} и~\cmd{\Xcline}
+% Они имеют обязательный аргумент с~заданием ширины линейки.
+%
+%^^A% The example, with result in table~\ref{tab:XmrowIII}.
+% Пример применения команд см.~в~табл.~\ref{tab:XmrowIII}.
+%\begin{verbatim}%
+%\begin{table}
+%\renewcommand\theadset{\def\arraystretch{.85}}%
+%\renewcommand\theadgape{}
+%\ttabbox
+%{\caption{...}\label{...}}%
+%{\begin{tabular}{!{\vrule width1.2pt}c
+% !{\vrule width1.2pt}c|c
+% !{\vrule width1.2pt}}
+%\Xhline{1.2pt}
+%\multirowthead{4}{First Column head}&
+%\multicolumn{2}{c!{\vrule width1.2pt}}{\thead{Multicolumn head}}\\
+%\Xcline{2-3}{1.2pt}
+% & \thead{Second \\multlined \\ column head} &
+% \thead{Third \\ column head}\\
+%\Xhline{1.2pt}
+%Cell text & A &\multirowcell{4}{28--31}\\
+%...
+%\Xhline{1.2pt}
+%\end{tabular}}
+%\end{table}
+%\end{verbatim}%
+%
+% \begin{table}\makegapedcells\relax
+%\renewcommand\theadset{\def\arraystretch{.85}}%
+%\renewcommand\theadgape{}
+% \ttabbox
+% {\caption{Пример окружения \env{tabular} с~использованием толстых
+% линеек}\label{tab:XmrowIII}}%
+% {\begin{tabular}{!{\vrule width1.2pt}c
+% !{\vrule width1.2pt}c|c!{\vrule width1.2pt}}
+% \Xhline{1.2pt}
+% \multirowthead{4}{First Column head}&
+% \multicolumn{2}{c!{\vrule width1.2pt}}{\thead{Multicolumn head}}\\
+% \Xcline{2-3}{1.2pt}
+% & \thead{Second \\multlined \\ column head} &
+% \thead{Third \\ column head}\\
+% \Xhline{1.2pt}
+% Cell text & A &\multirowcell{4}{28--31}\\
+% \cline{1-2}
+% \makecell{Multilined \\Cell text} & B& \\
+% \hline
+% \makecell[l]{Left aligned \\ cell text} & C
+% & \multirowcell{4}[0ex][l]{37--43}\\
+% \cline{1-2}
+% \makecell[r]{Right aligned \\ cell text} & D & \\
+% \hline
+% \makecell[b]{Bottom aligned \\ cell text} & E &
+% \multirowcell{6}[0ex][r]{37--43\\52--58}\\
+% \cline{1-2}
+% \makecell[{{p{5cm}}}]{Cell long long long long long long text with
+% predefined width} & F & \\
+% \cline{1-2}
+% \makecell[{{>{\parindent1em}p{5cm}}}]{Cell long long long long long
+% long text with predefined width} & G & \\
+% \Xhline{1.2pt}
+% \end{tabular}}
+% \end{table}
+%
% \Finale
\endinput
diff --git a/Master/texmf-dist/doc/latex/makecell/makecell.pdf b/Master/texmf-dist/doc/latex/makecell/makecell.pdf
index bebe20e3917..9eebee507fd 100644
--- a/Master/texmf-dist/doc/latex/makecell/makecell.pdf
+++ b/Master/texmf-dist/doc/latex/makecell/makecell.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/makecell/makecell.xml b/Master/texmf-dist/doc/latex/makecell/makecell.xml
index 7178b529f23..6b90ffba159 100644
--- a/Master/texmf-dist/doc/latex/makecell/makecell.xml
+++ b/Master/texmf-dist/doc/latex/makecell/makecell.xml
@@ -1,21 +1,26 @@
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE entry SYSTEM 'catalogue.dtd'>
-<entry datestamp='$Date: 2006/06/28 10:01:40 $' modifier='$Author: schoepf $' id='makecell'>
+<entry datestamp='$Date: 2007/05/24 10:01:40 $' modifier='$Author: schoepf $' id='makecell'>
<name>makecell</name>
- <caption>Tabular column heads and multilined cells.</caption>
+ <caption>Managing of tabular column heads and cells.</caption>
<authorref id='auth:lapko'/>
<license type='lppl'/>
- <version number='0.1c'/>
+ <version number='0.1d'/>
<description>
This package offers a command, based on one-column tabular
environment, which allows to support a common layout for
tabular column heads in whole document. Another offered
command is for creation of multilined tabular cells. There
are also: 1)&nbsp;a macro, which changes vertical spaces
- around all cells in tabular (like in tabls package) but based
+ around all cells in tabular (like in <xref refid='tabls'>tabls</xref>
+ package) but based
on macros of <xref refid='array'>array</xref> package;
2)&nbsp;macros for multirow cells/heads, which use macro from
- <xref refid='multirow'>multirow</xref> package.
+ <xref refid='multirow'>multirow</xref> package;
+ 3)&nbsp;macros numbered rows of cells or skipping cells
+ in tabulars;
+ 4)&nbsp;diagonally divided cells;
+ 5)&nbsp;horizonral lines in tabulars with defined thickness.
</description>
<ctan path='/macros/latex/contrib/makecell'/>
<documentation href='ctan://macros/latex/contrib/makecell/README'/>
diff --git a/Master/texmf-dist/doc/latex/makecell/tablists-rus.tex b/Master/texmf-dist/doc/latex/makecell/tablists-rus.tex
new file mode 100644
index 00000000000..071d7e98b65
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/makecell/tablists-rus.tex
@@ -0,0 +1,576 @@
+% \iffalse
+%
+% tablists-rus.dtx - tabulated list of short items.
+% Russian documentation.
+% (c) 2007 Olga Lapko (Lapko.O@g23.relcom.ru)
+%
+% This program is provided under the terms of the
+% LaTeX Project Public License distributed from CTAN
+% archives in directory macros/latex/base/lppl.txt.
+%
+% \fi
+%
+% \iffalse
+%<*driver>
+\ProvidesFile{tablists-rus.tex}
+\documentclass{ltxdoc}
+
+\usepackage{mathtext}
+\usepackage[T2A]{fontenc}
+\usepackage[cp1251]{inputenc}
+\usepackage[english,russian]{babel}
+
+\usepackage{paralist}
+\usepackage{makecell}
+\usepackage{tablists}
+\IfFileExists{hyperref.sty}{\usepackage{hyperref}}{}
+\EnableCrossrefs
+\CodelineIndex
+\RecordChanges
+\makeatletter
+\@beginparpenalty10000
+\widowpenalty10000
+\clubpenalty10000
+\makeatother
+\providecommand*{\file}[1]{\texttt{#1}}
+\providecommand*{\pkg}[1]{\textsf{#1}}
+\providecommand*{\cls}[1]{\textsf{#1}}
+\providecommand*{\env}[1]{\texttt{#1}}
+
+%\OnlyDescription
+\begin{document}
+ \DocInput{tablists-rus.tex}
+ \PrintChanges
+\end{document}
+%</driver>
+% \fi
+%
+% \CheckSum{0}
+%
+% \GetFileInfo{tablists-rus.tex}
+%
+% \DoNotIndex{\newcommand,\newenvironment}
+%
+%
+% \title{Пакет \textsf{tablists}}
+% \author{%
+% Ольга Лапко\\
+% {\tt Lapko.O@g23.relcom.ru} }
+% \date{2007/05/24}
+% \maketitle
+% \begin{abstract}
+%^^A% This package gives variant of environment for creating of list of short
+%^^A% items in the way of tabular alignment. That could be useful for list of
+%^^A% exercises in math educational literature. It allows to build one-level
+%^^A% and two-level tabulated lists.
+% Данный пакет даёт вариант окружения для создания перечня коротких пунктов
+% выровненных по колонкам. Это может быть полезно для разделов упражнений
+% в~математических учебниках. Можно создать одноуровневые и~двухуровневые
+% перечни.
+% \end{abstract}
+%
+% \tableofcontents
+%
+%\newpage
+%^^A% \section{Building Commands}
+% \section{Основные команды}
+%
+% \DescribeMacro{tabenum}
+% \DescribeMacro{\tabenumitem}
+% \DescribeMacro{\item}
+%^^A% The \env{tabenum} list creates list of short items aligned in columns.
+% Окружение \env{tabenum} размещает короткие пункты в~виде таблицы.
+%
+%^^A% Each item starts with |\tabenumitem| command; you may use the |\item|
+%^^A% macro instead of |\tabenumitem| in this environment.
+%^^A% First example of \env{tabenum} list---please note that you may set optional
+%^^A% argument in the same way as in \pkg{paralist}
+%^^A% environments:
+% Каждый пункт начинается с~команды |\tabenumitem|; можно также использовать |\item|
+% вместо |\tabenumitem|.
+% Первый вариант окружения \env{tabenum}---обратите внимание что можно задать
+% опцию так же как и~в~окружениях пакетов \pkg{enumerate} или \pkg{paralist}:
+%\par\begin{small}%
+%\begin{verbatim}
+%\begin{tabenum}[\bfseries1)]%
+%\tabenumitem
+%$z=\displaystyle\frac xy$;
+%\tabenumitem
+%$2^x=9;$\cr
+%
+%\tabenumitem
+%$3^{2x+3}=16 $;
+%\tabenumitem
+%$z=2x^2+4y^2$;\par
+%\item
+%$u=\sqrt{x^2+y^2+z^2}$;
+%\item
+%$v=gt+\displaystyle\frac{g}{4}t$;\\[1ex]
+%\item
+%$u=2^{5x-3y+z}$;
+%\item
+%$w=(v+7)^2+(u-3)^2$;
+%
+%
+%\item
+%$5^x=\displaystyle\frac{4}{3} ;$
+%\item
+%$z=(x+1)^2+y^2$;\\*
+%\item
+%$2+5+8+ \ldots +(3n+2)=155$, $n\in \mathrm{N};$
+%\item
+%$t=5u^2+8v^2$;
+%\end{tabenum}
+%\end{verbatim}
+%\end{small}%
+% \begin{tabenum}[\bfseries1)]%
+% \tabenumitem
+% $z=\displaystyle\frac xy$;
+% \tabenumitem
+% $2^x=9;$\cr
+%
+% \tabenumitem
+% $3^{2x+3}=16 $;
+% \tabenumitem
+% $z=2x^2+4y^2$;\par
+% \item
+% $u=\sqrt{x^2+y^2+z^2}$;
+% \item
+% $v=gt+\displaystyle\frac{g}{4}t$;\\[1ex]
+% \item
+% $u=2^{5x-3y+z}$;
+% \item
+% $w=(v+7)^2+(u-3)^2$;
+%
+%
+% \item
+% $5^x=\displaystyle\frac{4}{3} ;$
+% \item
+% $z=(x+1)^2+y^2$;\\*
+% \item
+% $2+5+8+ \ldots +(3n+2)=155$, $n\in \mathrm{N};$
+% \item
+% $t=5u^2+8v^2$;
+% \end{tabenum}
+%
+%^^A% You may see that empty line (or |\par| command), |\\| command and |\cr|
+%^^A% do the same: start a new row. The |\\| command works like in array environment
+%^^A% and allows optional argument with vertical correction.
+%^^A% (Also the |\\*| command suppresses breaking between pages, see next example.)
+% Из примера видно что пустая строка (или команда |\par|), команды
+% |\\| и~|\cr|
+% все начинают новый ряд. Команда |\\| позволяет в~опции задать вертикальную
+% корректирующую отбивку.
+% (Кроме этого действует и~команда |\\*|, запрещающая переход на новую страницу.)
+%
+%^^A% Please note that two or more |\par|'s
+%^^A% |\cr|'s or |\\|'s (and also any combination of these three commands)
+%^^A% create additional empty lines.
+% Обратите в~примере внимание, что две и~более команд |\par|
+% |\cr| или |\\| (а~также их любая комбинация) создают дополнительные пустые строки.
+%
+%
+% \DescribeMacro{\notabenumitem}
+% \DescribeMacro{\noitem}
+% \DescribeMacro{\skipitem}
+%^^A% On the next step you can wish to do the list like before more compact. The
+%^^A% |\multicolumn| does not work here correctly\footnote{
+%^^A% Also the plain \TeX's commands like \cs{omit} and \cs{span}/\cs{multispan} commands,
+%^^A% I think, need too complex code.}. At first you may use plain \TeX's
+%^^A% command |\hidewidth| to hide width of widest column entry; then you may use
+%^^A% other variant of |\tabenumitem|(|\item|) command---|\notabenumitem|(|\noitem|)---%^^A
+%^^A% this command increases list entry, but does not create a new column;
+%^^A% third command |\skipitem| allows you to skip
+%^^A% one \env{tabenum} column\footnote{The \env{tabenum} column includes two columns:
+%^^A% it works like \texttt{rl} columns in \env{tabular} environment. Thus, \cs{skipitem}
+%^^A% equals to \texttt{\&\&} combination.}.
+%^^A% Next example show usage of these three commands:
+% Глядя на этот пример, вы захотите сделать такой список более компактным. Команда
+% |\multicolumn| не будет работать здесь корректно\footnote{
+% Я~думаю, что и~команды plain \TeX'а \cs{omit} и~\cs{span}/\cs{multispan},
+% тоже потребуют сложной записи.}. Во"=первых можно воспользоваться командой
+% plain \TeX'а
+% |\hidewidth| чтобы «скрыть» ширину самого широкого пункта; во"=вторых можно
+% использовать вариант команды |\tabenumitem|~(|\item|)
+% \cdash--- |\notabenumitem|~(|\noitem|) \cdash---
+% в~этом случае создаётся нумерация пункта, но не создаётся новая колонка;
+% третья команда, |\skipitem|, позволяет пропустить
+% одну колонку пунктов \env{tabenum}\footnote{Колонка пунктов \env{tabenum}
+% состоит из двух колонок:
+% это ничто иное как две колонки \texttt{rl} окружения \env{tabular}.
+% Отсюда, вместо \cs{skipitem}
+% можно записать комбинацию двух знаков табуляции:~\texttt{\&\&}.}.
+% Следующий пример демонстрирует использование этих трёх команд:
+%\par\begin{small}%
+%\begin{verbatim}
+%\begin{tabenum}[\bfseries1)]%
+%\tabenumitem
+%$z=\displaystyle\frac xy$;
+%\notabenumitem
+%$2^x=9;$
+%\tabenumitem
+%$3^{2x+3}=16 $.
+%\tabenumitem
+%$z=2x^2+4y^2$;\nopagebreak
+%
+%\item
+%$u=\sqrt{x^2+y^2+z^2}$;
+%\item
+%$v=gt+\displaystyle\frac{g}{4}t$,
+%\item
+%$u=2^{5x-3y+z}$.\cr
+%\item
+%$w=(v+7)^2+(u-3)^2$;
+%\item
+%$5^x=\displaystyle\frac{4}{3} ;$
+%\item
+%$z=(x+1)^2+y^2$;\\*
+%\item
+%$2+5+8+ \ldots +(3n+2)=155$,
+% $n\in \mathrm{N};$\hidewidth\skipitem
+%\item
+%$t=5u^2+8v^2$;
+%\end{tabenum}
+%\end{verbatim}
+%\end{small}%
+% \begin{tabenum}[\bfseries1)]%
+% \tabenumitem
+% $z=\displaystyle\frac xy$;
+% \notabenumitem
+% $2^x=9;$
+% \tabenumitem
+% $3^{2x+3}=16 $.
+% \tabenumitem
+% $z=2x^2+4y^2$;\nopagebreak
+%
+% \item
+% $u=\sqrt{x^2+y^2+z^2}$;
+% \item
+% $v=gt+\displaystyle\frac{g}{4}t$,
+% \item
+% $u=2^{5x-3y+z}$.\cr
+% \item
+% $w=(v+7)^2+(u-3)^2$;
+% \item
+% $5^x=\displaystyle\frac{4}{3} ;$
+% \item
+% $z=(x+1)^2+y^2$;\\*
+% \item
+% $2+5+8+ \ldots +(3n+2)=155$, $n\in \mathrm{N};$\hidewidth\skipitem
+% \item
+% $t=5u^2+8v^2$;
+% \end{tabenum}
+%
+%
+%^^A% \subsection{Spacing}
+% \subsection{Отбивки}
+%
+%^^A% Vertical spaces around tabulated list are equal to the list ones |\topsep+\partopsep|.
+% Вертикальные отбивки вокруг перечня равны отбивкам вокруг обычного перечня:
+% |\topsep+\partopsep|.
+%
+%^^A% Space between rows depends on the |\jot| value, like in \pkg{amsmath} environments
+%^^A% like \env{align}, \pkg{gather} etc.
+% Отбивки между рядами зависят от величины |\jot|, как и~в~окружениях многострочных
+% формул в~окружениях пакета \pkg{amsmath}:
+% \env{align}, \pkg{gather} и~т.\,д.
+%
+% \DescribeMacro{\tabenumsep}
+%^^A% The horizontal spacing between items of list. It defined like:
+% Определяет горизонтальные отбивки между пунктами. Задаётся следующим образом:
+% \begin{quote}
+% |\newcommand\tabenumsep{\hskip1em}|
+% \end{quote}
+%^^A% The |\labelsep| parameter is used after item number.
+% Отбивка |\labelsep| задаётся после номера.
+%
+%^^A% \subsection{The \env{tabenum} environment inside a proper list}
+% \subsection{Окружение \env{tabenum} внутри настоящего перечня}
+%
+% \DescribeMacro{\tabenumindent}
+%^^A% The |\tabenumindent| macro sets left margin of \env{tabenum}. That could be useful
+%^^A% inside, e.g., a proper list environments like \env{enumerate} or \env{itemise}.
+%^^A% It can be defined like horizontal space/skip or text.
+%^^A% For example:
+% Команда |\tabenumindent| определяет левое поле \env{tabenum}. Это может быть полезно
+% внутри настоящего перечня, типа \env{enumerate} или \env{itemise}.
+% Она может быть определена как отбивка или текст (или всё вместе).
+% Например:
+% \begin{quote}
+% |\renewcommand\tabenumindent{\hskip\parindent}|
+% \end{quote}
+% или
+% \begin{quote}
+% |\renewcommand\tabenumindent{Word }|
+% \end{quote}
+%
+% \DescribeMacro{\liststrut}
+%^^A% This command can be useful after alone list number (and not only with
+%^^A% \env{tabenum} environment). The command raises first line of next
+%^^A% text block at the baseline of previous. Without any option it puts negative
+%^^A% baselineskip. If there is a high element (any math sentence) in the first
+%^^A% line of next text, you may repeat this element in option argument without |$|'s.
+% Эта команда пригодится если окружение \env{tabenum} идёт сразу после номера перечня.
+% Команда поднимает первую строку следующего за пунктом блока текста
+% на базовую линию предыдущего. Команда без опции даёт отбивку равную отрицательному
+% интерлиньяжу. Если в~первой строке следующего блока текста встретился высокий элемент
+% (обычно это математическое выражение)
+% его повторяют в~опции команды |\liststrut| и~по его высоте рассчитываются
+% компенсирующие отбивки. Элемент записывается без знаков |$|.
+%
+%^^A% Here the combination of these two commands:
+% В~примере комбинация этих двух команд:
+%\par\begin{small}%
+%\begin{verbatim}
+%\begin{enumerate}[\bfseries1)]%
+%\item\renewcommand\tabenumindent{1)\hskip\labelsep}%
+% \liststrut[\displaystyle\frac xy]
+%\begin{tabenum}[a)]%
+%...
+%\end{verbatim}%
+%\end{small}%
+% \begin{enumerate}[\bfseries1)]%
+% \item\renewcommand\tabenumindent{1)\hskip\labelsep}%
+% \liststrut[\frac /y]
+% \begin{tabenum}[a)]%
+%^^A% \item aaaa\par
+% \tabenumitem
+% {$z=\frac xy$};
+% \notabenumitem
+% {$2^x=9;$}
+% \tabenumitem
+% {$3^{2x+3}=16 $}.
+% \tabenumitem
+% {$z=2x^2+4y^2$};\nopagebreak
+%
+% \item
+% $u=\sqrt{x^2+y^2+z^2}$;
+% \item
+% $v=gt+\displaystyle\frac{g}{4}t$,
+% \item
+% $u=2^{5x-3y+z}$.\\
+% \item
+% $w=(v+7)^2+(u-3)^2$;
+% \item
+% $5^x=\displaystyle\frac{4}{3} ;$
+% \item
+% $z=(x+1)^2+y^2$;\cr
+% \item
+% $2+5+8+ \ldots +(3n+2)=155$, $n\in \mathrm{N};$\hidewidth\skipitem
+% \item
+% $t=5u^2+8v^2$;
+% \end{tabenum}
+% \end{enumerate}%
+%
+%
+%^^A% \subsection{The \env{subtabenum} environment: second level, variant I}
+% \subsection{Окружение \env{subtabenum}: второй уровень, вариант I}
+%
+% \DescribeMacro{subtabenum}
+%^^A% The second level of equations/exersizes list \env{subtabenum} based on \env{tabular}
+%^^A% environment.
+% Второй уровень уравнений, окружение \env{subtabenum}, основывается на окружении
+% \env{tabular}.
+%
+%\begin{small}%
+%\begin{verbatim}
+%\begin{tabenum}[\bfseries 1)]%
+%\item
+%\begin{subtabenum}[a)]%
+%\tabenumitem
+%$z=\displaystyle\frac xy$;
+%\notabenumitem
+%$2^x=9;$
+%\tabenumitem
+%$3^{2x+3}=16 $.
+%\tabenumitem
+%$z=2x^2+4y^2$;
+%\end{subtabenum}
+%
+%\item
+%\begin{subtabenum}[a)]%
+%\item
+%$u=\sqrt{x^2+y^2+z^2}$;
+%\item
+%$v=gt+\displaystyle\frac{g}{4}t$,
+%\item
+%$u=2^{5x-3y+z}$.\\
+%\item
+%$w=(v+7)^2+(u-3)^2$;
+%\item
+%$5^x=\displaystyle\frac{4}{3} ;$
+%\item
+%$z=(x+1)^2+y^2$;\\
+%\item
+%$2+5+8+ \ldots +(3n+2)=155$, $n\in \mathrm{N};$\hidewidth\strut\skipitem
+%\item
+%$t=5u^2+8v^2$;
+%\end{subtabenum}
+%\end{tabenum}
+%\end{verbatim}%
+%\end{small}%
+% \begin{tabenum}[\bfseries 1)]%
+% \tabenumitem
+% \begin{subtabenum}[a)]%
+% \tabenumitem
+% $z=\displaystyle\frac xy$;
+% \notabenumitem
+% $2^x=9;$
+% \tabenumitem
+% $3^{2x+3}=16 $.
+% \tabenumitem
+% $z=2x^2+4y^2$;
+% \end{subtabenum}
+%
+% \tabenumitem
+% \begin{subtabenum}[a)]
+% \item
+% $u=\sqrt{x^2+y^2+z^2}$;
+% \item
+% $v=gt+\displaystyle\frac{g}{4}t$,
+% \item
+% $u=2^{5x-3y+z}$.\\
+% \item
+% $w=(v+7)^2+(u-3)^2$;
+% \item
+% $5^x=\displaystyle\frac{4}{3} ;$
+% \item
+% $z=(x+1)^2+y^2$;\\
+% \item
+% $2+5+8+ \ldots +(3n+2)=155$, $n\in \mathrm{N};$\hidewidth\strut\skipitem
+% \item
+% $t=5u^2+8v^2$;
+% \end{subtabenum}
+% \end{tabenum}
+%^^A% Please note that |\hidewidth| skip is followed by the |\strut| command inside
+%^^A% \env{subtabenum} environment:
+%^^A% the skips at the ``edges'' of \env{tabular} columns doesn't work.
+% Обратите внимание, что внутри окружения \env{subtabenum} после команды
+% отбивки |\hidewidth| должна обязательно идти
+% команда |\strut|:
+% отбивки по «краям» окружения \env{tabular} не работают.
+%
+%^^A% \subsection{The \cs{subtabenumitem}/\cs{subitem} macros: second level, variant II}
+% \subsection{Команды \cs{subtabenumitem}/\cs{subitem}: второй уровень, вариант II}
+%
+%^^A% The previous example shows that columns were destroyed from one
+%^^A% \env{subtabenum} environment to another.
+% Предыдущий пример показал, что выравнивание колонок от одного окружения
+% \env{subtabenum} к~другому пропадает.
+%
+%^^A% This command can be useful after alone list number (and not only with
+%^^A% \env{tabenum} environment). The command raises first line of next
+%^^A% text block at the baseline of previous. Without any option it puts negative
+%^^A% baselineskip. If there is a high element (any math sentence) in the first
+%^^A% line of next text, you may repeat this element in option argument without |$|'s.
+% Далее идёт ещё один вариант двухуровневого перечня. Если вы зададите вторую опцию
+% в~окружении \env{tabenum}, вы можете использовать команды
+% |\subtabenumitem|/\allowbreak|\subitem|
+% для второго уровня\footnote{Если вторая опция не задана, эти команды работают как
+% команды \cs{tabenumitem}/\cs{item}.}.
+%
+% \DescribeMacro{\subtabenumitem}
+% \DescribeMacro{\subitem}
+%^^A% If you put |\subitem| after |\item|, you get extra space between
+%^^A% two numbers, created by |\tabenumsep| skip. The |\negtabenumsep| command
+%^^A% cancels this skip.
+% Если задать команду |\subitem| сразу после |\item|, то получится лишний
+% пробел между нумерацией, созданный отбивкой |\tabenumsep|. Команда |\negtabenumsep|
+% отменяет эту отбивку.
+%\par\begin{small}\openup-.75pt
+%\begin{verbatim}
+%\def\tabenumsep{\qquad}
+%\begin{tabenum}[\bfseries 1)][a)]%
+%\tabenumitem\negtabenumsep
+%\subtabenumitem
+%$z=\displaystyle\frac xy$;
+%\nosubtabenumitem
+%$2^x=9;$
+%\subtabenumitem
+%$3^{2x+3}=16 $.
+%\subtabenumitem
+%$z=2x^2+4y^2$;\\
+%\startnumber{4}\startsubnumber{1}
+%\item\negtabenumsep
+%\subitem
+%$u=\sqrt{x^2+y^2+z^2}$;
+%\subitem
+%$v=gt+\displaystyle\frac{g}{4}t$,
+%\subitem
+%$u=2^{5x-3y+z}$.\\\skipitem\negtabenumsep
+%\subitem
+%$w=(v+7)^2+(u-3)^2$;
+%\subitem
+%$5^x=\displaystyle\frac{4}{3} ;$
+%\subitem
+%$z=(x+1)^2+y^2$;\\\skipitem\negtabenumsep
+%\subitem
+%$2+5+8+ \ldots +(3n+2)=155$, $n\in \mathrm{N};$\hidewidth\skipitem
+%\subitem
+%$t=5u^2+8v^2$;
+%\end{tabenum}
+%\end{verbatim}%
+%\end{small}%
+% \begin{tabenum}[\bfseries 1)][a)]%
+% \tabenumitem\negtabenumsep
+% \subtabenumitem
+% $z=\displaystyle\frac xy$;
+% \nosubtabenumitem
+% $2^x=9;$
+% \subtabenumitem
+% $3^{2x+3}=16 $.
+% \subtabenumitem
+% $z=2x^2+4y^2$;\\
+%\startnumber{4}\startsubnumber{1}
+% \item\negtabenumsep
+% \subitem
+% $u=\sqrt{x^2+y^2+z^2}$;
+% \subitem
+% $v=gt+\displaystyle\frac{g}{4}t$,
+% \subitem
+% $u=2^{5x-3y+z}$.\\\skipitem\negtabenumsep
+% \subitem
+% $w=(v+7)^2+(u-3)^2$;
+% \subitem
+% $5^x=\displaystyle\frac{4}{3} ;$
+% \subitem
+% $z=(x+1)^2+y^2$;\\\skipitem\negtabenumsep
+% \subitem
+% $2+5+8+ \ldots +(3n+2)=155$, $n\in \mathrm{N};$\hidewidth\skipitem
+% \subitem
+% $t=5u^2+8v^2$;
+% \end{tabenum}
+%^^A% There were used two commands |\startnumber| and |\startsubnumber| which set
+%^^A% next start numbers for items of each of two levels. There is not restarting commands
+%^^A% for numeration of second level inside environment,
+%^^A% so, in this case, we need set new start of sublevel by hand. The
+%^^A% |\startnumber|\footnote{The \cs{startnumber} command can be used inside any list
+%^^A% environment.}
+%^^A% allows you to divide \env{tabenum} environment and restart with necessary counter.
+%^^A% You may still use the traditional |\setcounter{enum..}{..}| combination,
+%^^A% if you know the level of your list and \env{tabenum}/\allowbreak\env{subtabenum} %^^A% environments.
+% В~примере были использованы две команды |\startnumber| и~|\startsubnumber| которые
+% задают начало нумерации для каждого из двух уровней. Внутри окружения \env{tabenum}
+% перенумерация второго уровня не задаётся,
+% поэтому её приходится задавать вручную. Команда
+% |\startnumber|\footnote{Команда \cs{startnumber} может быть использована для любого
+% окружения перечня.}
+% позволяет вам разделить окружение \env{tabenum} и~начать нумерацию с~нужного номера.
+% Но можно использовать и~традиционную комбинацию |\setcounter{enum..}{..}|,
+% если вы знаете уровень ваших окружений перечней
+% и~\env{tabenum}/\allowbreak\env{subtabenum}.
+%
+%^^A% \subsection{Restoring of \cs{item} as command from list environments}
+% \subsection{Восстановление оригинальной команды \cs{item} для перечней}
+%
+%^^A% \DescribeMacro{\restorelistitem}
+%^^A% For the cases when standard lists appear inside \env{tablist}, you may
+%^^A% restore original |\item| meaning.
+% \DescribeMacro{\restorelistitem}
+% Если внутри окружения \env{tablist} появится окружение обычного перечня, вы можете
+% восстановить оригинальную команду |\item|.
+%
+% \Finale
+\endinput
+%%
+%% End of file tablists-rus.tex \ No newline at end of file
diff --git a/Master/texmf-dist/doc/latex/makecell/tablists.pdf b/Master/texmf-dist/doc/latex/makecell/tablists.pdf
new file mode 100644
index 00000000000..2929cc65306
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/makecell/tablists.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/makecell/tablists.xml b/Master/texmf-dist/doc/latex/makecell/tablists.xml
new file mode 100644
index 00000000000..262e944582f
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/makecell/tablists.xml
@@ -0,0 +1,20 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE entry SYSTEM 'catalogue.dtd'>
+<entry datestamp='$Date: 2007/05/24 10:01:40 $' modifier='$Author: schoepf $' id='tablists'>
+ <name>tablists</name>
+ <caption>Tabulated lists of short items (exersizes in textbooks).</caption>
+ <authorref id='auth:lapko'/>
+ <license type='lppl'/>
+ <version number='0.0a (beta)'/>
+ <description>
+ This package offers environments and commands for one-level and two-level
+ lists of short items (exersizes in textbooks). The environments follow
+ support of optional arguments of item numbering as
+ <xref refid='enumerate'>enumerate</xref> or
+ <xref refid='paralist'>paralist</xref> packages.
+ </description>
+ <ctan path='/macros/latex/contrib/makecell'/>
+ <documentation href='ctan://macros/latex/contrib/makecell/README'/>
+ <texlive location/>
+ <miktex/>
+</entry>
diff --git a/Master/texmf-dist/source/latex/makecell/makecell.dtx b/Master/texmf-dist/source/latex/makecell/makecell.dtx
index b26f47ba5b0..6e1b30b6ba1 100644
--- a/Master/texmf-dist/source/latex/makecell/makecell.dtx
+++ b/Master/texmf-dist/source/latex/makecell/makecell.dtx
@@ -1,7 +1,7 @@
% \iffalse
%
-% makecell.dtx - tabular column heads and multilined cells.
-% (c) 2005--2006 Olga Lapko (Lapko.O@g23.relcom.ru)
+% makecell.dtx - Managing of tabular column heads and cells.
+% (c) 2005--2007 Olga Lapko (Lapko.O@g23.relcom.ru)
%
% This program is provided under the terms of the
% LaTeX Project Public License distributed from CTAN
@@ -16,7 +16,7 @@
%<package>\NeedsTeXFormat{LaTeX2e}[1999/12/01]
%<package>\ProvidesPackage{makecell}
%<*package>
- [2006/06/28 v0.1c Multilined Cells and Tabular Heads]
+ [2007/05/24 V0.1d Managing of Tab Column Heads and Cells]
%</package>
%
%<*batchfile>
@@ -36,7 +36,7 @@
\documentclass{ltxdoc}
\usepackage{makecell}
\IfFileExists{rotating.sty}{\usepackage{rotating}}{}
-\IfFileExists{footmisc.sty}{\usepackage[perpage]{footmisc}}{}
+\IfFileExists{footmisc.sty}{\usepackage[perpage,bottom]{footmisc}}{}
\IfFileExists{multirow.sty}{\usepackage{multirow}}{}
\IfFileExists{hyperref.sty}{\usepackage{hyperref}}{}
\IfFileExists{hypcap.sty}{\usepackage{hypcap}}{}
@@ -70,7 +70,7 @@
%</driver>
% \fi
%
-% \CheckSum{887}
+% \CheckSum{1238}
%
% \GetFileInfo{makecell.dtx}
%
@@ -92,16 +92,26 @@
% layout for tabular column heads in whole documentation. Another command,
% |\makecell|, is offered for creation of multilined tabular cells.
%
-% Package also offers: \quad 1)\nobreak\enskip macro |\makegapedcells|, which
-% changes vertical spaces around all cells in tabular, like in \pkg{tabls}
-% package, but uses code of \pkg{array} package. (Macro |\makegapedcells|
-% redefines macro |\@classz| from this package. Macro |\nomakegapedcells|
-% cancels this redefinition.); \quad 2)\nobreak\enskip macros |\multirowhead|
-% and |\multirowcell|, which use |\multirow| macro from \pkg{multirow}
-% package.\smallskip
+% Package also offers: \quad 1)\nobreak\enskip macro |\makegapedcells|,
+% which changes vertical spaces around all cells in tabular, like in
+% \pkg{tabls} package, but uses code of \pkg{array} package. (Macro
+% |\makegapedcells| redefines macro |\@classz| from \pkg{array} package.
+% Macro |\nomakegapedcells| cancels this redefinition.);
+% \quad 2)\nobreak\enskip macros |\multirowhead| and |\multirowcell|,
+% which use |\multirow| macro from \pkg{multirow} package;
+% \quad 3)\nobreak\enskip numbered rows |\nline| or skipping cells |\eline|
+% in tabulars;
+% \quad 4)\nobreak\enskip diagonally divided cells (|\diaghead|);
+% \quad 5)\nobreak\enskip |\hline| and |\cline| with defined thickness:
+% |\Xhline| and |\Xcline| consequently.
+% \smallskip
%
% \end{abstract}
%
+% \clearpage
+% \tableofcontents
+%
+% \clearpage
% \section{Tabular Cells and Column Heads}
%
% \subsection{Building Commands}
@@ -109,8 +119,8 @@
% \DescribeMacro{\makecell}
% Macro creates one-column tabular with predefined common settings of
% alignment, spacing and vertical spaces around (see section~\ref{sec:sets}).
-% This will be useful for creation of multilined cells. This macro allows optional
-% alignment settings.
+% This will be useful for creation of multilined cells. This macro allows
+% optional alignment settings.
% \begin{quote}
% |\makecell|\oarg{vertical or/and horizontal alignment}\marg{cell text}
% \end{quote}
@@ -162,23 +172,25 @@
% \end{tabular}}
% \end{table}
%
-% Starred form of command, |\makecell*|, creates vertical |\jot| spaces around.
+% Starred form of command, |\makecell*|, creates vertical |\jot| spaces
+% around.
%
-% \emph{Note}. When you define column alignment like |p{3cm}| in optional argument
-% of |\makecell| (or |\thead|, see below), please follow these rules: \quad
-% 1)\nobreak\enskip if
-% vertical alignment defined, write column alignment in group, e.g. |[c{p{3cm}}]|;
-% \quad 2)\nobreak\enskip if it is absent, write column alignment in double
-% group---|[{{p{3cm}}}]|, or add empty group---|[{}{p{3cm}}]|. Be also careful
-% with vertical alignment when you define column alignment as paragraph block:
-% e.g., use |{{b{3cm}}}| for bottom alignment (and |{{m{3cm}}}| for centered
-% vertical alignment).
+% \emph{Note}. When you define column alignment like |{p{3cm}}| in optional
+% argument of |\makecell| (or |\thead|, see below), please follow these
+% rules: \quad 1)\nobreak\enskip if vertical
+% alignment defined, write column alignment in group, e.g. |[c{p{3cm}}]|;
+% \quad 2)\nobreak\enskip if vertical alignment is absent,
+% write column alignment in double
+% group---|[{{p{3cm}}}]|, or add empty group---|[{}{p{3cm}}]|. Be also
+% careful with vertical alignment when you define column alignment as
+% paragraph block: e.g., use |{{b{3cm}}}| for bottom alignment (and
+% |{{m{3cm}}}| for centered vertical alignment).
%
% \DescribeMacro{\thead}
% Macro creates one-column \texttt{tabular} for column heads with predefined
-% common settings (see table~\ref{tab:thead}). This macro uses common layout for
-% column heads: font, alignment, spacing, and vertical spaces around
-% (see section~\ref{sec:sets}).
+% common settings (see table~\ref{tab:thead}). This macro uses common layout
+% for column heads: font, alignment, spacing, and vertical spaces around
+% (see section~\ref{sec:tsets}).
%\begin{verbatim}
%\renewcommand\theadset{\def\arraystretch{.85}}%
%\begin{tabular}{|l|c|}
@@ -223,7 +235,7 @@
% \begin{quote}
% |\settowidth\rotheadsize{\theadfont |\meta{Widest head text}|}|
% \end{quote}
-% like in following example:
+% like in following example (table~\ref{tab:rotheads}):
%\begin{verbatim}
%\settowidth\rotheadsize{\theadfont Second multilined}
%\begin{tabular}{|l|c|}
@@ -237,7 +249,7 @@
%\end{verbatim}
% \begin{table}[h]
% \ttabbox
-% {\caption{Example of rotated column heads}}%
+% {\caption{Example of rotated column heads}\label{tab:rotheads}}%^^A%
% {\settowidth\rotheadsize{\theadfont Second multilined}%^^A
% \begin{tabular}{l|l}
% \hline
@@ -251,10 +263,10 @@
%
% \subsection{Settings For Tabular Cells}\label{sec:sets}
%
-% This section describes macros, which make layout tuning for multilined cells,
-% created by |\makecell| macro (and also |\multirowcell| and |\rotcell| macros).
-% The |\cellset| macro also is used by |\thead| (|\rothead|, |\multirowtead|)
-% macro.
+% This section describes macros, which make layout tuning for multilined
+% cells, created by |\makecell| macro (and also |\multirowcell| and
+% |\rotcell| macros). The |\cellset| macro also is used by |\thead|
+% (|\rothead|, |\multirowtead|) macro.
%
% \DescribeMacro{\cellset}
% Spacing settings for cells. Here you could use commands like:
@@ -262,8 +274,7 @@
% |\renewcommand\cellset{\renewcommand\arraytretch{1}%|\\
% | \setlength\extrarowheight{0pt}}|
% \end{quote}
-% as was defined in current package. These settings
-% used by both |\makecell| and |\thead| (|\rothead|, |\multirowtead|) commands.
+% as was defined in current package.
%
% \DescribeMacro{\cellalign}
% Default align for cells. Package offers vertical and horizontal centering
@@ -271,8 +282,10 @@
% \begin{quote}
% |\renewcommand\cellalign{cc}|
% \end{quote}
-% Define vertical spaces around |\makecell|, using |\gape| command if necessary.
-% It defined like:
+%
+% \DescribeMacro{\cellgape}
+% Define vertical spaces around |\makecell|, using |\gape| command if
+% necessary. It defined like:
% \begin{quote}
% |\renewcommand\cellgape{}|
% \end{quote}
@@ -284,17 +297,17 @@
% \begin{quote}
% |\renewcommand\cellgape{\gape[t]}|
% \end{quote}
-% (See also section~\ref{sec:gape} about |\gape| command.)
+% (See also section~\ref{sec:gape} about |\gape| and |\Gape| command.)
%
% \DescribeMacro{\cellrotangle}
% The angle for rotated cells and column heads. The default value 90
% (counterclockwise). This value definition is used by both |\rotcell| and
% |\rothead| macros.
%
-% \subsection{Settings For Column Heads}
+% \subsection{Settings For Column Heads}\label{sec:tsets}
%
-% This section describes macros, which make layout tuning for tabular column heads,
-% created by |\thead| (|\rothead|, |\multirowtead|) macro.
+% This section describes macros, which make layout tuning for tabular column
+% heads, created by |\thead| (|\rothead|, |\multirowtead|) macro.
%
% \DescribeMacro{\theadfont}
% Sets a special font for column heads. It could be smaller size
@@ -316,13 +329,15 @@
% \end{quote}
%
% \DescribeMacro{\theadalign}
-% Default align for tabular column heads. Here also offered centering alignment:
+% Default align for tabular column heads. Here also offered centering
+% alignment:
% \begin{quote}
% |\renewcommand\theadalign{cc}|
% \end{quote}
%
% \DescribeMacro{\theadgape}
-% Define vertical spaces around, using |\gape| command if necessary.
+% Define vertical spaces around column head (|\thead|),
+% using |\gape| command if necessary.
% It defined like:
% \begin{quote}
% |\renewcommand\theadgape{\gape}|
@@ -334,20 +349,22 @@
% |\renewcommand\rotheadgape{}|
% \end{quote}
%
+% \clearpage
% \section{Changing of Height and Depth of Boxes}\label{sec:gape}
%
% Sometimes \env{tabular} or \env{array} cells, or some elements in text need a
-% height/depth correction. The |\raisebox| command could help for it, but usage
-% of that macro in these cases, especially inside math, is rather complex.
-% Current package offers the |\gape| macro, which usage is similar to |\smash|
-% macro. The |\gape| macro allows to change height and/or depth of included
-% box with necessary dimension.
+% height/depth correction. The |\raisebox| command could help for it, but
+% usage of that macro in these cases, especially inside math, is rather
+% complex. Current package offers the |\gape| macro, which usage is similar
+% to |\smash| macro. The |\gape| macro allows to change height and/or depth
+% of included box with necessary dimension.
%
% \DescribeMacro{\gape}
-% This macro changes included box by |\jot| value (usually 3\,pt). It is defined
-% with optional and mandatory arguments, like |\smash| macro, which (re)defined by
-% \pkg{amsmath} package. Optional argument sets change of height only (\texttt{t})
-% or depth only~(\texttt{b}). Mandatory argument includes text.
+% This macro changes included box by |\jot| value (usually 3\,pt). It is
+% defined with optional and mandatory arguments, like |\smash| macro, which
+% (re)defined by \pkg{amsmath} package. Optional argument sets change of
+% height only (\texttt{t}) or depth only~(\texttt{b}). Mandatory argument
+% includes text.
% \begin{quote}
% |\gape|\oarg{\texttt{t} or \texttt{b}}\marg{text}
% \end{quote}
@@ -372,14 +389,15 @@
% \end{quote}
%
% \DescribeMacro{\Gape}
-% Another way of height/depth modification. This macro allows different correction
-% for height and depth of box:
+% Another way of height/depth modification. This macro allows different
+% correction for height and depth of box:
% \begin{quote}
% |\Gape|\oarg{height corr}\oarg{depth corr}\marg{text}
% \end{quote}
%
-% If both arguments absent, |\Gape| command works like |\gape|\marg{text}, in other
-% words, command uses |\jot| as correction value for height and depth of box.
+% If both arguments absent, |\Gape| command works like |\gape|\marg{text}, in
+% other words, command uses |\jot| as correction value for height and depth
+% of box.
%
% If only one optional argument exists, |\Gape| command uses value
% from this argument for both height and depth box corrections.
@@ -407,6 +425,9 @@
% \crcr}}
% \end{quote}
%
+% You may also use |\height| and |\depth| parameters in optional arguments
+% of |\Gape| macro, parameters was borrowed from |\raisebox| command.
+%
% \DescribeMacro{\bottopstrut}
% \DescribeMacro{\topstrut}
% \DescribeMacro{\botstrut}
@@ -418,18 +439,20 @@
%
% \emph{Note}. If you use
% \pkg{bigstrut} package note that these macros duplicate \cmd{\bigstrut},
-% \cmd{\bigstrut[t]}, and \cmd{\bigstrut[b]} commands consequently. Please note
-% that value, which increases strut in \cmd{\topstrut} etc. equals to \cmd{\jot},
-% but \cmd{\bigstrut} and others use a special dimension \cmd{\bigstrutjot}.
+% \cmd{\bigstrut[t]}, and \cmd{\bigstrut[b]} commands consequently. Please
+% note that value, which increases strut in \cmd{\topstrut} etc. equals to
+% \cmd{\jot}, but \cmd{\bigstrut} and others use a special dimension
+% \cmd{\bigstrutjot}.
%
-% \section{How to Change Vertical Spaces Around in Whole Table}\label{sec:beta}
+% \clearpage
+% \section{How to Change Vertical Spaces Around Cells
+% in Whole Table}\label{sec:beta}
%
% This section describes macros which try to emulate one of possibilities of
% \pkg{tabls} package: to get necessary vertical spacing around cells.
%
% \DescribeMacro{\setcellgapes}
-% Sets the parameters for vertical spaces. It looks like |\gape*| command without
-% \marg{text} argument:
+% Sets the parameters for vertical spaces:
% \begin{quote}
% |\setcellgapes|\oarg{\texttt{t} or \texttt{b}}\marg{value}
% \end{quote}
@@ -437,8 +460,8 @@
% \begin{quote}
% |\setcellgapes{5pt}|
% \end{quote}
-% You may also try to load negative values if you wish. This macro you may put in
-% the preamble as common settings.
+% You may also try to load negative values if you wish. This macro you may
+% put in the preamble as common settings.
%
% \DescribeMacro{\makegapedcells}
% \DescribeMacro{\nomakegapedcells}
@@ -475,16 +498,17 @@
% \hline
% \makecell*[{{p{3cm}}}]{Cell long text with predefined width} & 52--58\\
% \hline
-% \makecell[{{>{\parindent1em}p{3cm}}}]{Cell long text with predefined width}
-% & 52--58\\
+% \makecell[{{>{\parindent1em}p{3cm}}}]{Cell long text with
+% predefined width} & 52--58\\
% \hline
% \end{tabular}}
% \end{table}
%
-% Please note that space defined in |\setcellgapes| and space which creates |\gape|
-% mechanism
-% in commands for tabular cells (usually |\thead| or |\makecell*|) are summarized.
+% Please note that space defined in |\setcellgapes| and space which creates
+% |\gape| mechanism in commands
+% for tabular cells (usually |\thead| or |\makecell*|) are summarized.
%
+% \clearpage
% \section{Multirow Table Heads and Cells}
%
% The next examples show usage of macros which use |\multirow| command from
@@ -496,8 +520,8 @@
% \end{quote}
% \marg{nrow} sets number of rows (i.e. text lines);
% \oarg{njot} is mainly used if you've used \pkg{bigstrut} package: it makes
-% additional tuning of vertical position (see comments in \pkg{multirow}
-% package);
+% additional tuning of vertical position (see comments in
+% \pkg{multirow} package);
% \marg{width} defines width of contents, the |*| sign used to indicate that
% the text argument's natural width is to be used;
% \oarg{vmove} is a length used for fine tuning: the text will be raised (or
@@ -506,15 +530,16 @@
%
% \DescribeMacro{\multirowcell}
% \DescribeMacro{\multirowthead}
-% These two macros use following arguments (example uses |\multirowcell| command):
+% These two macros use following arguments (example uses |\multirowcell|
+% command):
% \begin{quote}
% |\multirowcell|\marg{nrow}\oarg{vmove}\oarg{hor alignment}\marg{contents}
% \end{quote}
-% in these macros were skipped \oarg{njot} and \marg{width}. Instead of tuning
-% optional argument \oarg{njot} for vertical
+% in these macros were skipped \oarg{njot} and \marg{width}. Instead of
+% tuning optional argument \oarg{njot} for vertical
% correction used \oarg{vmove} optional argument.
-% For the \marg{width} argument both |\multirowcell| and |\multirowthead| macros
-% use natural width of contents (i.e. the |*| argument used).
+% For the \marg{width} argument both |\multirowcell| and |\multirowthead|
+% macros use natural width of contents (i.e. the |*| argument used).
%
% First example (table~\ref{tab:mrowI}) with ``|\multirow|'ed'' column heads
% and cells:
@@ -551,14 +576,16 @@
% \cline{1-2}
% \makecell{Multilined\\Cell text} & B& \\
% \hline
-% \makecell[l]{Left aligned\\ cell text} & C & \multirowcell{4}[1ex][l]{37--43}\\
+% \makecell[l]{Left aligned\\ cell text} & C
+% & \multirowcell{4}[1ex][l]{37--43}\\
% \cline{1-2}
% \makecell[r]{Right aligned\\ cell text} & D & \\
% \hline
% \makecell[b]{Bottom aligned\\ cell text} & E &
% \multirowcell{5}[1ex][r]{37--43\\52--58}\\
% \cline{1-2}
-% \makecell[{{p{5cm}}}]{Cell long long long long text with predefined width} & F & \\
+% \makecell[{{p{5cm}}}]{Cell long long long long text with predefined width}
+% & F & \\
% \cline{1-2}
% \makecell[{{>{\parindent1em}p{5cm}}}]{Cell long long long long text with
% predefined width} & G & \\
@@ -566,8 +593,9 @@
% \end{tabular}}
% \end{table}
%
-% Second example (table~\ref{tab:mrowII}) with ``multirow'ed'' column heads and
-% cells uses |\makegapedcells| command. The |\theadgape| command does nothing:
+% Second example (table~\ref{tab:mrowII}) with ``multirow'ed'' column heads
+% and cells uses |\makegapedcells| command. The |\theadgape| command does
+% nothing:
%\begin{verbatim}
%\makegapedcells
%\renewcommand\theadset{\def\arraystretch{.85}}%
@@ -592,7 +620,8 @@
% \cline{1-2}
% \makecell{Multilined \\Cell text} & B& \\
% \hline
-% \makecell[l]{Left aligned \\ cell text} & C & \multirowcell{4}[0ex][l]{37--43}\\
+% \makecell[l]{Left aligned \\ cell text} & C
+% & \multirowcell{4}[0ex][l]{37--43}\\
% \cline{1-2}
% \makecell[r]{Right aligned \\ cell text} & D & \\
% \hline
@@ -609,8 +638,8 @@
% \end{table}
% \bigskip
%
-% The last example (table~\ref{tab:mrowIII}) uses \env{tabularx} environment with
-% |\hsize| in the width argument.
+% The last example (table~\ref{tab:mrowIII}) uses \env{tabularx} environment
+% with |\hsize| in the width argument.
%\begin{verbatim}
%\makegapedcells
%\renewcommand\theadset{\def\arraystretch{.85}}%
@@ -650,7 +679,8 @@
% \cline{1-2}
% \makecell{Multilined \\Cell text} & B& \\
% \hline
-% \makecell[l]{Left aligned \\ cell text} & C & \multirowcell{4}[0ex][l]{37--43}\\
+% \makecell[l]{Left aligned \\ cell text} & C
+% & \multirowcell{4}[0ex][l]{37--43}\\
% \cline{1-2}
% \makecell[r]{Right aligned \\ cell text} & D & \\
% \hline
@@ -677,6 +707,7 @@
% cells, which stay in one ``multi row'' will have the same value of this
% negative space, in spite of different number of lines in their contents.
%
+% \clearpage\suppressfloats[t]
% \section{Numbered Lines in Tabulars}
%
% The three commands |\eline|, |\nline|, |\rnline| allow to skip:
@@ -702,7 +733,7 @@
% \end{tabular}
%\end{verbatim}
%
-% \begin{table}
+% \begin{table}[hbt]
% \ttabbox
% {\caption{Examples of filling of cells}\label{tab:elines}}%
% {\begin{tabular}{|*{6}{c|}}
@@ -715,6 +746,188 @@
% \end{tabular}}
%\end{table}
%
+% \clearpage
+% \section{Diagonally Divided Cell}
+%
+% This variant of head's positioning is not too popular nowadays, but in
+% the some cases it could be used. Instead of creating of
+% multicolumn head above a wide couple of all column heads except the
+% very left column, the most left column head (upper left cell)
+% divided by diagonal line. The lower head is usually head of very left
+% column and upper head---``multicolumn'' to all other column heads of
+% table to the right.
+%
+% This package offers macro based on possibilities of \env{picture}
+% environment.
+% \begin{quote}
+% |\diaghead|\texttt{(}\meta{\texttt{\textup{H}} ratio,%^^A
+% \textup{\texttt{V}} ratio}\texttt{)}%^^A
+% \marg{Text set for column width}|%|\\
+% \phantom{/diaghead }\marg{First head}\marg{Second head}
+% \end{quote}
+% where \texttt{(}\meta{\textup{\texttt{H ratio}},%^^A
+% \textup{\texttt{V ratio}}}\texttt{)} sets the ratios like in |\line|
+% command (digits from~|1| up to~|6|). This argument is optional,
+% the default ratio (|\line|
+% direction) defined as~|(5,-2)|.
+%
+% The \marg{Text set for column width}
+% defined by hand, for example:
+% \quad 1)\nobreak\enskip sets the width, using longest text lines from
+% both heads---in this case you must put |\theadfont| macro, if you use
+% |\thead|'s; \quad 2)\nobreak\enskip the longest text from the rest of
+% column; \quad 3)\nobreak\enskip |\hskip|\meta{value}, even |\hskip\hsize|
+% the case of |p| column (or |X| column in \env{tabularx} environment).
+% The \marg{First head}
+% is head in lower corner (usually for first or very left column),
+% \marg{Second head}---in the upper corner (head for the all right columns).
+%
+% Here is code of table~\ref{tab:diaghead}.
+%\begin{verbatim}\makegapedcells
+%\begin{tabular}{|l|c|c|}\hline
+%\diaghead{\theadfont Diag ColumnmnHead II}%
+% {Diag Column \\Head I}{Diag\\Column Head II}&
+%\thead{Second\\column}&\thead{Third\\column}\\
+%\hline...
+%\end{tabular}\medskip
+%
+%\begin{tabularx}{.62\hsize}{|X|c|c|}\hline
+%\diaghead(-4,1){\hskip\hsize}%
+% {Diag \\Column Head I}{Diag Column \\Head II}&
+%\thead{Second\\column}&\thead{Third\\column}\\
+%\hline...
+%\end{tabularx}\medskip
+%
+% \nomakegapedcells
+% \begin{tabular}{|l|c|c|}\hline
+% \diaghead(4,1){\hskip4.2cm}%
+% {Diag \\Column Head I}{Diag Column \\Head II}&
+% \thead{Second\\column}&\thead{Third\\column}\\
+%...
+%\end{verbatim}%
+%
+% \begin{table}[!bp]\makegapedcells
+% \begin{tabular}{|c|c|c|}%
+% \hline
+% \diaghead{\theadfont Diag ColumnmnHead II}%^^A
+% {Diag \\Column Head I}{Diag Column\\ Head II}&
+% \thead{Second\\column}&\thead{Third\\column}\\
+% \hline
+% \makecell[l]{Left aligned \\ cell text} & A & 37--43\\
+% \hline
+% \makecell*[r]{Right aligned \\ cell text} & B & 37--43\\
+% \hline
+% \makecell[b]{Bottom aligned\\ cell text} & C & 52--58\\
+% \hline
+% \end{tabular}%
+% \medskip
+%
+% \begin{tabularx}{.62\hsize}{|X|c|c|}%
+% \hline
+% \diaghead(4,1){\hskip\hsize}%
+% %^^A{\theadfont Diag ColuDiag Column}%^^A
+% {Diag \\Column Head I}{Diag Column \\Head II}&
+% \thead{Second\\column}&\thead{Third\\column}\\
+% \hline
+% \makecell[l]{Left aligned \\ cell text} & A & 37--43\\
+% \hline
+% \makecell*[r]{Right aligned \\ cell text} & B & 37--43\\
+% \hline
+% \makecell[b]{Bottom aligned\\ cell text} & C & 52--58\\
+% \hline
+% \end{tabularx}%
+% \medskip
+%
+% \nomakegapedcells
+% \begin{tabular}{|l|c|c|}%
+% \hline
+% \diaghead(-4,1){\hskip4.2cm}%^^A
+% {Diag \\Column Head I}{Diag Column \\Head II}&
+% \thead{Second\\column}&\thead{Third\\column}\\
+% \hline
+% \makecell[l]{Left aligned \\ cell text} & A & 37--43\\
+% \hline
+% \makecell*[r]{Right aligned \\ cell text} & B & 37--43\\
+% \hline
+% \makecell[b]{Bottom aligned\\ cell text} & C & 52--58\\
+% \hline
+% \end{tabular}%
+%
+% \caption{Examples of tabulars with diagonally divided
+% cells}\label{tab:diaghead}
+%
+% \end{table}%
+% The correct position of diagonal ends depends of width of column. If cell width
+% is narrower then necessary
+% column ends of diagonal don't touch corners of cell.
+%
+% \clearpage
+% \section{Thick \cmd{\hline} and \cmd{\cline}}
+%
+% For horizontal rules in tabular there were added two commands
+% \cmd{\Xhline} and \cmd{\Xcline}
+% They use additional mandatory argument with defined rule width.
+%
+% The example, with result in table~\ref{tab:XmrowIII}.
+%\begin{verbatim}%
+%\begin{table}
+%\renewcommand\theadset{\def\arraystretch{.85}}%
+%\renewcommand\theadgape{}
+%\ttabbox
+%{\caption{...}\label{...}}%
+%{\begin{tabular}{!{\vrule width1.2pt}c
+% !{\vrule width1.2pt}c|c
+% !{\vrule width1.2pt}}
+%\Xhline{1.2pt}
+%\multirowthead{4}{First Column head}&
+%\multicolumn{2}{c!{\vrule width1.2pt}}{\thead{Multicolumn head}}\\
+%\Xcline{2-3}{1.2pt}
+% & \thead{Second \\multlined \\ column head} &
+% \thead{Third \\ column head}\\
+%\Xhline{1.2pt}
+%Cell text & A &\multirowcell{4}{28--31}\\
+%...
+%\Xhline{1.2pt}
+%\end{tabular}}
+%\end{table}
+%\end{verbatim}%
+%
+% \begin{table}\makegapedcells\relax
+%\renewcommand\theadset{\def\arraystretch{.85}}%
+%\renewcommand\theadgape{}
+% \ttabbox
+% {\caption{Example of \env{tabular} environment with
+% thick lines}\label{tab:XmrowIII}}%
+% {\begin{tabular}{!{\vrule width1.2pt}c
+% !{\vrule width1.2pt}c|c!{\vrule width1.2pt}}
+% \Xhline{1.2pt}
+% \multirowthead{4}{First Column head}&
+% \multicolumn{2}{c!{\vrule width1.2pt}}{\thead{Multicolumn head}}\\
+% \Xcline{2-3}{1.2pt}
+% & \thead{Second \\multlined \\ column head} &
+% \thead{Third \\ column head}\\
+% \Xhline{1.2pt}
+% Cell text & A &\multirowcell{4}{28--31}\\
+% \cline{1-2}
+% \makecell{Multilined \\Cell text} & B& \\
+% \hline
+% \makecell[l]{Left aligned \\ cell text} & C
+% & \multirowcell{4}[0ex][l]{37--43}\\
+% \cline{1-2}
+% \makecell[r]{Right aligned \\ cell text} & D & \\
+% \hline
+% \makecell[b]{Bottom aligned \\ cell text} & E &
+% \multirowcell{6}[0ex][r]{37--43\\52--58}\\
+% \cline{1-2}
+% \makecell[{{p{5cm}}}]{Cell long long long long long long text with
+% predefined width} & F & \\
+% \cline{1-2}
+% \makecell[{{>{\parindent1em}p{5cm}}}]{Cell long long long long long
+% long text with predefined width} & G & \\
+% \Xhline{1.2pt}
+% \end{tabular}}
+% \end{table}
+%
% \StopEventually{}\clearpage
%
% \section{Code of package}
@@ -727,9 +940,9 @@
% \end{macrocode}
%
% \begin{macro}{\makecell}
-% The definition of command for multilined cells. At first defined |\gape| stuff.
-% Non-star form loads special setting for vertical space around (if it used).
-% Star form always creates additional vertical |\jot|-spaces.
+% The definition of command for multilined cells. At first defined |\gape|
+% stuff. Non-star form loads special setting for vertical space around (if it
+% used). Star form always creates additional vertical |\jot|-spaces.
% \begin{macrocode}
\newcommand\makecell{\@ifstar{\let\tabg@pe\gape\makecell@}%
{\let\tabg@pe\cellgape\makecell@}}
@@ -753,10 +966,10 @@
\newcommand\thead{\@ifstar{\let\tabg@pe\gape\thead@}%
{\let\tabg@pe\theadgape\thead@}}
% \end{macrocode}
-% Next macro loads vertical and horizontal common alignment for column heads and
-% loads redefined spacing parameters |\arraystretch| and |\extrarowheight|
-% if these parameters were redefined.
-% (First go settings for cells, as for |\makecell|, then special settings for column heads.)
+% Next macro loads vertical and horizontal common alignment for column heads
+% and loads redefined spacing parameters |\arraystretch| and |\extrarowheight|
+% if these parameters were redefined. (First go settings
+% for cells, as for |\makecell|, then special settings for column heads.)
%
% For column heads also loaded font settings.
% \begin{macrocode}
@@ -784,8 +997,8 @@
\let\tabg@pe\empty\let\t@bset\cellset\makecell@}
{\@ifnextchar[{\@rotcell}{\@@rotcell}}}
% \end{macrocode}
-% For rotated cell default column setting is similar to |p{\rotheadsize}| (plus some
-% additional justification settings)
+% For rotated cell default column setting is similar to |p{\rotheadsize}| (plus
+% some additional justification settings)
% \begin{macrocode}
\@ifdefinable\@rotcell{}
\def\@rotcell[#1]#2{\makecell{\\[-.65\normalbaselineskip]
@@ -799,8 +1012,8 @@
% \end{macro}
%
% \begin{macro}{\rothead}
-% The macro for rotated tabular column heads. If no \pkg{rotating} package loaded
-% this macro works like |\thead|.
+% The macro for rotated tabular column heads. If no \pkg{rotating} package
+% loaded this macro works like |\thead|.
% \begin{macrocode}
\newcommand\rothead{\@ifundefined{turn}%
{\PackageWarning{makecell}{\string\rothead\space
@@ -810,8 +1023,8 @@
{\let\theadgape\rotheadgape
\@ifnextchar[{\@rothead}{\@@rothead}}}
% \end{macrocode}
-% For rotated column head default column setting is similar to |p{\rotheadsize}|
-% (plus some additional justification settings)
+% For rotated column head default column setting is similar to
+% |p{\rotheadsize}| (plus some additional justification settings)
% \begin{macrocode}
\@ifdefinable\@rothead{}
\def\@rothead[#1]#2{\thead{\\[-.65\normalbaselineskip]
@@ -879,9 +1092,9 @@
% settings for |\makecell| (|\thead|) blocks.
% \begin{macrocode}
\newcommand\mcell@l{\def\mcell@ii{l}\let\mcell@c\mcell@ic
- \global\let\mcell@left\empty}
+ \global\let\mcell@left\relax}
\newcommand\mcell@r{\def\mcell@ii{r}\let\mcell@c\mcell@ic
- \global\let\mcell@right\empty}
+ \global\let\mcell@right\relax}
\newcommand\mcell@t{\def\mcell@i{t}\let\mcell@c\mcell@iic}
\newcommand\mcell@b{\def\mcell@i{b}\let\mcell@c\mcell@iic}
\newcommand\mcell@{}
@@ -926,9 +1139,9 @@
\fi}\next}
% \end{macrocode}
%
-% The |\mcell@@tabular| macro at first calls |\mcell@setalign| macro for sorting of
-% alignment arguments,
-% then calls |\mcell@@@tabular| macro, which created tabular cell or column head.
+% The |\mcell@@tabular| macro at first calls |\mcell@setalign| macro for
+% sorting of alignment arguments, then calls |\mcell@@@tabular|
+% macro, which created tabular cell or column head.
% \begin{macrocode}
\def\mcell@@tabular#1#2\@nil#3{%
\expandafter\mcell@setalign\mcell@align\@nil
@@ -955,18 +1168,18 @@
\def\mcell@c{\def\mcell@ii{c}}%
\mcell@ifinlist{#1}{l,r,t,b,c,}{\@nameuse{mcell@#1}}%
% \end{macrocode}
-% If argument is not \texttt{l}, \texttt{r}, \texttt{c}, \texttt{t}, or \texttt{b}
-% it could define horizontal alignment only.
+% If argument is not \texttt{l}, \texttt{r}, \texttt{c}, \texttt{t},
+% or \texttt{b} it could define horizontal alignment only.
% \begin{macrocode}
{\def\mcell@ii{#1}\let\mcell@c\mcell@ic
- \let\mcell@left\empty\let\mcell@right\empty}%
+ \let\mcell@left\relax\let\mcell@right\relax}%
\mcell@ifinlist{#2}{l,r,t,b,c,}{\@nameuse{mcell@#2}}%
% \end{macrocode}
-% If argument is not \texttt{l}, \texttt{r}, \texttt{c}, \texttt{t}, or \texttt{b}
-% it could define horizontal alignment only.
+% If argument is not \texttt{l}, \texttt{r}, \texttt{c}, \texttt{t},
+% or \texttt{b} it could define horizontal alignment only.
% \begin{macrocode}
{\def\mcell@ii{#2}\let\mcell@c\mcell@ic
- \let\mcell@left\empty\let\mcell@right\empty}%
+ \let\mcell@left\relax\let\mcell@right\relax}%
% \end{macrocode}
% Here goes repeated check for first argument, if it is |c|-argument
% we call |\mcell@c| command, which can be now redefined.
@@ -980,7 +1193,8 @@
% First (and last) go commands which align |\makecell| and |\thead|
% blocks like \texttt{l}, \texttt{r}, or \texttt{c} (if they loaded).
% Then goes check whether math mode exists.
-% The |\mcell@multirow| emulation macro transforms to |\multirow| when necessary.
+% The |\mcell@multirow| emulation macro transforms to |\multirow|
+% when necessary.
% \begin{macrocode}
\def\mcell@@@tabular#1#2\@nil#3{%\mcell@mstyle
\ifdim\parindent<\z@\leavevmode\else\noindent\fi
@@ -1031,8 +1245,8 @@
% \begin{macrocode}
\newcommand\theadfont{\footnotesize}
% \end{macrocode}
-% Special spacing settings for tabular spacing in column heads (like |\arraystretch|
-% or/and |\extrarowheight|).
+% Special spacing settings for tabular spacing in column heads (like
+% |\arraystretch| or/and |\extrarowheight|).
% \begin{macrocode}
\newcommand\theadset{}
% \end{macrocode}
@@ -1062,8 +1276,8 @@
%
% \begin{macro}{\gape}
% \begin{macro}{\setcellgapes}
-% The macro itself. It uses analogous to |\smash| macro from \pkg{amsmath} package.
-% Starred form has additional mandatory argument for value of |\gape|.
+% The macro itself. It uses analogous to |\smash| macro from \pkg{amsmath}
+% package.
% \begin{macrocode}
\newcommand\gape{\@ifnextchar[\@gape{\@gape[tb]}}
% \end{macrocode}
@@ -1080,15 +1294,23 @@
\@ifdefinable\@setcellgapes{}
\def\mcell@setgapes#1[#2]#3{\expandafter\let\csname
mcell@#1@\expandafter\endcsname\csname mcell@mb@#2\endcsname
- \@namedef{mcell@#1jot}{#3}}
+ \@namedef{mcell@#1jot}{#3}%
+% \end{macrocode}
+% Negative compensate inside |\makegapedsells| area.
+% \begin{macrocode}
+ \@namedef{mcell@#1negjot}{-#3}\@namedef{mcell@#1negtb}{#2}}
+% \end{macrocode}
+%
+% \begin{macrocode}
+\newcommand\negjot[1]{{\jot\mcell@MBnegjot\gape[mcell@MBnegtb]{#1}}}
% \end{macrocode}
%
% The macros which count advanced height and depth of boxes.
% \begin{macrocode}
-\newcommand\mcell@mb@t[2]{\@tempdima\ht#1\advance\@tempdima#2%
- \ht#1\@tempdima}
-\newcommand\mcell@mb@b[2]{\@tempdimb\dp#1\advance\@tempdimb#2%
- \dp#1\@tempdimb}
+\newcommand\mcell@mb@t[2]{%
+ \@tempdima\ht#1\advance\@tempdima#2\ht#1\@tempdima}
+\newcommand\mcell@mb@b[2]{%
+ \@tempdimb\dp#1\advance\@tempdimb#2\dp#1\@tempdimb}
\newcommand\mcell@mb@tb[2]{\mcell@mb@t{#1}{#2}\mcell@mb@b{#1}{#2}}
% \end{macrocode}
%
@@ -1156,7 +1378,8 @@
% \begin{macrocode}
\@ifdefinable\mcell@oriclassz{\let\mcell@oriclassz\@classz}
% \end{macrocode}
-% This macros redefine and restore the |\@classz| macro from \pkg{array} package.
+% This macros redefine and restore the |\@classz| macro from \pkg{array}
+% package.
% \begin{macrocode}
\newcommand\makegapedcells{\let\@classz\mcell@classz}
\newcommand\nomakegapedcells{\let\@classz\mcell@oriclassz}
@@ -1216,6 +1439,7 @@
% The rows of numbered cells. The |\rnline| command replaces |\Alph| and
% |\alph| counter by |\Asbuk| and |\asbuk| consequently.
% \begin{macrocode}
+\newcounter{nlinenum}
\newcommand\rnline{\gdef
\TeXr@rus{\let\@Alph\@Asbuk\let\@alph\@asbuk}\@nline}
\newcommand\nline{\gdef\TeXr@rus{}\@nline}
@@ -1225,15 +1449,16 @@
\def\@@nline[#1]{\@ifnextchar[%]
{\@@@nline[#1]}{\@@@nline[#1][1]}}
\@ifdefinable\@@@nline{}
-\def\@@@nline[#1][#2]#3{\count@ #3%
+\def\@@@nline[#1][#2]#3{\count@ #3
+ \def\TeXr@label{\TeXr@label@{nlinenum}}%
\expandafter\TeXr@loop\@gobble{}#1\@@@
\xdef\Num{\the\TeXr@lab}%
- \@tempcnta#2\relax%
+ \c@nlinenum#2\relax%
\expandafter\@temptokena\expandafter{\Num
- \global\advance\@tempcnta\@ne}%
+ \global\advance\c@nlinenum\@ne}%
\advance\count@\m@ne
\loop\@temptokena\expandafter{\the\@temptokena&
- \Num \global\advance\@tempcnta\@ne}%
+ \Num \global\advance\c@nlinenum\@ne}%
\advance\count@\m@ne \ifnum\count@>\z@ \repeat
\the\@temptokena\ignorespaces}
% \end{macrocode}
@@ -1263,9 +1488,10 @@
% tokens |A a I i 1|, and is thrown away. |#1| will be a command
% like |\Roman|.
% \begin{macrocode}
-\def\TeXr@label#1#2{%
- \xdef\TeXr@the{\noexpand#1\@tempcnta}%
- \TeXr@lab\expandafter{\the\TeXr@lab\TeXr@rus\TeXr@the}%
+\def\TeXr@label@#1#2#3{%
+ \edef\TeXr@the{\noexpand#2{#1}}%
+ \TeXr@lab\expandafter
+ {\the\TeXr@lab\TeXr@rus\csname the#1\endcsname}%
\advance\@tempcnta1
\TeXr@loop}
% \end{macrocode}
@@ -1312,11 +1538,11 @@
% \end{macrocode}
% \begin{macrocode}
\def\TeXr@loop@{%
- \ifx A\TeXr@temp \def\@tempa{\TeXr@label\@Alph }\else
- \ifx a\TeXr@temp \def\@tempa{\TeXr@label\@alph }\else
- \ifx i\TeXr@temp \def\@tempa{\TeXr@label\@roman }\else
- \ifx I\TeXr@temp \def\@tempa{\TeXr@label\@Roman }\else
- \ifx 1\TeXr@temp \def\@tempa{\TeXr@label\@arabic}\else
+ \ifx A\TeXr@temp \def\@tempa{\TeXr@label\Alph }\else
+ \ifx a\TeXr@temp \def\@tempa{\TeXr@label\alph }\else
+ \ifx i\TeXr@temp \def\@tempa{\TeXr@label\roman }\else
+ \ifx I\TeXr@temp \def\@tempa{\TeXr@label\Roman }\else
+ \ifx 1\TeXr@temp \def\@tempa{\TeXr@label\arabic}\else
\ifx \@sptoken\TeXr@temp \let\@tempa\TeXr@space \else
\ifx \bgroup\TeXr@temp \let\@tempa\TeXr@group \else
\ifx \@@@\TeXr@temp \let\@tempa\@gobble \else
@@ -1337,5 +1563,148 @@
% \end{macrocode}
% \end{macro}
%
+% \subsection{Diagonally separated column heads}
+%
+% \begin{macro}{\diaghead}
+% Macro for diagonally separated column heads.
+% \begin{macrocode}
+\newcommand\diaghead{\@ifnextchar({\mcell@diaghead}{\mcell@diagheads}}
+\@ifdefinable\mcell@diaghead{}
+\def\mcell@diaghead(#1){\def\celldiagratio{(#1)}\mcell@diagheads}
+% \end{macrocode}
+% The default value of diagonal ratio.
+% \begin{macrocode}
+\newcommand\celldiagratio{(5,-2)}
+% \end{macrocode}
+% The building itself
+% \begin{macrocode}
+\newcommand\mcell@diagheads[3]{\hbox\bgroup\expandafter
+ \mcell@getcelldiagratios\celldiagratio\relax
+ \@tempswafalse
+% \end{macrocode}
+% depends of sign of ratios.
+% \begin{macrocode}
+ \ifnum\mcell@Hratio<\z@\count@-\mcell@Hratio\relax
+ \edef\mcell@Hratio{\the\count@}\relax
+ \ifnum\mcell@Vratio<\z@\count@-\mcell@Vratio\relax
+ \edef\mcell@Vratio{\the\count@}\else\@tempswatrue
+ \fi
+ \else
+ \ifnum\mcell@Vratio<\z@\count@-\mcell@Vratio\relax
+ \edef\mcell@Vratio{\the\count@}\@tempswatrue\else
+ \fi
+ \fi
+ \settowidth\@tempdima{#1}\advance\@tempdima2\tabcolsep
+ \edef\mcell@diagH{\the\@tempdima}\divide\@tempdima\mcell@Hratio
+ \@tempdima\mcell@Vratio\@tempdima\edef\mcell@diagV{\the\@tempdima}%
+% \end{macrocode}
+% The |\unitlength| here is |\relaxed|, we use just real dimensions.
+% \begin{macrocode}
+ \let\mcell@oriunitlength\unitlength\let\unitlength\relax
+ \kern-\tabcolsep\kern-\@wholewidth
+ \setbox\z@\hbox{\theadfont{\strut}}\@tempdima\dp\z@
+% \end{macrocode}
+% The value of compensate vertical spacing defined here experimentally
+% and equals to 2~default line thickness.
+% \begin{macrocode}
+ \advance\@tempdima.8\p@%2\@wholewidth
+% \end{macrocode}
+% If |\makedgapedcells| switched on for the table there is
+% compensate spacing.
+% \begin{macrocode}
+ {\ifx\@classz\mcell@classz
+ \setbox\z@\hbox{#1}\ht\z@\z@\dp\z@\z@
+ \mcell@MB@\z@\mcell@MBjot
+ \global\dimen@\@tempdima\global\@tempdimb\@tempdimb
+ \else\global\dimen@\z@\global\@tempdimb\z@\fi
+ }%
+ \advance\@tempdima\dimen@
+ \edef\mcell@diagVoffset{\the\@tempdima}%
+ \@tempdima\mcell@diagV\advance\@tempdima-\mcell@diagVoffset
+ \advance\@tempdima-\@tempdimb
+ \edef\mcell@diagVcorr{\the\@tempdima}%
+ \noindent\nomakegapedcells\hbox{\begin{tabular}{@{}c@{}}%
+% \end{macrocode}
+% At least a~|\normallineskip| vertical space from top and bottom of cell.
+% \begin{macrocode}
+ \ifdim\jot<2\p@\jot2\p@\fi
+ \if@tempswa
+% \end{macrocode}
+% For South-East or North-West directions.
+% \begin{macrocode}
+ \begin{picture}(\mcell@diagH,\mcell@diagVcorr)(\z@,\mcell@diagVoffset)%
+ \put(\z@,\mcell@diagV){\makebox(\z@,\z@)[tl]%
+ {\edef\tempa{(\mcell@Hratio,-\mcell@Vratio)}\expandafter
+ \line\tempa{\mcell@diagH}}}
+ \put(\tabcolsep,\jot)%
+ {\makebox(\z@,\z@)[bl]{\theadfont
+ \let\cellset\theadset\makecell[bl]{\strut#2}}}
+ \@tempdima\mcell@diagH\advance\@tempdima-\tabcolsep
+ \@tempdimb\mcell@diagV\advance\@tempdimb-\jot
+ \put(\@tempdima,\@tempdimb)%
+ {\makebox(\z@,\z@)[tr]{\theadfont
+ \let\cellset\theadset\makecell[tr]{#3\strut}}}
+ \end{picture}%
+ \else
+% \end{macrocode}
+% For South-West or North-East directions.
+% \begin{macrocode}
+ \begin{picture}(\mcell@diagH,\mcell@diagVcorr)(\z@,\mcell@diagVoffset)%
+ \put(\z@,\mcell@diagV){\makebox(\z@,\z@)[tl]%
+ {\edef\tempa{(\mcell@Hratio,\mcell@Vratio)}\expandafter
+ \line\tempa{\mcell@diagH}}}
+ \@tempdima\mcell@diagV\advance\@tempdima-\jot
+ \put(\tabcolsep,\@tempdima)%
+ {\makebox(\z@,\z@)[tl]{\theadfont
+ \let\cellset\theadset\makecell[tl]{\strut#3}}}
+ \@tempdima\mcell@diagH\advance\@tempdima-\tabcolsep
+ \put(\@tempdima,\jot)%
+ {\makebox(\z@,\z@)[br]%
+ {\theadfont
+ \let\cellset\theadset{\makecell[br]{#2\strut}}}}
+ \end{picture}%
+ \fi
+ \end{tabular}%
+ \kern-\tabcolsep\kern-\@wholewidth
+ }\let\unitlength\mcell@oriunitlength\egroup\par
+ \ifvmode\strut
+ \vspace*{-\normalbaselineskip}\vspace*{-\normallineskip}
+ \fi
+}
+% \end{macrocode}
+% \end{macro}
+% Macro used by previous one. Extracts ratios for defining of height of cell.
+% \begin{macrocode}
+\@ifdefinable\mcell@getcelldiagratios{}
+\def\mcell@getcelldiagratios(#1,#2){\def\mcell@Hratio{#1}\def\mcell@Vratio{#2}}
+% \end{macrocode}
+%
+% \subsection{The \cmd{\hline} and \cmd{\cline} with necessary thickness}
+%
+% \begin{macro}{\Xhline}
+% The commands for |\hline| and |\cline| with necessary thickness.
+% \begin{macrocode}
+\newcommand\Xhline[1]{\noalign{\ifnum0=`}\fi\arrayrulewidth#1%
+ \hrule\@height\arrayrulewidth\futurelet\reserved@a\@xhline}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\Xcline}
+% \begin{macrocode}
+\def\Xcline#1#2{\@Xcline#1;#2\@nil}
+\def\@Xcline#1-#2;#3\@nil{%
+ \omit
+ \@multicnt#1%
+ \advance\@multispan\m@ne
+ \ifnum\@multicnt=\@ne\@firstofone{&\omit}\fi
+ \@multicnt#2%
+ \advance\@multicnt-#1%
+ \advance\@multispan\@ne
+ \leaders\hrule\@height#3\hfill
+ \cr
+ \noalign{\vskip-#3}}
+% \end{macrocode}
+% \end{macro}
+%
% \Finale
\endinput
diff --git a/Master/texmf-dist/source/latex/makecell/tablists.dtx b/Master/texmf-dist/source/latex/makecell/tablists.dtx
new file mode 100644
index 00000000000..0390c886b40
--- /dev/null
+++ b/Master/texmf-dist/source/latex/makecell/tablists.dtx
@@ -0,0 +1,793 @@
+% \iffalse
+%
+% tablists.dtx - tabulated list of short items.
+% (c) 2007 Olga Lapko (Lapko.O@g23.relcom.ru)
+%
+% This program is provided under the terms of the
+% LaTeX Project Public License distributed from CTAN
+% archives in directory macros/latex/base/lppl.txt.
+%
+% \fi
+%
+% \iffalse
+%<*driver>
+\ProvidesFile{tablists.dtx}
+%</driver>
+%<package>\NeedsTeXFormat{LaTeX2e}[1999/12/01]
+%<package>\ProvidesPackage{tablists}
+%<*package>
+ [2007/05/24 v0.0a (beta) Tabulated list of short items]
+%</package>
+%
+%<*batchfile>
+\begingroup
+
+\input docstrip.tex
+
+\keepsilent
+\askforoverwritefalse
+
+\generate{\file{tablists.sty}{\from{tablists.dtx}{package}}}
+
+\endgroup
+%</batchfile>
+%
+%<*driver>
+\documentclass{ltxdoc}
+\usepackage{paralist}
+\usepackage{makecell}
+\usepackage{tablists}
+\IfFileExists{hyperref.sty}{\usepackage{hyperref}}{}
+\EnableCrossrefs
+\CodelineIndex
+\RecordChanges
+\makeatletter
+\@beginparpenalty10000
+\widowpenalty10000
+\clubpenalty10000
+\makeatother
+\providecommand*{\file}[1]{\texttt{#1}}
+\providecommand*{\pkg}[1]{\textsf{#1}}
+\providecommand*{\cls}[1]{\textsf{#1}}
+\providecommand*{\env}[1]{\texttt{#1}}
+
+%\OnlyDescription
+\begin{document}
+ \DocInput{tablists.dtx}
+ \PrintChanges
+\end{document}
+%</driver>
+% \fi
+%
+% \CheckSum{447}
+%
+% \GetFileInfo{tablists.dtx}
+%
+% \DoNotIndex{\newcommand,\newenvironment}
+%
+%
+% \title{The \textsf{tablists} package\thanks{This
+% file has version number \fileversion,
+% last revised \filedate.}}
+% \author{%
+% Olga Lapko\\
+% {\tt Lapko.O@g23.relcom.ru} }
+% \date{\filedate}
+% \maketitle
+% \begin{abstract}
+% This package gives variant of environment for creating of list of short
+% items in the way of tabular alignment. That could be useful for list of
+% exercises in math educational literature. It allows to build one-level
+% and two-level tabulated lists.
+% \end{abstract}
+%
+% \tableofcontents
+%
+%\newpage
+% \section{Building Commands}
+%
+% \DescribeMacro{tabenum}
+% \DescribeMacro{\tabenumitem}
+% \DescribeMacro{\item}
+% The \env{tabenum} environment prints short items aligned in columns.
+%
+% Each item starts with |\tabenumitem| command; you may use the |\item|
+% macro instead of |\tabenumitem| in this environment.
+% First example of \env{tabenum} list---please note that you may set optional
+% argument in the same way as in modified environments from \pkg{enumerate}
+% or \pkg{paralist} packages:
+%\par\begin{small}%
+%\begin{verbatim}
+%\begin{tabenum}[\bfseries1)]%
+%\tabenumitem
+%$z=\displaystyle\frac xy$;
+%\tabenumitem
+%$2^x=9;$\cr
+%
+%\tabenumitem
+%$3^{2x+3}=16 $;
+%\tabenumitem
+%$z=2x^2+4y^2$;\par
+%\item
+%$u=\sqrt{x^2+y^2+z^2}$;
+%\item
+%$v=gt+\displaystyle\frac{g}{4}t$;\\[1ex]
+%\item
+%$u=2^{5x-3y+z}$;
+%\item
+%$w=(v+7)^2+(u-3)^2$;
+%
+%
+%\item
+%$5^x=\displaystyle\frac{4}{3} ;$
+%\item
+%$z=(x+1)^2+y^2$;\\*
+%\item
+%$2+5+8+ \ldots +(3n+2)=155$, $n\in \mathrm{N};$
+%\item
+%$t=5u^2+8v^2$;
+%\end{tabenum}
+%\end{verbatim}
+%\end{small}%
+% \begin{tabenum}[\bfseries1)]%
+% \tabenumitem
+% $z=\displaystyle\frac xy$;
+% \tabenumitem
+% $2^x=9;$\cr
+%
+% \tabenumitem
+% $3^{2x+3}=4 $;
+% \tabenumitem
+% $z=2x^2+4y^2$;\par
+% \item
+% $u=\sqrt{x^2+y^2+z^2}$;
+% \item
+% $v=gt+\displaystyle\frac{g}{4}t$;\\[1ex]
+% \item
+% $u=2^{5x-3y+z}$;
+% \item
+% $w=(v+7)^2+(u-3)^2$;
+%
+%
+% \item
+% $5^x=\displaystyle\frac{4}{3} ;$
+% \item
+% $z=(x+1)^2+y^2$;\\*
+% \item
+% $2+5+8+ \ldots +(3n+2)=155$, $n\in \mathrm{N};$
+% \item
+% $t=5u^2+8v^2$;
+% \end{tabenum}
+%
+% You may see that empty line (or |\par| command), |\\| command and |\cr|
+% do the same: start a new row. The |\\| macro works like in array environment
+% and allows optional argument with vertical correction.
+% (Also the |\\*| command suppresses breaking between pages, see next example.)
+%
+% Please note that two or more |\par|'s
+% |\cr|'s or |\\|'s (and also any combination of these three commands)
+% create additional empty lines.
+%
+%
+% \DescribeMacro{\notabenumitem}
+% \DescribeMacro{\noitem}
+% \DescribeMacro{\skipitem}
+% On the next step you can wish to do the list like before more compact. The
+% |\multicolumn| does not work here correctly\footnote{
+% Also the plain \TeX's commands like \cs{omit} and \cs{span}/\cs{multispan} commands,
+% I think, need too complex code.}. At first you may use plain \TeX's
+% command |\hidewidth| to hide width of widest column entry; then you may use
+% other variant of |\tabenumitem|(|\item|) command---|\notabenumitem|(|\noitem|)---%^^A
+% this command increases list entry, but does not create a new column;
+% third command |\skipitem| allows you to skip
+% one \env{tabenum} column\footnote{The \env{tabenum} column includes two columns:
+% it works like \texttt{rl} columns in \env{tabular} environment. Thus, \cs{skipitem}
+% equals to \texttt{\&\&} combination.}.
+% Next example show usage of these three commands:
+%\par\begin{small}%
+%\begin{verbatim}
+%\begin{tabenum}[\bfseries1)]%
+%\tabenumitem
+%$z=\displaystyle\frac xy$;
+%\notabenumitem
+%$2^x=9;$
+%\tabenumitem
+%$3^{2x+3}=4 $.
+%\tabenumitem
+%$z=2x^2+4y^2$;\nopagebreak
+%
+%\item
+%$u=\sqrt{x^2+y^2+z^2}$;
+%\item
+%$v=gt+\displaystyle\frac{g}{4}t$,
+%\item
+%$u=2^{5x-3y+z}$.\cr
+%\item
+%$w=(v+7)^2+(u-3)^2$;
+%\item
+%$5^x=\displaystyle\frac{4}{3} ;$
+%\item
+%$z=(x+1)^2+y^2$;\\*
+%\item
+%$2+5+8+ \ldots +(3n+2)=155$,
+% $n\in \mathrm{N};$\hidewidth\skipitem
+%\item
+%$t=5u^2+8v^2$;
+%\end{tabenum}
+%\end{verbatim}
+%\end{small}%
+% \begin{tabenum}[\bfseries1)]%
+% \tabenumitem
+% $z=\displaystyle\frac xy$;
+% \notabenumitem
+% $2^x=9;$
+% \tabenumitem
+% $3^{2x+3}=4 $.
+% \tabenumitem
+% $z=2x^2+4y^2$;\nopagebreak
+%
+% \item
+% $u=\sqrt{x^2+y^2+z^2}$;
+% \item
+% $v=gt+\displaystyle\frac{g}{4}t$,
+% \item
+% $u=2^{5x-3y+z}$.\cr
+% \item
+% $w=(v+7)^2+(u-3)^2$;
+% \item
+% $5^x=\displaystyle\frac{4}{3} ;$
+% \item
+% $z=(x+1)^2+y^2$;\\*
+% \item
+% $2+5+8+ \ldots +(3n+2)=155$, $n\in \mathrm{N};$\hidewidth\skipitem
+% \item
+% $t=5u^2+8v^2$;
+% \end{tabenum}
+%
+%
+% \subsection{Spacing}
+%
+% Vertical spaces around tabulated list are equal to the list ones |\topsep+\partopsep|.
+%
+% Space between rows depends on the |\jot| value, like in \pkg{amsmath} environments
+% like \env{align}, \pkg{gather} etc.
+%
+% \DescribeMacro{\tabenumsep}
+% The horizontal spacing between items of list. It defined like:
+% \begin{quote}
+% |\newcommand\tabenumsep{\hskip1em}|
+% \end{quote}
+% The |\labelsep| parameter is used after item number.
+%
+% \subsection{The \env{tabenum} environment inside a proper list}
+%
+% \DescribeMacro{\tabenumindent}
+% The |\tabenumindent| macro sets left margin of \env{tabenum}. That could be useful
+% inside, e.g., a proper list environments like \env{enumerate} or \env{itemise}.
+% It can be defined like horizontal space/skip or text.
+% For example:
+% \begin{quote}
+% |\renewcommand\tabenumindent{\hskip\parindent}|
+% \end{quote}
+% or
+% \begin{quote}
+% |\renewcommand\tabenumindent{Word }|
+% \end{quote}
+%
+% \DescribeMacro{\liststrut}
+% This command can be useful after alone list number (and not only with
+% \env{tabenum} environment). The command raises first line of next
+% text block at the baseline of previous. Without any option it puts negative
+% baselineskip. If there is a high element (any math sentence) in the first
+% line of next text, it must be written in option, the height of this argument used for
+% compensating skips argument without |$|'s.
+%
+% Here the combination of these two commands:
+%\par\begin{small}%
+%\begin{verbatim}
+%\begin{enumerate}[\bfseries1)]%
+%\item\renewcommand\tabenumindent{1)\hskip\labelsep}%
+% \liststrut[\displaystyle\frac xy]
+%\begin{tabenum}[a)]%
+%...
+%\end{verbatim}%
+%\end{small}%
+% \begin{enumerate}[\bfseries1)]%
+% \item\renewcommand\tabenumindent{1)\hskip\labelsep}%
+% \liststrut[\displaystyle\frac /y]
+% \begin{tabenum}[a)]%
+% \tabenumitem
+% {$z=\displaystyle\frac xy$};
+% \notabenumitem
+% {$2^x=9;$}
+% \tabenumitem
+% {$3^{2x+3}=4 $}.
+% \tabenumitem
+% {$z=2x^2+4y^2$};\nopagebreak
+%
+% \item
+% $u=\sqrt{x^2+y^2+z^2}$;
+% \item
+% $v=gt+\displaystyle\frac{g}{4}t$,
+% \item
+% $u=2^{5x-3y+z}$.\\
+% \item
+% $w=(v+7)^2+(u-3)^2$;
+% \item
+% $5^x=\displaystyle\frac{4}{3} ;$
+% \item
+% $z=(x+1)^2+y^2$;\cr
+% \item
+% $2+5+8+ \ldots +(3n+2)=155$, $n\in \mathrm{N};$\hidewidth\skipitem
+% \item
+% $t=5u^2+8v^2$;
+% \end{tabenum}
+% \end{enumerate}%
+%
+% \subsection{The \env{subtabenum} environment: second level, variant I}
+%
+% \DescribeMacro{subtabenum}
+% The second level of equations/exersizes list \env{subtabenum} based on \env{tabular}
+% environment.
+%
+%\begin{small}%
+%\begin{verbatim}
+%\begin{tabenum}[\bfseries 1)]%
+%\item
+%\begin{subtabenum}[a)]%
+%\tabenumitem
+%$z=\displaystyle\frac xy$;
+%\notabenumitem
+%$2^x=9;$
+%\tabenumitem
+%$3^{2x+3}=4 $.
+%\tabenumitem
+%$z=2x^2+4y^2$;
+%\end{subtabenum}
+%
+%\item
+%\begin{subtabenum}[a)]%
+%\item
+%$u=\sqrt{x^2+y^2+z^2}$;
+%\item
+%$v=gt+\displaystyle\frac{g}{4}t$,
+%\item
+%$u=2^{5x-3y+z}$.\\
+%\item
+%$w=(v+7)^2+(u-3)^2$;
+%\item
+%$5^x=\displaystyle\frac{4}{3} ;$
+%\item
+%$z=(x+1)^2+y^2$;\\
+%\item
+%$2+5+8+ \ldots +(3n+2)=155$, $n\in \mathrm{N};$\hidewidth\strut\skipitem
+%\item
+%$t=5u^2+8v^2$;
+%\end{subtabenum}
+%\end{tabenum}
+%\end{verbatim}%
+%\end{small}%
+% \begin{tabenum}[\bfseries 1)]%
+% \tabenumitem
+% \begin{subtabenum}[a)]%
+% \tabenumitem
+% $z=\displaystyle\frac xy$;
+% \notabenumitem
+% $2^x=9;$
+% \tabenumitem
+% $3^{2x+3}=4 $.
+% \tabenumitem
+% $z=2x^2+4y^2$;
+% \end{subtabenum}
+%
+% \tabenumitem
+% \begin{subtabenum}[a)]
+% \item
+% $u=\sqrt{x^2+y^2+z^2}$;
+% \item
+% $v=gt+\displaystyle\frac{g}{4}t$,
+% \item
+% $u=2^{5x-3y+z}$.\\
+% \item
+% $w=(v+7)^2+(u-3)^2$;
+% \item
+% $5^x=\displaystyle\frac{4}{3} ;$
+% \item
+% $z=(x+1)^2+y^2$;\\
+% \item
+% $2+5+8+ \ldots +(3n+2)=155$, $n\in \mathrm{N};$\hidewidth\strut\skipitem
+% \item
+% $t=5u^2+8v^2$;
+% \end{subtabenum}
+% \end{tabenum}
+% Please note that |\hidewidth| skip is followed by the |\strut| command inside
+% \env{subtabenum} environment:
+% the skips at the ``edges'' of \env{tabular} columns doesn't work.
+%
+% \subsection{The \cs{subtabenumitem}/\cs{subitem} macros: second level, variant II}
+%
+% The previous example shows that columns were destroyed from one
+% \env{subtabenum} environment to another.
+%
+% There is another variant for two-level tabulated list. If you use second option
+% in \env{tabenum} environment, you may use |\subtabenumitem|/|\subitem| commands
+% for the second level.
+%
+% \DescribeMacro{\subtabenumitem}
+% \DescribeMacro{\subitem}
+% If you put |\subitem| after |\item|, you get extra space between
+% two numbers, created by |\tabenumsep| skip. The |\negtabenumsep| command
+% cancels this skip.
+%\par\begin{small}\openup-.75pt
+%\begin{verbatim}
+%\def\tabenumsep{\qquad}
+%\begin{tabenum}[\bfseries 1)][a)]%
+%\tabenumitem\negtabenumsep
+%\subtabenumitem
+%$z=\displaystyle\frac xy$;
+%\nosubtabenumitem
+%$2^x=9;$
+%\subtabenumitem
+%$3^{2x+3}=4 $.
+%\subtabenumitem
+%$z=2x^2+4y^2$;\\
+%\startnumber{4}\startsubnumber{1}
+%\item\negtabenumsep
+%\subitem
+%$u=\sqrt{x^2+y^2+z^2}$;
+%\subitem
+%$v=gt+\displaystyle\frac{g}{4}t$,
+%\subitem
+%$u=2^{5x-3y+z}$.\\\skipitem\negtabenumsep
+%\subitem
+%$w=(v+7)^2+(u-3)^2$;
+%\subitem
+%$5^x=\displaystyle\frac{4}{3} ;$
+%\subitem
+%$z=(x+1)^2+y^2$;\\\skipitem\negtabenumsep
+%\subitem
+%$2+5+8+ \ldots +(3n+2)=155$, $n\in \mathrm{N};$\hidewidth\skipitem
+%\subitem
+%$t=5u^2+8v^2$;
+%\end{tabenum}
+%\end{verbatim}%
+%\end{small}%
+% \begin{tabenum}[\bfseries 1)][a)]%
+% \tabenumitem\negtabenumsep
+% \subtabenumitem
+% $z=\displaystyle\frac xy$;
+% \nosubtabenumitem
+% $2^x=9;$
+% \subtabenumitem
+% $3^{2x+3}=4 $.
+% \subtabenumitem
+% $z=2x^2+4y^2$;\\
+%\startnumber{4}\startsubnumber{1}
+% \item\negtabenumsep
+% \subitem
+% $u=\sqrt{x^2+y^2+z^2}$;
+% \subitem
+% $v=gt+\displaystyle\frac{g}{4}t$,
+% \subitem
+% $u=2^{5x-3y+z}$.\\\skipitem\negtabenumsep
+% \subitem
+% $w=(v+7)^2+(u-3)^2$;
+% \subitem
+% $5^x=\displaystyle\frac{4}{3} ;$
+% \subitem
+% $z=(x+1)^2+y^2$;\\\skipitem\negtabenumsep
+% \subitem
+% $2+5+8+ \ldots +(3n+2)=155$, $n\in \mathrm{N};$\hidewidth\skipitem
+% \subitem
+% $t=5u^2+8v^2$;
+% \end{tabenum}
+% There were used two commands |\startnumber| and |\startsubnumber| which set
+% next start numbers for items of each of two levels. There is not restarting commands
+% for numeration of second level inside environment,
+% so, in this case, we need set new start of sublevel by hand. The
+% |\startnumber|\footnote{The \cs{startnumber} command can be used inside any list
+% environment.}
+% allows you to divide \env{tabenum} environment and restart with necessary counter.
+% You may still use the traditional |\setcounter{enum..}{..}| combination,
+% if you know the level of your list and \env{tabenum}/\allowbreak\env{subtabenum} % environments.
+%
+% \subsection{Restoring of \cs{item} as command from list environments}
+%
+% \DescribeMacro{\restorelistitem}
+% For the cases when standard lists appear inside \env{tablist}, you may
+% restore original |\item| meaning.
+%
+% \StopEventually{}\clearpage
+%
+% \section{Code of package}
+%
+% First goes request of \pkg{makecell} package.
+% \begin{macrocode}
+\RequirePackage{makecell}
+% \end{macrocode}
+%
+% The horizontal separation space between items/columns.
+% \begin{macrocode}
+\newcommand\tabenumsep{\hskip1em}
+\newcommand\negtabenumsep{\settowidth\@tempdima{\tabenumsep}\hspace*{-\@tempdima}}
+% \end{macrocode}
+%
+% \begin{macro}{\tabenumitem}
+% \begin{macro}{\subtabenumitem}
+% Definition of aligned items of `tabular'ed list
+% \begin{macrocode}
+\newcommand\tabenumitem{&\@ifnextchar[%]
+ {\TeXr@@tabenumitem{&}}%
+ {\TeXr@tabenumitem{&}{\@enumctr}}}
+% \end{macrocode}
+% The macro for second level of tabulated items.
+% \begin{macrocode}
+\newcommand\subtabenumitem{&\@ifnextchar[%]
+ {\TeXr@@tabenumitem{&}}%
+ {\TeXr@tabenumitem{&}{\@subenumctr}}}
+% \end{macrocode}
+% The macros for list and optional numeration.
+% \begin{macrocode}
+\newcommand\TeXr@tabenumitem[2]{%
+ \refstepcounter{#2}\@nameuse{label#2}#1}
+\@ifdefinable\TeXr@@tabenumitem{}
+\def\TeXr@@tabenumitem#1[#2]{{#2}#1}
+% \end{macrocode}
+% \end{macro}%
+% \end{macro}%
+%
+% \begin{macro}{\notabenumitem}
+% \begin{macro}{\nosubtabenumitem}
+% Definition of not aligned items with emulation of spaces around.
+% The starred form of |\notabenumitem| skips space before number.
+% \begin{macrocode}
+\newcommand\notabenumitem{\@ifstar
+ {\TeXr@notabenumitem{\@enumctr}}%
+ {\tabenumsep\TeXr@notabenumitem{\@enumctr}}}
+% \end{macrocode}
+% The macro for second level of tabulated items.
+% \begin{macrocode}
+\newcommand\nosubtabenumitem{\@ifstar
+ {\TeXr@notabenumitem{\@subenumctr}}%
+ {\tabenumsep\TeXr@notabenumitem{\@subenumctr}}}
+\newcommand\TeXr@notabenumitem[1]{\@ifnextchar[%]
+ {\TeXr@@tabenumitem{\hskip\labelsep}}%
+ {\TeXr@tabenumitem{\hskip\labelsep}{#1}}}
+% \end{macrocode}
+% \end{macro}%
+% \end{macro}%
+%
+% \begin{macro}{\skipitem}
+% Command allows to skip column of items in tabulated list.
+% One item column occupies two tabular ones and needs |&&| for skipping
+% \begin{macrocode}
+\newcommand\skipitem[1][1]{\count@=#1\multiply\count@2\advance\count@\@ne
+ \eline{\count@}}
+% \end{macrocode}
+% \end{macro}%
+%
+% \begin{macro}{\tabenumindent}
+% If this command empty there is no any indentation. To set necessary indentation
+% you may define this command as any text or horizontal skip.
+% \begin{macrocode}
+\newcommand\tabenumindent{}
+% \end{macrocode}
+% \end{macro}%
+%
+% \begin{environment}{tabenum}
+% \begin{environment}{rtabenum}
+% Start of definition of tabulated lists themselves---\env{tabenum}
+% and \env{rtabenum}.
+% They allow usage of optional argument in the same way as in
+% \env{enumerate} environment from \pkg{paralist} package.
+% The second definition, \env{rtabenum}, replaces |\Alph|/|\alph|
+% numeration for \texttt{A}/texttt{a} entries by Russian
+% |\Asbuk|/|\asbuk| numeration.
+% \begin{macrocode}
+\newenvironment{rtabenum}{\let\Alph\Asbuk\let\alph\asbuk
+ \begin{tabenum}}{\end{tabenum}}
+% \end{macrocode}
+%
+% These environments use mechanism of optional argument from |\@enumlabel@|
+% command.
+% \begin{macrocode}
+\newcommand\tabenum{\@ifnextchar[{\TeXr@tabenum@}{\TeXr@tabenum@[]}}
+\@ifdefinable\TeXr@tabenum@{}
+\def\TeXr@tabenum@[#1]{\@ifnextchar[{\TeXr@tabenum@@[#1]}{\TeXr@tabenum@@[#1][]}}
+% \end{macrocode}
+%
+% These environments allow two options for item numeration and subitem numeration.
+% \begin{macrocode}
+\@ifdefinable\TeXr@tabenum@@{}
+\long\def\TeXr@tabenum@@[#1][#2]{\par
+ \addpenalty\@beginparpenalty
+% \end{macrocode}
+% Vertical spaces around \env{tabenum} similar to spaces in list environments.
+% The space above reduced by |\jot| to make it equal to the space below.
+% \begin{macrocode}
+ \@topsepadd\topsep\advance\@topsepadd\partopsep
+ \advance\@topsepadd-\jot
+ \ifdim\@topsepadd<\z@\@topsepadd=\z@\fi
+ \if@nobreak\else\addvspace\@topsepadd\fi
+% \end{macrocode}
+% Interline spacing enlarged by |\jot| as in \pkg{amsmath}'s environments like
+% \env{align} etc.
+% \begin{macrocode}
+ \openup\jot
+% \end{macrocode}
+% Check for list depth and settings for first level.
+% If it exceeded, the error message pops out.
+% \begin{macrocode}
+ \ifnum\@enumdepth>\thr@@
+ \@toodeep
+ \else
+ \advance\@enumdepth\@ne
+ \edef\@enumctr{enum\romannumeral\the\@enumdepth}%
+ \setcounter{\@enumctr}\z@
+ \let\item\tabenumitem\let\noitem\notabenumitem
+% \end{macrocode}
+% Check for list depth and settings for second level.
+% If it exceeded, one level used.
+% \begin{macrocode}
+ \ifnum\@enumdepth>\thr@@
+ \PackageWarning{tablists}{tablist has one level}{}%
+ \let\subitem\tabenumitem\let\nosubitem\notabenumitem%
+ \else
+ \let\subitem\subtabenumitem\let\nosubitem\nosubtabenumitem
+ \advance\@enumdepth\@ne
+ \edef\@subenumctr{enum\romannumeral\the\@enumdepth}%
+ \setcounter{\@subenumctr}\z@
+ \fi
+ \fi
+% \end{macrocode}
+% Checks for first option. If option is absent used default enumerating.
+% \begin{macrocode}
+ \def\tempa{#1}\ifx\tempa\empty\else
+ \TeXr@enumlabel@{#1}{\@enumctr}\fi
+% \end{macrocode}
+% Checks for second option. If option is absent used default enumerating.
+% \begin{macrocode}
+ \def\tempa{#2}\ifx\tempa\empty\else
+ \TeXr@enumlabel@{#2}{\@subenumctr}\fi
+ \@TeXr@tabenum
+ }
+% \end{macrocode}
+% There building macro for item/subitem labels.
+% \begin{macrocode}
+\newcommand\TeXr@enumlabel@[2]{%
+ \@tempcnta0
+ \TeXr@lab{}\def\TeXr@label{\TeXr@label@{#2}}%
+ \expandafter\TeXr@loop\@gobble{}#1\@@@
+ \ifnum\@tempcnta=1\else
+ \PackageWarning{tablists}{Incorrect label; no or multiple
+ counters.\MessageBreak The label is: \@gobble#1}%
+ \fi
+ \expandafter\edef\csname label#2\endcsname{\the\TeXr@lab}%
+ \expandafter\let\csname the#2\endcsname\TeXr@the%
+}
+% \end{macrocode}
+%
+% For column alignment is used |\halign| command of plain \TeX.
+% In this case \env{tabenum}/\env{rtabenum} environments can run through a few pages.
+% \begin{macrocode}
+\newcommand{\@TeXr@tabenum}{\begingroup
+ \let\\\TeXr@arraycr\TeXr@tlist@arrayjot\let\par=\cr
+ \settowidth\@tempdima{\tabenumindent}%
+ \settowidth\@tempdimb{\tabenumsep}%
+ \halign\bgroup
+ \strut##\hskip\@tempdima
+ \hskip-\@tempdimb&&\tabenumsep\hfil##\hskip\labelsep&##\hfil\cr}
+% \end{macrocode}
+%
+% Finish of \env{tabenum} environment.
+% \begin{macrocode}
+\def\endtabenum{\crcr\egroup\endgroup\gdef\tabenumindent{}\par
+ \addpenalty\@endparpenalty
+ \advance\@topsepadd\jot
+ \addvspace\@topsepadd}
+% \end{macrocode}
+% \end{environment}%
+% \end{environment}%
+%
+% \begin{environment}{subtabenum}
+% \begin{environment}{rsubtabenum}
+% The tabulated list of second level. This list uses a real \env{tabular}
+% environment. In this case it is placed in one page. This list as its
+% parent environment use optional argument in the way of \pkg{paralist}'s
+% \env{enumerate}.
+% \begin{macrocode}
+\newcommand\subtabenum[1][]{\TeXr@tlist@arrayjot
+ \setcounter{\@subenumctr}\z@
+ \def\tempa{#1}\ifx\tempa\empty\else
+ \TeXr@enumlabel@{#1}{\@subenumctr}\fi
+ \let\item\subtabenumitem\let\noitem\nosubtabenumitem
+ \let\tabenumitem\subtabenumitem\let\notabenumitem\nosubtabenumitem
+ \let\subitem\subtabenumitem\let\nosubitem\nosubtabenumitem
+ \@TeXr@subtabenum
+ }
+\newcommand{\@TeXr@subtabenum}{%
+ \hbox{\ifnum0=`}\fi
+ \begin{tabular}[t]{@{\tabenumindent}l@{}*{12}{r@{\hskip\labelsep}l@{\tabenumsep}}@{}}%
+ }
+\def\endsubtabenum{\end{tabular}%
+ \ifnum0=`{\fi}\gdef\tabenumindent{}}
+% \end{macrocode}
+%
+% Russified environment with |\Asbuk|/|\asbuk| counters instead of
+% |\Alph|/|\alph|.
+% \begin{macrocode}
+\newenvironment{rsubtabenum}{\let\Alph\Asbuk\let\alph\asbuk
+ \begin{subtabenum}}{\end{subtabenum}}
+% \end{macrocode}
+% \end{environment}%
+% \end{environment}%
+%
+% \begin{macro}{\arrayjot}
+% The redefinition of |\\| command inside tabular to enlarge interline spacing
+% by |\jot| value---to create analogous spacing to parent, \env{tabenum}, environment.
+% \begin{macrocode}
+\@ifdefinable\TeXr@rixarraycr{}
+\let\TeXr@rixarraycr\TeXr@xarraycr
+\newcommand\TeXr@Xarraycr{\@ifnextchar [ \TeXr@Xargarraycr {\@argarraycr[\jot]}}
+\@ifdefinable\TeXr@Xargarraycr{}
+\def\TeXr@Xargarraycr[#1]{\@tempdima\jot\advance\@tempdima#1%
+ \@argarraycr[\@tempdima]}
+\@ifdefinable\TeXr@arrayjot{}
+\def\TeXr@arrayjot [#1]{\let\@xarraycr\TeXr@Xarraycr\jot#1}
+\def\noarrayjot{\let\@xarraycr\TeXr@rixarraycr}
+\newcommand\TeXr@tlist@arrayjot {\@ifnextchar[\TeXr@arrayjot{\TeXr@arrayjot[\jot]}}
+\AtBeginDocument{\let\arrayjot\TeXr@tlist@arrayjot}
+\def\TeXr@arraycr{%
+ \relax\iffalse{\fi\ifnum 0=`}\fi\@ifstar{\vadjust{\penalty\@M}\@xarraycr}\@xarraycr}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\startnumber}
+% The variant of |\setcounter{enum..}{..}| sentence.
+% This command sets start number of current list (you must put this command
+% inside of list or \env{tabenum} environment).
+% The |\setcounter{enum..}{..}| sentence needs previous number,
+% but |\startnumber| needs a real start number of a list.
+% \begin{macrocode}
+\newcommand\startnumber[1]{\count@#1\advance\count@-1%
+ \global\expandafter\csname c@\@enumctr\endcsname\count@}
+\newcommand\startsubnumber[1]{\count@#1\advance\count@-1%
+ \global\expandafter\csname c@\@subenumctr\endcsname\count@}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\liststrut}
+% For the cases of \env{tablist} appears just after empty
+% \env{enumerate} (or analogous) list entry.
+% This command inserts negative |\baselineskip| and put start of
+% `tabular'ed list on the baseline of list number.
+%
+% Optional argument allows to align baselines in the case of height
+% elements in first line of \env{tablist}
+% \begin{macrocode}
+\newcommand\liststrut[1][]{\def\tempa{#1}\ifx\tempa\empty
+ \strut
+ \@tempdima-1.3\baselineskip
+ \vspace*{\@tempdima}\par%
+ \else\settoheight\@tempdima{{$#1$}}\strut
+ \advance\@tempdima\lineskip
+ \noindent\vrule\@height\@tempdima\@width\z@\@depth\z@
+ \strut\advance\@tempdima.3\baselineskip
+ \vspace*{-\@tempdima}\par%
+ \fi
+ \@nobreaktrue}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\restorelistitem}
+% For the cases when standard lists appear inside \env{tablist}.
+% \begin{macrocode}
+\let\TeXr@orilistitem\item
+\newcommand\restorelistitem{\let\item\TeXr@orilistitem}
+% \end{macrocode}
+% \end{macro}
+%
+% \Finale
+\endinput
+%%
+%% End of file tablists.dtx \ No newline at end of file
diff --git a/Master/texmf-dist/tex/latex/makecell/makecell.sty b/Master/texmf-dist/tex/latex/makecell/makecell.sty
index eef95d7b4e6..cf7b88295d0 100644
--- a/Master/texmf-dist/tex/latex/makecell/makecell.sty
+++ b/Master/texmf-dist/tex/latex/makecell/makecell.sty
@@ -22,7 +22,7 @@
%% in the same archive or directory.)
\NeedsTeXFormat{LaTeX2e}[1999/12/01]
\ProvidesPackage{makecell}
- [2006/06/28 v0.1c Multilined Cells and Tabular Heads]
+ [2007/05/24 V0.1d Managing of Tab Column Heads and Cells]
\RequirePackage{array}
\newcommand\makecell{\@ifstar{\let\tabg@pe\gape\makecell@}%
{\let\tabg@pe\cellgape\makecell@}}
@@ -86,9 +86,9 @@
\@ifdefinable\mcell@multirow{}
\def\mcell@multirow#1#2[#3]{}%
\newcommand\mcell@l{\def\mcell@ii{l}\let\mcell@c\mcell@ic
- \global\let\mcell@left\empty}
+ \global\let\mcell@left\relax}
\newcommand\mcell@r{\def\mcell@ii{r}\let\mcell@c\mcell@ic
- \global\let\mcell@right\empty}
+ \global\let\mcell@right\relax}
\newcommand\mcell@t{\def\mcell@i{t}\let\mcell@c\mcell@iic}
\newcommand\mcell@b{\def\mcell@i{b}\let\mcell@c\mcell@iic}
\newcommand\mcell@{}
@@ -119,10 +119,10 @@
\def\mcell@c{\def\mcell@ii{c}}%
\mcell@ifinlist{#1}{l,r,t,b,c,}{\@nameuse{mcell@#1}}%
{\def\mcell@ii{#1}\let\mcell@c\mcell@ic
- \let\mcell@left\empty\let\mcell@right\empty}%
+ \let\mcell@left\relax\let\mcell@right\relax}%
\mcell@ifinlist{#2}{l,r,t,b,c,}{\@nameuse{mcell@#2}}%
{\def\mcell@ii{#2}\let\mcell@c\mcell@ic
- \let\mcell@left\empty\let\mcell@right\empty}%
+ \let\mcell@left\relax\let\mcell@right\relax}%
\ifx\@tempa\@tempc\mcell@c\fi
}
\def\mcell@@@tabular#1#2\@nil#3{%\mcell@mstyle
@@ -151,11 +151,13 @@
\@ifdefinable\@setcellgapes{}
\def\mcell@setgapes#1[#2]#3{\expandafter\let\csname
mcell@#1@\expandafter\endcsname\csname mcell@mb@#2\endcsname
- \@namedef{mcell@#1jot}{#3}}
-\newcommand\mcell@mb@t[2]{\@tempdima\ht#1\advance\@tempdima#2%
- \ht#1\@tempdima}
-\newcommand\mcell@mb@b[2]{\@tempdimb\dp#1\advance\@tempdimb#2%
- \dp#1\@tempdimb}
+ \@namedef{mcell@#1jot}{#3}%
+ \@namedef{mcell@#1negjot}{-#3}\@namedef{mcell@#1negtb}{#2}}
+\newcommand\negjot[1]{{\jot\mcell@MBnegjot\gape[mcell@MBnegtb]{#1}}}
+\newcommand\mcell@mb@t[2]{%
+ \@tempdima\ht#1\advance\@tempdima#2\ht#1\@tempdima}
+\newcommand\mcell@mb@b[2]{%
+ \@tempdimb\dp#1\advance\@tempdimb#2\dp#1\@tempdimb}
\newcommand\mcell@mb@tb[2]{\mcell@mb@t{#1}{#2}\mcell@mb@b{#1}{#2}}
\@ifdefinable\@gape{}\@ifdefinable\@@gape{}
\def\@gape[#1]{\mcell@setgapes{mb}[#1]{\jot}\@@gape}
@@ -208,6 +210,7 @@
\loop \@temptokena\expandafter{\the\@temptokena&}%
\advance\count@\m@ne \ifnum\count@>\z@\repeat
\the\@temptokena\ignorespaces}
+\newcounter{nlinenum}
\newcommand\rnline{\gdef
\TeXr@rus{\let\@Alph\@Asbuk\let\@alph\@asbuk}\@nline}
\newcommand\nline{\gdef\TeXr@rus{}\@nline}
@@ -217,22 +220,24 @@
\def\@@nline[#1]{\@ifnextchar[%]
{\@@@nline[#1]}{\@@@nline[#1][1]}}
\@ifdefinable\@@@nline{}
-\def\@@@nline[#1][#2]#3{\count@ #3%
+\def\@@@nline[#1][#2]#3{\count@ #3
+ \def\TeXr@label{\TeXr@label@{nlinenum}}%
\expandafter\TeXr@loop\@gobble{}#1\@@@
\xdef\Num{\the\TeXr@lab}%
- \@tempcnta#2\relax%
+ \c@nlinenum#2\relax%
\expandafter\@temptokena\expandafter{\Num
- \global\advance\@tempcnta\@ne}%
+ \global\advance\c@nlinenum\@ne}%
\advance\count@\m@ne
\loop\@temptokena\expandafter{\the\@temptokena&
- \Num \global\advance\@tempcnta\@ne}%
+ \Num \global\advance\c@nlinenum\@ne}%
\advance\count@\m@ne \ifnum\count@>\z@ \repeat
\the\@temptokena\ignorespaces}
\newtoks\TeXr@lab
\def\TeXr@qmark{?}
-\def\TeXr@label#1#2{%
- \xdef\TeXr@the{\noexpand#1\@tempcnta}%
- \TeXr@lab\expandafter{\the\TeXr@lab\TeXr@rus\TeXr@the}%
+\def\TeXr@label@#1#2#3{%
+ \edef\TeXr@the{\noexpand#2{#1}}%
+ \TeXr@lab\expandafter
+ {\the\TeXr@lab\TeXr@rus\csname the#1\endcsname}%
\advance\@tempcnta1
\TeXr@loop}
\def\TeXr@rus{}
@@ -242,11 +247,11 @@
\def\TeXr@other#1{\TeXr@lab\expandafter{\the\TeXr@lab#1}\TeXr@loop}
\def\TeXr@loop{\futurelet\TeXr@temp\TeXr@loop@}
\def\TeXr@loop@{%
- \ifx A\TeXr@temp \def\@tempa{\TeXr@label\@Alph }\else
- \ifx a\TeXr@temp \def\@tempa{\TeXr@label\@alph }\else
- \ifx i\TeXr@temp \def\@tempa{\TeXr@label\@roman }\else
- \ifx I\TeXr@temp \def\@tempa{\TeXr@label\@Roman }\else
- \ifx 1\TeXr@temp \def\@tempa{\TeXr@label\@arabic}\else
+ \ifx A\TeXr@temp \def\@tempa{\TeXr@label\Alph }\else
+ \ifx a\TeXr@temp \def\@tempa{\TeXr@label\alph }\else
+ \ifx i\TeXr@temp \def\@tempa{\TeXr@label\roman }\else
+ \ifx I\TeXr@temp \def\@tempa{\TeXr@label\Roman }\else
+ \ifx 1\TeXr@temp \def\@tempa{\TeXr@label\arabic}\else
\ifx \@sptoken\TeXr@temp \let\@tempa\TeXr@space \else
\ifx \bgroup\TeXr@temp \let\@tempa\TeXr@group \else
\ifx \@@@\TeXr@temp \let\@tempa\@gobble \else
@@ -255,6 +260,96 @@
\fi\fi\fi\fi\fi\fi\fi\fi
\@tempa}
\providecommand\TeXr@hook{}
+\newcommand\diaghead{\@ifnextchar({\mcell@diaghead}{\mcell@diagheads}}
+\@ifdefinable\mcell@diaghead{}
+\def\mcell@diaghead(#1){\def\celldiagratio{(#1)}\mcell@diagheads}
+\newcommand\celldiagratio{(5,-2)}
+\newcommand\mcell@diagheads[3]{\hbox\bgroup\expandafter
+ \mcell@getcelldiagratios\celldiagratio\relax
+ \@tempswafalse
+ \ifnum\mcell@Hratio<\z@\count@-\mcell@Hratio\relax
+ \edef\mcell@Hratio{\the\count@}\relax
+ \ifnum\mcell@Vratio<\z@\count@-\mcell@Vratio\relax
+ \edef\mcell@Vratio{\the\count@}\else\@tempswatrue
+ \fi
+ \else
+ \ifnum\mcell@Vratio<\z@\count@-\mcell@Vratio\relax
+ \edef\mcell@Vratio{\the\count@}\@tempswatrue\else
+ \fi
+ \fi
+ \settowidth\@tempdima{#1}\advance\@tempdima2\tabcolsep
+ \edef\mcell@diagH{\the\@tempdima}\divide\@tempdima\mcell@Hratio
+ \@tempdima\mcell@Vratio\@tempdima\edef\mcell@diagV{\the\@tempdima}%
+ \let\mcell@oriunitlength\unitlength\let\unitlength\relax
+ \kern-\tabcolsep\kern-\@wholewidth
+ \setbox\z@\hbox{\theadfont{\strut}}\@tempdima\dp\z@
+ \advance\@tempdima.8\p@%2\@wholewidth
+ {\ifx\@classz\mcell@classz
+ \setbox\z@\hbox{#1}\ht\z@\z@\dp\z@\z@
+ \mcell@MB@\z@\mcell@MBjot
+ \global\dimen@\@tempdima\global\@tempdimb\@tempdimb
+ \else\global\dimen@\z@\global\@tempdimb\z@\fi
+ }%
+ \advance\@tempdima\dimen@
+ \edef\mcell@diagVoffset{\the\@tempdima}%
+ \@tempdima\mcell@diagV\advance\@tempdima-\mcell@diagVoffset
+ \advance\@tempdima-\@tempdimb
+ \edef\mcell@diagVcorr{\the\@tempdima}%
+ \noindent\nomakegapedcells\hbox{\begin{tabular}{@{}c@{}}%
+ \ifdim\jot<2\p@\jot2\p@\fi
+ \if@tempswa
+ \begin{picture}(\mcell@diagH,\mcell@diagVcorr)(\z@,\mcell@diagVoffset)%
+ \put(\z@,\mcell@diagV){\makebox(\z@,\z@)[tl]%
+ {\edef\tempa{(\mcell@Hratio,-\mcell@Vratio)}\expandafter
+ \line\tempa{\mcell@diagH}}}
+ \put(\tabcolsep,\jot)%
+ {\makebox(\z@,\z@)[bl]{\theadfont
+ \let\cellset\theadset\makecell[bl]{\strut#2}}}
+ \@tempdima\mcell@diagH\advance\@tempdima-\tabcolsep
+ \@tempdimb\mcell@diagV\advance\@tempdimb-\jot
+ \put(\@tempdima,\@tempdimb)%
+ {\makebox(\z@,\z@)[tr]{\theadfont
+ \let\cellset\theadset\makecell[tr]{#3\strut}}}
+ \end{picture}%
+ \else
+ \begin{picture}(\mcell@diagH,\mcell@diagVcorr)(\z@,\mcell@diagVoffset)%
+ \put(\z@,\mcell@diagV){\makebox(\z@,\z@)[tl]%
+ {\edef\tempa{(\mcell@Hratio,\mcell@Vratio)}\expandafter
+ \line\tempa{\mcell@diagH}}}
+ \@tempdima\mcell@diagV\advance\@tempdima-\jot
+ \put(\tabcolsep,\@tempdima)%
+ {\makebox(\z@,\z@)[tl]{\theadfont
+ \let\cellset\theadset\makecell[tl]{\strut#3}}}
+ \@tempdima\mcell@diagH\advance\@tempdima-\tabcolsep
+ \put(\@tempdima,\jot)%
+ {\makebox(\z@,\z@)[br]%
+ {\theadfont
+ \let\cellset\theadset{\makecell[br]{#2\strut}}}}
+ \end{picture}%
+ \fi
+ \end{tabular}%
+ \kern-\tabcolsep\kern-\@wholewidth
+ }\let\unitlength\mcell@oriunitlength\egroup\par
+ \ifvmode\strut
+ \vspace*{-\normalbaselineskip}\vspace*{-\normallineskip}
+ \fi
+}
+\@ifdefinable\mcell@getcelldiagratios{}
+\def\mcell@getcelldiagratios(#1,#2){\def\mcell@Hratio{#1}\def\mcell@Vratio{#2}}
+\newcommand\Xhline[1]{\noalign{\ifnum0=`}\fi\arrayrulewidth#1%
+ \hrule\@height\arrayrulewidth\futurelet\reserved@a\@xhline}
+\def\Xcline#1#2{\@Xcline#1;#2\@nil}
+\def\@Xcline#1-#2;#3\@nil{%
+ \omit
+ \@multicnt#1%
+ \advance\@multispan\m@ne
+ \ifnum\@multicnt=\@ne\@firstofone{&\omit}\fi
+ \@multicnt#2%
+ \advance\@multicnt-#1%
+ \advance\@multispan\@ne
+ \leaders\hrule\@height#3\hfill
+ \cr
+ \noalign{\vskip-#3}}
\endinput
%%
%% End of file `makecell.sty'.
diff --git a/Master/texmf-dist/tpm/makecell.tpm b/Master/texmf-dist/tpm/makecell.tpm
index aa03b7438e0..5a52613bfd2 100644
--- a/Master/texmf-dist/tpm/makecell.tpm
+++ b/Master/texmf-dist/tpm/makecell.tpm
@@ -3,7 +3,7 @@
<rdf:Description about="http://texlive.dante.de/texlive/Package/makecell.zip">
<TPM:Name>makecell</TPM:Name>
<TPM:Type>Package</TPM:Type>
- <TPM:Date>2006/06/30 13:14:33</TPM:Date>
+ <TPM:Date>2007/05/23 18:28:00</TPM:Date>
<TPM:Version></TPM:Version>
<TPM:Creator>karl</TPM:Creator>
<TPM:Title>Tabular column heads and multilined cells</TPM:Title>
@@ -22,18 +22,22 @@ The Package offers also:
<TPM:Size>270854</TPM:Size>
<TPM:License></TPM:License>
<TPM:Build/>
- <TPM:RunFiles size="12199">
+ <TPM:RunFiles size="16186">
texmf-dist/tex/latex/makecell/makecell.sty
texmf-dist/tpm/makecell.tpm
</TPM:RunFiles>
- <TPM:DocFiles size="212901">
+ <TPM:DocFiles size="449176">
texmf-dist/doc/latex/makecell/README
texmf-dist/doc/latex/makecell/makecell-rus.tex
texmf-dist/doc/latex/makecell/makecell.pdf
texmf-dist/doc/latex/makecell/makecell.xml
+texmf-dist/doc/latex/makecell/tablists-rus.tex
+texmf-dist/doc/latex/makecell/tablists.pdf
+texmf-dist/doc/latex/makecell/tablists.xml
</TPM:DocFiles>
- <TPM:SourceFiles size="45754">
+ <TPM:SourceFiles size="81591">
texmf-dist/source/latex/makecell/makecell.dtx
+texmf-dist/source/latex/makecell/tablists.dtx
</TPM:SourceFiles>
<TPM:Provides>Package/makecell</TPM:Provides>
</rdf:Description>
diff --git a/Master/texmf/lists/makecell b/Master/texmf/lists/makecell
index eeceec0e045..97ed5083ecf 100644
--- a/Master/texmf/lists/makecell
+++ b/Master/texmf/lists/makecell
@@ -2,7 +2,11 @@ texmf-dist/doc/latex/makecell/README
texmf-dist/doc/latex/makecell/makecell-rus.tex
texmf-dist/doc/latex/makecell/makecell.pdf
texmf-dist/doc/latex/makecell/makecell.xml
+texmf-dist/doc/latex/makecell/tablists-rus.tex
+texmf-dist/doc/latex/makecell/tablists.pdf
+texmf-dist/doc/latex/makecell/tablists.xml
texmf-dist/source/latex/makecell/makecell.dtx
+texmf-dist/source/latex/makecell/tablists.dtx
texmf-dist/tex/latex/makecell/makecell.sty
texmf-dist/tpm/makecell.tpm