我目前在 LaTeX 中有这个代码
\begin{footnotesize}
\begin{center}
\begin{longtable}[c]{ll}
\caption[API da listagem de um docente]{API da listagem de um docente.} \label{relStruct}\\
\begin{tabular}{|l|l|l|}
\hline
\multicolumn{1}{|c|}{\textcolor{WhiteC}{\textbf{URL}} \cellcolor{GreenC}} &
\multicolumn{2}{|c|}{http://di76.di.fct.unl.pt:3007/people} \\ \hline
\multicolumn{1}{|c|}{\textcolor{WhiteC}{\textbf{Method}} \cellcolor{GreenC}} &
\multicolumn{2}{|c|}{GET} \\ \hline
\multirow{2}*{\textcolor{WhiteC}{\textbf{QueryString}} \cellcolor{GreenC}} &
start= & The number of the first person to return \\ & end= & The number of the last person to return \\ \hline
\multirow{2}{*}{\textcolor{WhiteC}{\textbf{Returns}} \cellcolor{GreenC}} &
\multicolumn{2}{|c|}{200 OK \& XML (people/people+xml)} \\ &
\multicolumn{2}{|c|}{404 Not Found} \\ \hline
\end{tabular}
%\end{center}
\end{longtable}
\end{center}
\end{footnotesize}
这段代码的输出是一张表格,其中 2 个多行部分未完全绘制,只有行的顶部被绘制。有人能告诉我如何修复这些问题以便完全绘制吗?
答案1
最好的解决方案是\colorcolumn
在表格格式中将 用作第一列。另请注意,我将其更改\mulrirow{2}{*}{...}
为,\mulrirow{-2}{*}{...}
以避免文本被颜色覆盖的问题。
\documentclass{book}
\usepackage{longtable,multirow,array}
\usepackage[table]{xcolor}
\usepackage{lipsum}% just to generate some text
\colorlet{WhiteC}{white}% to make the example compilable
\colorlet{GreenC}{blue!60}% to make the example compilable
\begin{document}
\begingroup
\footnotesize
\begin{longtable}[c]{|>{\columncolor{GreenC}}l|l|l|}
\caption[API da listagem de um docente]{API da listagem de um docente.} \label{relStruct}\\
\hline
\multicolumn{1}{|c|}{\cellcolor{GreenC}\textcolor{WhiteC}{\textbf{URL}}} & \multicolumn{2}{c|}{http://di76.di.fct.unl.pt:3007/people} \\ \hline
\multicolumn{1}{|c|}{\cellcolor{GreenC}\textcolor{WhiteC}{\textbf{Method}}}
& \multicolumn{2}{c|}{GET} \\ \hline
& start= & The number of the first person to return \\
\multirow{-2}{*}{\textcolor{WhiteC}{\textbf{QueryString}}} & end=
& The number of the last person to return \\ \hline
& \multicolumn{2}{c|}{200 OK \& XML (people/people+xml)} \\
\multirow{-2}{*}{\textcolor{WhiteC}{\textbf{Returns}}}
& \multicolumn{2}{c|}{404 Not Found} \\ \hline
\end{longtable}
\endgroup
\end{document}
没有footnotesize
环境;\footnotesize
是一个开关。我不明白为什么你要tabular
在;中使用环境,如果你的表格允许分页符,则longtable
使用;否则。我重新定义了颜色,并使我的代码可供所有人编译。longtable
tabular
GreenC
WhiteC
答案2
和多行当需要为单元格着色时,存在一些已知问题。我会在序言中定义,
\newcommand{\mycell}[2][c]{\begin{tabular}{@{}#1@{}}#2\end{tabular}}
\newcommand{\greencell}[1]{\textcolor{WhiteC}{\bfseries #1}\cellcolor{GreenC}}
并将表格写为
\begin{table}
\centering
\caption[API da listagem de um docente]{API da listagem de um docente.} \label{relStruct}
\medskip
\footnotesize
\begin{tabular}{|c|c|}
\hline
\greencell{URL} & http://di76.di.fct.unl.pt:3007/people \\
\hline
\greencell{Method}& GET \\
\hline
\greencell{QueryString} &
\mycell[l|l]{%
start= & The number of the first person to return \\
end= & The number of the last person to return} \\
\hline
\greencell{Returns} &
\mycell{200 OK \& XML (people/people+xml) \\
404 Not Found} \\
\hline
\end{tabular}
\end{table}
双行单元格作为 的参数输入\mycell
,它可以接收可选参数来表达您需要的“子表”类型。
您是否喜欢这种方法或\multirow
Gonzalo 解决方案中的方法取决于您的个人喜好。
答案3
\multirow{-n}{*}{...}
在第 n 行和每第 i 行(i=1..n)上使用。这解决了使用时不为后续行着色\rowcolor{color}
的问题。\rowcolor
\multirow
答案4
我遇到了类似的问题,但\multirow{-n}{*}{...}
对我来说不起作用。这-n
是主要部分。但是我使用了类似的格式来回答:
\begin{tabular}{ m{9cm} m{9cm} >{\columncolor{mygreen}}m{7.3cm} }
然后,对于多行,我将其放在最后一行,并能够使用下面的选项成功将文本向上移动。 表示内部文本的宽度为3
多少行。表示要将其向上移动多少。您可能不需要像 这么高的数字。2.8
35em
35
\multirow{3}{2.8in}[35em]{lots of text...}