合并跨越多行和多列的单元格操作,尊重边界。

合并跨越多行和多列的单元格操作,尊重边界。

这可能是社区维基的一个适当问题。

如何使用 LaTeX 实现各种文本处理器(如 Word 或 Writer)表格功能?例如,我可以实现:

跨行和跨列

  • 均匀分布列(是的,具有适当的列类型并手动输入列宽,或tabularx打包)
  • 等行分布(?)
  • 改变文本方向(是的,不依赖于桌面环境?)
  • 单元格/行阴影(是的,带有colorx包装)
  • 使用边框和线条
  • 单独设置每个单元格的边框(?)
  • 在单元格内对齐单元格内容在所有 9 个方向(垂直、水平和定心)
  • ETC。

答案1

合并跨越多行和多列的单元格操作,尊重边界。

\multirow可以使用 内的(multirow包)来完成\multicolumn。边框是使用\hline或绘制的\cline

代码

\documentclass{article}
\usepackage{multirow}
\begin{document}
\begin{tabular}{|c|c|c|}
                                                                            \hline
   Text A                        &  Text B                       & Test C \\\hline
   \multicolumn{2}{|c|}{\multirow{2}{*}{Longer Text, etc. etc.}} & Test F \\\cline{3-3}
   \multicolumn{2}{|c|}{}                                        & Test G \\\hline
\end{tabular}
\end{document}

结果

结果

答案2

我发现这个链接非常有用:http://www.tablesgenerator.com/#

答案3

更改文本方向

\rotatebox这可以使用的宏来完成graphicx。语法是:

\rotatebox[origin=<O>]{<angle in degree>}{<Text>}

文本旋转的原点可以是:(
l左)、 r(右)、 c(中心)、 t(顶部)、 b(底部)、 B(基线)。

例如rt右上角。默认为lB

示例代码:

\documentclass[convert={png,density=150}]{standalone}
\usepackage{graphicx}
\usepackage{array}
\usepackage{booktabs}

% Draw tight framebox around cell text
\newcommand*{\x}[1]{{%
    \fboxsep=0pt
    \fboxrule=.1pt
    \fbox{\strut#1}%
}}
\let\x\empty
\begin{document}
\begin{tabular}{llllll}
  \toprule
    \rlap{\rule{35em}{.1pt}}% Marker only
    Normal 
  &  \rotatebox{90}{90 up}origin
  &  \rotatebox{180}{Up side down, deep}
  &  \rotatebox{270}{270 down}
  &  \rotatebox{45}{45 degrees up}
  &  \rotatebox[origin=rB]{-45}{135 degrees up}
  \\\midrule
    \rlap{\rule{35em}{.1pt}}% Marker only
    Normal
  &  \rotatebox[origin=rB]{90}{90 down}
  &  \rotatebox[origin=c]{180}{Up side down, baseline}
  &  \rotatebox[origin=rB]{270}{270 up}
  &  \rotatebox{-45}{45 degrees down}
  &  \rotatebox[origin=rB]{45}{135 degrees down}
  \\\midrule
\end{tabular}
\end{document}

结果:

结果

答案4

表格中的水平线

booktabs软件包提供了以下命令

  • 全宽线:它们可以通过\toprule\midrule和 来完成\bottomrule。它们都接受厚度的可选参数,可以通过分别修改长度\heavyrulewidth\toprule\bottomrule)和\lightrulewidth\midrule)进行全局调整。

  • 部分线条:它们可以通过以下方式绘制\cmidrule

    \cmidrule[width](trim){m–n}

以下是一个例子,也是取自我的博客,分别的书:

\documentclass{article}
\usepackage{booktabs}
\newcommand{\head}[1]{\textnormal{\textbf{#1}}}
\begin{document}
\begin{tabular}{@{}*3l@{}}
  \toprule[1.5pt]
  \multicolumn{2}{c}{\head{Input}} &
    \multicolumn{1}{c}{\head{Output}}\\
  \head{Command} & \head{Declaration} & \\
  \cmidrule(r){1-2}\cmidrule(l){3-3}
  \verb|\textrm| & \verb|\rmfamily| & \rmfamily Example text\\
  \verb|\textsf| & \verb|\sffamily| & \sffamily Example text\\
  \verb|\texttt| & \verb|\ttfamily| & \ttfamily Example text\\
  \bottomrule[1.5pt]
\end{tabular}
\end{document}

在此处输入图片描述

相关内容