% \iffalse % % makecell.dtx - Managing of tabular column heads and cells. % Russian documentation. % (c) 2005--2006 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. % %<*driver> \ProvidesFile{makecell-rus.tex} \documentclass{ltxdoc} \usepackage{mathtext} \usepackage[T2A]{fontenc} \usepackage[cp1251]{inputenc} \usepackage[english,russian]{babel} \IfFileExists{rotating.sty}{\usepackage{rotating}}{} \IfFileExists{footmisc.sty}{\usepackage[perpage]{footmisc}}{} \IfFileExists{multirow.sty}{\usepackage{multirow}}{} \IfFileExists{hyperref.sty}{\usepackage[unicode]{hyperref}}{} \IfFileExists{hypcap.sty}{\usepackage{hypcap}}{} \usepackage{makecell} \IfFileExists{caption.sty} {\usepackage[font=small,labelfont=bf,labelsep=period]{caption}[2004/11/28] \IfFileExists{floatrow.sty} {\usepackage[font=small,style=plaintop,captionskip=5pt]{floatrow}} {}}{} \makeatletter \@ifundefined{ttabbox}{\let\ttabbox\relax}{} \makeatother \usepackage{tabularx} \usepackage{slashbox} \usepackage{hhline} \EnableCrossrefs \CodelineIndex \RecordChanges \makeatletter \@beginparpenalty10000 \widowpenalty10000 \clubpenalty10000 \makeatother \providecommand*{\file}[1]{\texttt{#1}} \providecommand*{\package}[1]{\textsf{#1}} \providecommand*{\cls}[1]{\textsf{#1}} \providecommand*{\env}[1]{\texttt{#1}} \begin{document} \DocInput{makecell-rus.tex} \PrintChanges \end{document} %</driver> % \fi % % \GetFileInfo{makecell-rus.tex} % % \title{����� \textsf{makecell}} % \author{% % ����� �����\\ % {\tt Lapko.O@g23.relcom.ru} } % \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. %^^A% There are also command |\makecellbox| command and |mcellbox| environment %^^A% usage of tabular cells inside text. % ������ ����� �������� ������� ������ ���������� ��� ������ �� ��� % ���������. ������� |\thead|, ������������ ��������� �������������� % �������, ��������� ������� ������������� ���������� ��� ���������� % ��������� ������� �~���������. ��� ���� �������, |\makecell|, % ������������ ��� �������� ������������� ����� �~��������. % ����� ������� ������� |\makecellbox| �~��������� |mcellbox| % ��� �������� ������-����� ������ ������. % %^^A% Package also offers: \quad 1)\nobreak\enskip macro |\makegapedcells|, %^^A% which changes vertical spaces around all cells in tabular, like in %^^A% \package{tabls} package, but uses code of \package{array} package. (Macro %^^A% |\makegapedcells| redefines macro |\@classz| from \package{array} package. %^^A% Macro |\nomakegapedcells| cancels this redefinition.); %^^A% \quad 2)\nobreak\enskip macros |\multirowhead| and |\multirowcell|, %^^A% which use |\multirow| macro from \package{multirow} package; %^^A% \quad 3)\nobreak\enskip numbered rows |\nline| or skipping cells |\eline| %^^A% in tabulars; also are the skipping rows command |\erows| and %^^A% repeated rows command |\Xrows|; %^^A% \quad 4)\nobreak\enskip diagonally divided cells (|\diaghead|) %^^A% plus citation of sample file of \package{slashbox} package, which does the same; %^^A% \quad 5)\nobreak\enskip |\hline| and |\cline| width necessary thickness: %^^A% |\Xhline| and |\Xcline| consequently. % ����� ������������: \qquad 1)\nobreak\enskip ������������ |\makegapedcells|, % ������� �������� ������������ ������� ������ ��������� �����, ���������� % ������ \package{tabls}, �� ���������� ����� \package{array}. (������� % |\makegapedcells| �������������� ������������ |\@classz| ������ % \package{array}. ������������ |\nomakegapedcells| �������� ���������������.); % \qquad 2)\nobreak\enskip ������������ |\multirowhead| �~|\multirowcell|, % ������������ ������������ |\multirow| �� ������ \package{multirow}; % \qquad 3)\nobreak\enskip ��� ������������ |\nline| ��� ����������� |\eline| % �����, �~����� ������ ����� |\erows| �~����� �~������������� ������� |\Xrows|; % \qquad 4)\nobreak\enskip ������ ���������� ���������� (|\diaghead|), % �~����� ���� ������� ������ \package{slashbox}, ��������� �� �� �����; % \qquad 5)\nobreak\enskip ������� |\hline| �~|\cline| �~�������� ��������: % |\Xhline| �~|\Xcline|. % \smallskip % % \end{abstract} % % \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 \package{array} package, you may %^^A% use such alignment settings like |{>{\parindent1cm}p{3cm}}|. % ��� ������������ �������� ������������ ����������� \texttt{t}, \texttt{b}, % ��� \texttt{c} \cdash--- ��� ����� ������������ �~�������������� ��������� ��������� % \env{tabular} ��� \texttt{array}. ��� �������������� �������� �� ������ % ������������ ����������� \texttt{r}, \texttt{l}, ��� \texttt{c}, ��� ����� % �������: |{p{3cm}}|. ��������� ������ ����� ��������� ����� \package{array}, �� % ������ ������������ �~����� ����������� ��������: |{>{\parindent1cm}p{3cm}}|. %\begin{verbatim} %\begin{tabular}{|c|c|} %\hline %Cell text & 28--31\\ %\hline %\makecell{Multilined \\ cell text} & 28--31\\ %\hline %\makecell[l]{Left aligned \\ cell text} & 37--43\\ %\hline %\makecell*[r]{Right aligned \\ cell text} & 37--43\\ %\hline %\makecell[b]{Bottom aligned \\ cell text} & 52--58\\ %\hline %\makecell*[{{p{3cm}}}]{Cell long text with predefined width} & 52--58\\ %\hline %\makecell[{{>{\parindent1em}p{3cm}}}]{Cell long...} & 52--58\\ %\hline %\end{tabular} %\end{verbatim} % \begin{table}[h] % \ttabbox % {\caption{������ ������������� �����}\label{tab:cells}}% % {\begin{tabular}{|c|c|} % \hline % Cell text & 28--31\\ % \hline % \makecell{Multilined \\ cell text} & 28--31\\ % \hline % \makecell[l]{Left aligned \\ cell text} & 37--43\\ % \hline % \makecell*[r]{Right aligned \\ cell text} & 37--43\\ % \hline % \makecell[b]{Bottom aligned \\ cell text} & 52--58\\ % \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\\ % \hline % \end{tabular}} % \end{table} % %^^A% Starred form of command, |\makecell*|, creates vertical |\jot| spaces %^^A% around. % ������� ����� �������, |\makecell*|, ������ ������������ ������� ������~|\jot|. % %^^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 ���� ������������ �������� ���, ����� �������� % ������� �~������� ������ \cdash--- |[{{p{3cm}}}]| ��� �������� ������ ������ % \cdash--- |[{}{p{3cm}}]|. % ������ ����������� �~������������ ��������� ������ ��� ������� �������� % ������� �~���� ������: % ��������, ����� ������������ |{b{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{sec:tsets}). %\begin{verbatim} %\renewcommand\theadset{\def\arraystretch{.85}}% %\begin{tabular}{|l|c|} %\hline %\thead{First column head}& % \thead{Second \\multlined \\ column head}\\ %\hline %Left column text & 28--31\\ %\hline %\end{tabular} %\end{verbatim} % \begin{table}[h] % \ttabbox % {\caption{������ ���������� �������}\label{tab:thead}} % {\renewcommand\theadset{\def\arraystretch{.85}} % \begin{tabular}{|l|c|} % \hline % \thead{First column head}& % \thead{Second \\multlined \\ column head}\\ % \hline % Long left column text & 28--31\\ % \hline % \end{tabular}} % \end{table} % %^^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|): �~���������� ����� ���� ����� ��������� ����������� % �� ����� ������� �����. % % \DescribeMacro{\rotheadsize} %^^A% This parameter defines the width of rotated tabular heads. You may define %^^A% that like: % ������ �������� ���������� ������ ������� ��� ���������� ����������� ����������. % ��� ����� ���������� ���: % \begin{quote} % |\setlength\rotheadsize{3cm}| % \end{quote} % ��� % \begin{quote} % |\settowidth\rotheadsize{\theadfont |\meta{Widest head text}|}| % \end{quote} %^^A% like in following example: % ��� ������� �~��������� ������� (����.~\ref{tab:rotheads}): % \begin{table} % \ttabbox % {\caption{������ ���������� �������, ���������� �����������}\label{tab:rotheads}}% % {\settowidth\rotheadsize{\theadfont Second multilined}%^^A % \begin{tabular}{l|l} % \hline % \thead{First column head}& % \rothead{Second multilined \\ column head}\\ % \hline % Long left column text & 28--31\\ % \hline % \end{tabular}} % \end{table}% %\begin{verbatim} %\settowidth\rotheadsize{\theadfont Second multilined} %\begin{tabular}{|l|c|} %\hline %\thead{First column head}& % \rotthead{Second multilined \\ column head}\\ %\hline %Left column text & 28--31\\ %\hline %\end{tabular} %\end{verbatim} % %^^A% \subsection{Settings For Tabular Cells}\label{sec:sets} % \subsection{��������� ��� ��������� �����}\label{sec:sets} % %^^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} %^^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} %^^A% (See also section~\ref{sec:gape} about |\gape| and |\gape| command.) % (��.~����� ����.~\ref{sec:gape} �~�������� |\gape| �~|\Gape|.) % % \DescribeMacro{\cellrotangle} %^^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} % %^^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| ��� ������ ����� �������). % ��������� ������ ����� ��������� ���������� % \begin{quote} % |\renewcommand\theadfont{\itshape}| % \end{quote} % % \DescribeMacro{\theadset} %^^A% Spacing settings for column heads. Here you could use commands like: % ��������� ������������ ��� ���������� �������. ����� ����� ������������ ��������� % �������: % \begin{quote} % |\renewcommand\theadset{\renewcommand\arraytretch{1}%|\\ % | \setlength\extrarowheight{0pt}}| % \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} %^^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 \package{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|, % (����)����������� ������� \package{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 % \vbox{\halign{#\cr % \noalign{\hrule} % \gape{\cmd{\gape}\texttt{\{text\}}}\cr % \noalign{\hrule} % \crcr}}\qquad % \vbox{\halign{#\cr % \noalign{\hrule} % \gape[t]{\cmd{\gape}\texttt{[t]\{text\}}}\cr % \noalign{\hrule\vskip\jot} % \crcr}}\qquad % \vbox{\halign{#\cr % \noalign{\hrule} % \gape[b]{\cmd{\gape}\texttt{[b]\{text\}}}\cr % \noalign{\hrule} % \crcr}} % \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|. % %^^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 % \noalign{\hrule} % \Gape{\cmd{\Gape}\texttt{\{text\}}}\cr % \noalign{\hrule} % \crcr}}\texttt{\phantom{xxxxx}}\qquad % \vbox{\halign{#\cr % \noalign{\hrule} % \Gape[\jot]{\cmd{\Gape}\texttt{[\cmd{\jot}]\{text\}}}\cr % \noalign{\hrule} % \crcr}}\\[2ex] % \vbox{\halign{#\cr % \noalign{\hrule} % \Gape[6pt]{\cmd{\Gape}\texttt{[6pt]\{text\}}}\cr % \noalign{\hrule} % \crcr}}\qquad % \vbox{\halign{#\cr % \noalign{\hrule} % \Gape[6pt][-2pt]{\cmd{\Gape}\texttt{[6pt][-2pt]\{text\}}}\cr % \noalign{\hrule\vskip8pt} % \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| �������� �~������ �~�������; % |\topstrut| �������� ������ ������; % |\botstrut| �������� ������ �������. % ��� ������� ����� ������������, ��������, �~������ �~��������� ����� �������. % %^^A% \emph{Note}. If you use %^^A% \package{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{���������}. ���� % �� ����������� ����� \package{bigstrut}, �������� ��������, ��� ��� ��� ������� % ��������� \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% \package{tabls} package: to get necessary vertical spacing around cells. % ������ ������ ��������� ������������, ������� �������� ����������� % ���� �� ������������ ������ \package{tabls}: % �������� ����������� ������� ������ ����� �������. % % \DescribeMacro{\setcellgapes} %^^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 \package{array} package, so use this mechanism carefully. %^^A% Load |\makegapedcells| inside group or inside environment %^^A% (see table~\ref{tab:gaped}): % ������������ \cmd{\makegapedcells} �������� �������������� ������������ % |\@classz| �� ������ \package{array}, ������� ����������� � ���������. % ������� ������� |\makegapedcells| ������ ������ ��� ������ ��������� % (��.~����.~\ref{tab:gaped}): %\begin{verbatim} %\begin{table}[h] %\makegapedcells %... %\end{table} %\end{verbatim} % \setcellgapes{5pt} % \begin{table} % \makegapedcells % \ttabbox % {\caption{������ ������������� ����� �~��������������� ������������� ���������}%^^A % \label{tab:gaped}}% % {\begin{tabular}{|c|c|} % \hline % Cell text & 28--31\\ % \hline % \makecell{Multilined \\ cell text} & 28--31\\ % \hline % \makecell[l]{Left aligned \\ cell text} & 37--43\\ % \hline % \makecell*[r]{Right aligned \\ cell text} & 37--43\\ % \hline % \makecell[b]{Bottom aligned \\ cell text} & 52--58\\ % \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\\ % \hline % \end{tabular}} % \end{table} % %^^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*|) �����������. % % \clearpage %^^A% \section{Multirow Table Heads and Cells} % \section{��������� ������� �~������, ���������� ��������� �����} % %^^A% The next examples show usage of macros which use |\multirow| command from %^^A% \package{multirow} package.\nopagebreak % ��������� ������� ���������� ������������� �����������, ������������ ������� % |\multirow| �� ������ \package{multirow}.\nopagebreak % %^^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 \package{bigstrut} package: it makes %^^A% additional tuning of vertical position (see comments in %^^A% \package{multirow} package); % \oarg{njot} ������ ������������ ���� �� ����������� ����� \package{bigstrut}: ������ % �������������� ��������� ������������� ��������� (��. ��������� �~������ % \package{mutirow}); %^^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} %^^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| % ���������� ����������� �������� ����������� ������ (�� ���� ������������ % �������� |*|). % %^^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|} % \multirowthead{4}{First ...}& % \multicolumn{2}{c|}{\thead{Multicolumn head}}\\ % \cline{2-3} % & \thead{Second ...} & \thead{Third ...}\\ % \hline % Cell text & A &\multirowcell{3}{28--31}\\ % \cline{1-2} % \makecell{Multilined\\Cell text} & B& \\ % \hline % \makecell[l]{Left ...} & C & \multirowcell{4}[1ex][l]{37--43}\\ % \cline{1-2} % \makecell[r]{Right ...} & D & \\ % \hline % \makecell[b]{Bottom ...} & E & \multirowcell{5}[1ex][r]{37--43\\52--58}\\ % \cline{1-2} % \makecell[{{p{5cm}}}]{Cell ...} & F & \\ % \cline{1-2} % \makecell[{{>{\parindent1em}p{5cm}}}]{Cell ...} & G & \\ % \hline % \end{tabular} %\end{verbatim} % % \begin{table} %\renewcommand\theadset{\def\arraystretch{.85}}% % \ttabbox % {\caption{������ <<�����������>> �����}\label{tab:mrowI}}% % {\begin{tabular}{|l|c|c|} % \hline % \multirowthead{4}{First Column head}& % \multicolumn{2}{c|}{\thead{Multicolumn head}}\\ % \cline{2-3} % & \thead{Second \\multlined \\ column head} & % \thead{Third \\ column head}\\ % \hline % Cell text & A &\multirowcell{3}{28--31}\\ % \cline{1-2} % \makecell{Multilined\\Cell text} & B& \\ % \hline % \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 & \\ % \cline{1-2} % \makecell[{{>{\parindent1em}p{5cm}}}]{Cell long long long long text with % predefined width} & G & \\ % \hline % \end{tabular}} % \end{table} % %^^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 %\renewcommand\theadset{\def\arraystretch{.85}}% %\renewcommand\theadgape{} %... %\end{verbatim} % \begin{table}\makegapedcells %\renewcommand\theadset{\def\arraystretch{.85}}% %\renewcommand\theadgape{} % \ttabbox % {\caption{������ <<�����������>> ����� �~��������������� ������������� % ���������}\label{tab:mrowII}}% % {\begin{tabular}{|l|c|c|} % \hline % \multirowthead{4}{First Column head}& % \multicolumn{2}{c|}{\thead{Multicolumn head}}\\ % \cline{2-3} % & \thead{Second \\multlined \\ column head} & % \thead{Third \\ column head}\\ % \hline % 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 text with predefined width} & F & \\ % \cline{1-2} % \makecell[{{>{\parindent1em}p{5cm}}}]{Cell long long long long text % with predefined width} & G & \\ % \hline % \end{tabular}} % \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| �~��������� ������ �������. %\begin{verbatim} %\makegapedcells %\renewcommand\theadset{\def\arraystretch{.85}}% %\renewcommand\theadgape{} %\begin{tabularx}\hsize{|X|c|c|} %... %\cline{1-2} %\makecell[{{p{\hsize}}}]{Cell ...} & F & \\ %\cline{1-2} %\makecell[{{>{\parindent1em}p{\hsize}}}]{Cell ...} & G & \\ %\hline %\end{tabularx} %\end{verbatim} %^^A% As you may see the |\makecell|'s in last two rows defined as % ��� ����� ������, ������ |\makecell| �~��������� ���� ����� ���������� ��� % \begin{quote} % |\makecell[{{p{\hsize}}}]{...}| % \end{quote} % � % \begin{quote} % |\makecell[{{>{\parindent1em}p{\hsize}}}]{...}| % \end{quote} %^^A% consequently. % ��������������. % \begin{table}\makegapedcells %\renewcommand\theadset{\def\arraystretch{.85}}% %\renewcommand\theadfont{\footnotesize}% %\renewcommand\theadgape{} % \ttabbox % {\caption{������ ��������� \env{tabularx}}\label{tab:mrowIII}}% % {\begin{tabularx}\hsize{|X|c|c|} % \hline % \multirowthead{4}{First Column head}& % \multicolumn{2}{c|}{\thead{Multicolumn head}}\\ % \cline{2-3} % & \thead{Second \\multlined \\ column head} & % \thead{Third \\ column head}\\ % \hline % 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{\hsize}}}]{Cell long long long long long long text with % predefined width} & F & \\ % \cline{1-2} % \makecell[{{>{\parindent1em}p{\hsize}}}]{Cell long long long long % long long text with predefined width} & G & \\ % \hline % \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|, �~�~����� ��������� ������ |\\| % �~������������� ��������, �������� %\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. % ��� ���� �~����� �~����� <<������������>> ����, ������� �� ����� ��� �� ����� ��, % ������������� ������� ����� ������ ����������. % % \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|) ��������� ��� ��� ������ �~����: % \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| ��������������). % (��.~����.~\ref{tab:elines}) %\begin{verbatim} % \begin{tabular}{|*{12}{c|}} % \hline % \eline{6} \\ \hline % \nline{6} \\ \hline % \eline{3} & \nline[1][4]{3} \\ \hline % \rnline[(a)]{6} \\ \hline % \nline[column I]{6} \\ \hline % \end{tabular} %\end{verbatim} % % \begin{table}[htb] % \ttabbox % {\caption{������� ���������� �����}\label{tab:elines}}% % {\begin{tabular}{|*{12}{c|}} % \hline % \eline{6} \\ \hline % \nline{6} \\ \hline % \eline{3} & \nline[1][4]{3} \\ \hline % \rnline[(a)]{6} \\ \hline % \nline[column I]{6} \\ \hline % \end{tabular}} %\end{table} % %^^A% Two ``lazy'' commands: for empty table rows %^^A% (|\erows|) and for rows with repeated text (|\Xrows|) were added in the version V0.1e. % �~������ V0.1e ��������� ��� ������ ���� �������: ��� �������� ������ ����� �~������� % (|\erows|) �~��� ����� �~������������� ������� (|\Xrows|). % %\DeleteShortVerb{\|} %\begin{verbatim} % \begin{tabular}{|*{4}{c|}} % \hline % \thead{No}&\thead{First Data}&\thead{Second Data}&\thead{Third Data} \\ % \hline % \erows{4}{8} % \end{tabular}\quad % \begin{tabular}{||c||c||c||c||} % \hhline{|t:=:t:=:t:=:t:=:t|} % \thead{No}&\thead{First Data}&\thead{Second Data}&\thead{Third Data} \\ % \hhline{|:=::=::=::=:|} % \erows[\\ \hhline{|:=::=::=::=:|}]{4}{8} % \eline{4}\\ \hhline{|b:=:b:=:b:=:b:=:b|} % \end{tabular}\quad % \begin{tabular}{|*{4}{c|}} % \hline % \thead{No}&\thead{First Data}&\thead{Second Data}&\thead{Third Data} \\ % \hline % \Xrows{\refstepcounter{enumi}\arabic{enumi}.\eline{3}\\ \hline}{8} % \end{tabular} %\end{verbatim} % % \begin{table}[hbt]\extrarowheight1pt % \ttabbox[\hsize] % {\caption{Examples of filling of cells}\label{tab:elines}}% % {\begin{tabular}{|*{4}{c|}} % \hline % \thead{No}&\thead{First Data}&\thead{Second Data}&\thead{Third Data} \\ % \hline % \erows{4}{8} % \end{tabular}\par\bigskip % \begin{tabular}{||c||c||c||c||} % \hhline{|t:*3{=:t:}=:t|} % \thead{No}&\thead{First Data}&\thead{Second Data}&\thead{Third Data} \\ % \hhline{|:*3{=::}=:|} % \erows[\\ \hhline{|:*3{=::}=:|}]{4}{7} % \eline{4}\\ % \hhline{|b:*3{=:b:}=:b|} % \end{tabular}\par\bigskip % \begin{tabular}{|*{4}{c|}} % \hline % \thead{No}&\thead{First Data}&\thead{Second Data}&\thead{Third Data} \\ % \hline % \Xrows{\refstepcounter{enumi}\arabic{enumi}.\eline{4}\\ \hline}{8} % \end{tabular}} %\end{table} %\MakeShortVerb{\|} % %^^A% \section{Cells (One-Column Tabulars) in the Text} % \section{������ (����������� �������) ���������� �~�����} % %^^A% If the |\makecell| command appears in the text (outside outer tabular %^^A% environment) it could create wrong layout. The |\makecellbox| command %^^A% and |mcellbox| environment are created for one-column tabulars in the text. % ���� ������� |\makecell| �������� ������ ������ (�.\,�. ��� ������� ��������� % ������������) ��� ������� �������� ������. ������� |\makecellbox| �~��������� % |mcellbox| ������� ��� ������������ ������� ������, ���������� �~�����. % %^^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. % ������ ��������� ������ ��������� �~���� ������ ������� �� � ������. ���� ������ % \'��� ������������ �� ����� ��������� �� �������������� �� �����. % %^^A% \section{Comparison: Diagonally Divided Cell with the slashbox package} % \section{���������: ������, ���������� �� ��������� �~������ slashbox} % %^^A% I didn't know about the \texttt{slashbox} package in time %^^A% when the part of code for the diagonal cells was created. This package uses also picture %^^A% |\line| mechanism, but calculates slopes automatically. It creates the %^^A% |\backslash| direction of diagonal lines only. (The |\slash| direction %^^A% is not correct? Or direction depends to traditions of current publishing house?) % �� ����� �������� ������ �����, ���������� �� ��������� ��� �� ���� �������� % �~������ \texttt{slashbox}. ���� ����� ����� ���������� �������� ��������� |picture| % �~������� |\line|, �� ������ ����� �������������� �������������. ����� ������ % ������ ������, ��������������� �������� ��������� (|\backslash|). (�����������, % ��������������� ������ ��������� (|\slash|) ��-���� �� �������� % ����������. ��� ����������� ������� �� �������� ������������?) % %^^A% Here is used citation of the sample file distributed with the \texttt{slashbox} package%^^A %^^A% \footnote{by Koichi Yasuoka, May 27, 1993; minor modification by Toru Sato, May 31, 1993}. %^^A% The verbatim of the table examples are added only in citation.\smallskip % ����� ���������� ����-������� (����� ������ ����� ����� ��������� % �� ����������!), ���������������� ������ �~������� \texttt{slashbox}%^^A % \footnote{by Koichi Yasuoka, May 27, 1993; minor modification by Toru Sato, May 31, 1993}. % ����� ������ �������� |verbatim| ��������.\smallskip % % \begingroup\slshape %^^A% The usage is pretty straightforward, such as % ������������� ���������� �������, �������� % %\begin{table}[H]% %\begin{verbatim} %\begin{tabular}{|l||*{5}{c|}}\hline %\backslashbox{Room}{Date} %&\makebox[3em]{5/31}&\makebox[3em]{6/1}&\makebox[3em]{6/2} %&\makebox[3em]{6/3}&\makebox[3em]{6/4}\\\hline\hline %Meeting Room &&&&&\\\hline %Auditorium &&&&&\\\hline %Seminar Room &&&&&\\\hline %\end{tabular} %\end{verbatim}% % % \noindent % \begin{tabular}{|l||*{5}{c|}}\hline % \backslashbox{Room}{Date} % &\makebox[3em]{5/31}&\makebox[3em]{6/1}&\makebox[3em]{6/2} % &\makebox[3em]{6/3}&\makebox[3em]{6/4}\\\hline\hline % Meeting Room &&&&&\\\hline % Auditorium &&&&&\\\hline % Seminar Room &&&&&\\\hline % \end{tabular} %\end{table}% % %^^A% You may include a newline (\verb+\\+) in `Room' and/or `Date'. %^^A% Note that you will get spaces aside the slash line if there is a %^^A% wider column in the same column of a different line. %^^A% In such a case, you need to specify the width of the slashed column %^^A% by saying % �� ������ ������������ ������� ����� ������ (\verb+\\+) �~����������, % ��� ������ ����� �Room� �/��� �Date�. �������� ��������, ��� �� % �������� ������� ����� ��������� �����, ���� ���������� ������� % ���� � �������. �~���� ������ ��� ����� ���������� ������ �������, % ����� % %\begin{table}[H]% %\begin{verbatim} %\begin{tabular}{|l||*{4}{c|}}\hline %\backslashbox[48mm]{Room}{Date} %&\makebox[3em]{5/31}&\makebox[3em]{6/1}&\makebox[3em]{6/2} %&\makebox[3em]{6/3}\\\hline\hline %Room With a Long Name &&&&\\\hline %Auditorium &&&&\\\hline %Seminar Room &&&&\\\hline %\end{tabular} %\end{verbatim}% % % \noindent % \begin{tabular}{|l||*{4}{c|}}\hline % \backslashbox[48mm]{Room}{Date} % &\makebox[3em]{5/31}&\makebox[3em]{6/1}&\makebox[3em]{6/2} % &\makebox[3em]{6/3}\\\hline\hline % Room With a Long Name &&&&\\\hline % Auditorium &&&&\\\hline % Seminar Room &&&&\\\hline % \end{tabular} %\end{table}% % %^^A% The specified width is neglected if it is narrower than the natural %^^A% width of the column. % �������� ������ �� ����� ������� �~������, ���� �������� ������ ����� % ������. % %^^A% \verb+\(back)slashbox+ assumes by default that there is a blank space %^^A% of width \verb+\tabcolsep+ on both sides of the column. Thus the %^^A% slash line might exceeds the boundary when you use \verb+@{}+ %^^A% etc. % ������� \verb+\(back)slashbox+ �� ��������� ������������, ��� ������ ������� % ������ �������, ������ \verb+\tabcolsep+. �~����������, ���� �� ����������� % ���-�� ����� \verb+@{}+, ��������� ����� ������� �� ����. % % ����� ����� ��������, ����� % %\begin{table}[H]% %\begin{verbatim} %\begin{tabular}{|@{\ $\bullet$\hspace*{3mm}}l||*{5}{c|}}\hline %\multicolumn{1}{|@{}l||}{\backslashbox[0pt][l]{Room}{Date}} %&\makebox[3em]{5/31}&\makebox[4em]{6/1}&\makebox[3em]{6/2} %&\makebox[3em]{6/3}&\makebox[3em]{6/4}\\\hline\hline %Meeting Room &&&&&\\\hline %Auditorium &&&&&\\\hline %Seminar Room &&&&&\\\hline %\end{tabular} %\end{verbatim}% % % \bigskip % % \noindent % \begin{tabular}{|@{\ $\bullet$\hspace*{3mm}}l||*{5}{c|}}\hline % \multicolumn{1}{|@{}l||}{\backslashbox[0pt][l]{Room}{Date}} % &\makebox[3em]{5/31}&\makebox[4em]{6/1}&\makebox[3em]{6/2} % &\makebox[3em]{6/3}&\makebox[3em]{6/4}\\\hline\hline % Meeting Room &&&&&\\\hline % Auditorium &&&&&\\\hline % Seminar Room &&&&&\\\hline % \end{tabular} %\end{table}% % %^^A% Here \verb+[l]+ tells the command that there is no extra space on the %^^A% left of this column. You can use \verb+[r]+ and \verb+[lr]+ likewise. %^^A% You have to also specify the width of the column in this case, but it %^^A% can be~0pt. % ����� \verb+[l]+ ��������, ��� ����� �� �������������� ������� �����. % ����� ������������ \verb+[r]+ �~\verb+[lr]+ ����������. % �~���� ������ �� ������ �� ������ ������ ������ �������, ������� ����� % ������ ���~0pt. % \endgroup % %^^A% The addition for the sample with |\slashbox| command. This example demonstrates %^^A% that you may combine the \texttt{makecell} commands and |\backslashbox|. % ��������� ���������� �~�����-�������. ����� ������ ����������, ��� �������� % ������������� ������ \texttt{thead} (��� \texttt{makecell}), �~����� % ������-�������� �������� �~������ ������ �~|\backslashbox|. % %\begin{table}[H]% %\begin{verbatim} %\begin{tabular}{|l||*{5}{c|}}\hline %\theadset\theadfont\backslashbox{Room}{Date} %&\makebox[3em]{\thead{5/31}}&\makebox[3em]{\thead{6/1}}&\makebox[3em]{\thead{6/2}} %&\makebox[3em]{6/3}&\makebox[3em]{\thead{6/4}}\\\hline\hline %Meeting Room &&&&&\\\hline %Auditorium &&&&&\\\hline %Seminar Room &&&&&\\\hline %\end{tabular} %\end{verbatim}% % % \noindent % \begin{tabular}{|l||*{5}{c|}}\hline %\theadset\theadfont\backslashbox{Room}{Date} %&\makebox[3em]{\thead{5/31}}&\makebox[3em]{\thead{6/1}}&\makebox[3em]{\thead{6/2}} %&\makebox[3em]{6/3}&\makebox[3em]{\thead{6/4}}\\\hline\hline % Meeting Room &&&&&\\\hline % Auditorium &&&&&\\\hline % Seminar Room &&&&&\\\hline % \end{tabular} %\end{table}% % %\begin{table}[H] %\begin{verbatim} %\begin{tabular}{|l||*{4}{c|}}\hline %\theadset\backslashbox[48mm]{Room}{Date} %&\makebox[3em]{\thead{5/31}}&\makebox[3em]{\thead{6/1}}&\makebox[3em]{\thead{6/2}} %&\makebox[3em]{\thead{6/3}}\\\hline\hline %Room With a Long Name &&&&\\\hline %Auditorium &&&&\\\hline %Seminar Room &&&&\\\hline %\end{tabular} %\end{verbatim}% % % \noindent % \begin{tabular}{|l||*{4}{c|}}\hline % \theadset\backslashbox[48mm]{Room}{Date} % &\makebox[3em]{\thead{5/31}}&\makebox[3em]{\thead{6/1}}&\makebox[3em]{\thead{6/2}} % &\makebox[3em]{\thead{6/3}}\\\hline\hline % Room With a Long Name &&&&\\\hline % Auditorium &&&&\\\hline % Seminar Room &&&&\\\hline % \end{tabular} %\end{table}% % % \clearpage %^^A% \section{Thick \cmd{\hline} and \cmd{\cline}} % \section{������� \texorpdfstring{\cmd{\hline}}{hline} �~\texorpdfstring{\cmd{\cline}}{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