当前位置: 首页 > 科技观察

LaTex排版(二):表格

时间:2023-03-13 23:17:06 科技观察

LaTeX提供了很多工具来创建和定制表格。在本系列中,我们将使用tabular和tabularx环境来创建和自定义表格。基本表要创建表,只需指定环境\begin{tabular}{c|c}\begin{tabular}{c|c}Release&Codename\\\hlineFedoraCore1&Yarrow\\FedoraCore2&Tettnang\\FedoraCore3&Heidelberg\\FedoraCore4&Stentz\\\end{tabular}BasicTable在上面的例子中,大括号中的“{c|c}”表示文本在列中的位置。下表总结了位置参数及其描述。参数位置ccentertextlaligntextleftraligntextrightp{width}textaligncelltopm{width}textaligncellmiddleb{width}textaligncellbottomm{width}和Bothb{width}需要数组包要在前面指定。使用上面的示例,让我们分解用法要点并描述您将在本系列中看到的更多选项:选项含义&定义每个单元格,此符号仅用于第二列\\这将终止该行并开始新的|指定表格中的垂直线(可选)\hline指定表格中的水平线(可选)*{number}{format}这可以在你有很多列时使用,是限制重复的有效方法||在表格中指定垂直双线自定义表格考虑到这些选项后,让我们使用这些选项创建一个表格。\begin{tabular}{*{3}{|l|}}\hline\textbf{版本}&\textbf{代号}&\textbf{发布年份}\\\hlineFedora6&Zod&2006\\\hlineFedora7&Moonshine&2007\\\hlineFedora8&Werewolf&2007\\\hline\end{tabular}CustomizeTableManageLongText如果列中有很多文本,则说明格式不正确且看起来不好看。下面的示例显示了文本的格式长度,我们将在序言中使用blindtext来生成示例文本。\begin{tabular}{|l|l|}\hlineSummary&Description\\\hlineTest&\blindtext\\\end{tabular}默认格式如您所见,文本超出了页面的宽度;然而,有几个选项可以克服这个问题。指定列宽,如m{5cm}使用tablarx环境,需要在序言中引用tablarx宏包。使用列宽管理长文本通过指定列宽,文本将换行至下例所示的宽度。\begin{tabular}{|l|m{14cm}|}\hlineSummary&Description\\\hlineTest&\blindtext\\\hline\end{tabular}\vspace{3mm}ColumnWidth我们在使用中使用tabularx管理长文本table之前,我们需要在序言中添加它。请参阅以下有关tabularx方法的示例:\begin{tabularx}{width}{columnoptions}。\begin{tabularx}{\textwidth}{|l|X|}\hlineSummary&TabularxDescription\\\hlineText&\blindtext\\\hline\end{tabularx}Tabularx请注意,我们需要处理flower中的长文本列大写字母X在括号中指定。合并行合并列有时需要合并行或列。本节描述这是如何完成的。要使用多行和多列,请将multirow添加到序言中。Mergerowsmultirow采用以下参数\multirow{numberofrows}{width}{text},让我们看下面的示例。\begin{tabular}{|l|l|}\hlineRelease&Codename\\\hlineFedoraCore4&Stentz\\\hline\multirow{2}{*}{MultiRow}&Fedora8\\&Werewolf\\\hline\end{tabular}MultiRow在上面的例子中,指定了两行,*告诉LaTeX自动管理单元格的大小。合并列多列参数为{multicolumn{numberofcolumns}{celloption}{position}{text},以下示例演示合并列。\begin{tabular}{|l|l|l|}\hlineRelease&Codename&Date\\\hlineFedoraCore4&Stentz&2005\\\hline\multicolumn{3}{|c|}{Multi-Column}\\\hline\end{tabular}多列颜色可用于指定文本、单个单元格或整行的颜色。此外,我们可以为每一行配置交替颜色。在为表格添加颜色之前,我们需要在序言中引用\usepackage[table]{xcolor}。我们还可以使用以下颜色参考LaTeXColor或在颜色前缀后添加感叹号(从0到100的阴影)来定义颜色。比如灰色!30.\definecolor{darkblue}{rgb}{0.0,0.0,0.55}\definecolor{darkgray}{rgb}{0.66,0.66,0.66}下面的示例演示了一个具有各种颜色的表格,\rowcolors采用以下选项\rowcolors{起始行颜色}{偶数行颜色}{奇数行颜色}。\rowcolors{2}{darkgray}{gray!20}\begin{tabular}{c|c}版本和代号\\\hlineFedoraCore1&Yarrow\\FedoraCore2&Tettnang\\FedoraCore3&Heidelberg\\FedoraCore4&Stentz\\\end{tabular}Alt颜色表除了上面的例子,还可以用\rowcolor来指定每一行的颜色。当有合并行时,此方法效果最佳。以下示例显示了对合并行使用\rowColors的效果以及如何解决此问题。对多行的影响您可以看到,在合并的行中,只有第一行是彩色的。要解决这个问题,需要这样做:\begin{tabular}{|l|l|}\hline\rowcolor{darkblue}\textsc{\color{white}Release}&\textsc{\color{white}Codename}\\\hline\rowcolor{gray!10}FedoraCore4&Stentz\\\hline\rowcolor{gray!40}&Fedora8\\\rowcolor{gray!40}\multirow{-2}{*}{Multi-Row}&Werewolf\\\hline\end{tabular}Multi-row让我们来看看为解决合并行替换颜色问题而实施的更改。第一行从合并后的行上方开始,行数由2变为-2,这意味着每行都指定从\rowcolor上方的行开始读取,更重要的是,多行必须具有相同的颜色,从而获得想要的结果。关于颜色的最后一点是,要更改列的颜色,您需要创建一个新的列类型并定义颜色。以下示例显示如何定义新的列颜色。\newcolumntype{g}{>{\columncolor{darkblue}}l}让我们分解一下:\newcolumntype{g}:将字母g定义为一个新列{>{\columncolor{darkblue}}l}:这里我们选择我们想要的颜色,l告诉列左对齐,这可以用c或r代替。\begin{tabular}{g|l}\textsc{Release}&\textsc{Codename}\\\hlineFedoraCore4&Stentz\\&Fedora8\\\multirow{-2}{*}{Multi-Row}&Werewolf\\\end{tabular}\ColumnColorHorizo??ntaltable有时候,你的表格可能有很多列,垂直排列会不太好看。将旋转包添加到序言中,您将能够创建一个水平表格。下面的例子说明了这一点。对于侧向表,我们将使用sidewaystable环境并在其中添加表环境,我们还指定其他选项。\centering可以把表格放在页面的中央\caption{}给表格起个名字\label{}这样我们就可以在文档中引用表格\begin{sidewaystable}\centering\caption{SidewaysTable}\label{sidetable}\begin{tabular}{ll}\rowcolor{darkblue}\textsc{\color{white}Release}&\textsc{\color{white}Codename}\\\rowcolor{gray!10}FedoraCore4&Stentz\\\rowcolor{gray!40}&Fedora8\\\rowcolor{gray!40}\multirow{-2}{*}{Multi-Row}&Werewolf\\\end{tabular}\vspace{3mm}\end{sidewaystable}Sideways表列表和表格要将列表包含到表中,您可以使用tabularx,并将列表包含在指定的列中。另一种选择是使用表格格式,但您必须指定列宽。使用tabularx\begin{tabularx}{\textwidth}{|l|X|}\hlineFedoraVersion&Editions\\\hlineFedora32&\begin{itemize}[noitemsep]\itemCoreOS\itemSilverblue\itemIoT\end{处理列表itemize}\\\hline\end{tabularx}\vspace{3mm}在tabularx进程列表中列出withtabular\begin{tabular}{|l|m{6cm}|}\hlineFedoraVersion&Editions\\\\hlineFedora32&\begin{itemize}[noitemsep]\itemCoreOS\itemSilverblue\itemIoT\end{itemize}\\\\hline\end{tabular}ListintabularsummaryLaTeX提供了很多方法使用tablar和tablarx自定义表格,也可以在表格环境(\begin\table)中添加tablar和tablarx,添加表格名称和定位表格。LaTeX宏包所需的宏包如下:\usepackage{fullpage}\usepackage{blindtext}%adddemotext\usepackage{array}%usedforcolumnpositions\usepackage{tabularx}%addstabularxwhichusedfortextwrapping\usepackage{multirow}%多行和多色支持\usepackage[table]{xcolor}%为列添加颜色\usepackage{rotating}%用于横向/横向表格额外的知识这里是关于表格的一点教训,对于有关表格和LaTex的更多高级信息,请访问LaTexWiki