我该如何解决这个表格问题。它切断了一部分垂直线。
\documentclass{article}
\usepackage{amsmath}
\usepackage{array}
\usepackage[italian]{babel}
\usepackage{float}
\begin{document}
\begin{table}[H]
\centering
\begin{tabular}{>{\centering}m{0.22\textwidth}|>{\centering}m{0.20\textwidth}|>{\centering}m{0.20\textwidth}|>{\centering}m{0.20\textwidth}}
& $x=10$ & $x=100$ & $x=1000$\tabularnewline[0.2em]
\hline \\
$y=\log_{10}x$ & $1$ & $2$ & $3$\tabularnewline[0.5em]
$y=x^2$ & $10^2$ & $10^4$ & $10^6$\tabularnewline[0.5em]
$y=10^x$ & $10^{10}$ & $10^{100}$ & $10^{1000}$
\end{tabular}
\end{table}
\end{document}
答案1
您应该按照 David Carlisle 在评论中的建议删除\\
after \hline
。如果您想在第一条水平线后添加一些垂直空间,您可以按照Mico 的这个回答把这两个结合起来,代码如下:
\documentclass{article}
\usepackage{amsmath}
\usepackage{array}
\newcommand\Tstrut{\rule{0pt}{2.6ex}} % = `top' strut
\usepackage[italian]{babel}
\usepackage{float}
\begin{document}
\begin{table}[H]
\centering
\begin{tabular}{>{\centering}m{0.22\textwidth}|>{\centering}m{0.20\textwidth}|>{\centering}m{0.20\textwidth}|>{\centering}m{0.20\textwidth}}
& $x=10$ & $x=100$ & $x=1000$\tabularnewline[0.2em]
\hline
$y=\log_{10}x$\Tstrut & $1$\Tstrut & $2$\Tstrut & $3$\Tstrut\tabularnewline[0.5em]
$y=x^2$ & $10^2$ & $10^4$ & $10^6$\tabularnewline[0.5em]
$y=10^x$ & $10^{10}$ & $10^{100}$ & $10^{1000}$
\end{tabular}
\end{table}
\end{document}
答案2
你的问题\hline\\
是
\hline &&& \\[-1.5ex]
(试验该值)。一般来说,最好使用ex
单位来表示垂直间距。
我建议对该表格进行三种实现,按丑陋程度递减的顺序排列。
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[italian]{babel}
\usepackage{amsmath}
\usepackage{array}
\usepackage{booktabs}
\begin{document}
\begin{center}
\begin{tabular}{
w{c}{0.22\textwidth}|
w{c}{0.20\textwidth}|
w{c}{0.20\textwidth}|
w{c}{0.20\textwidth}
}
& $x=10$ & $x=100$ & $x=1000$ \\
\hline
&&&\\[-1.5ex]
$y=\log_{10}x$ & $1$ & $2$ & $3$ \\[1ex]
$y=x^2$ & $10^2$ & $10^4$ & $10^6$ \\[1ex]
$y=10^x$ & $10^{10}$ & $10^{100}$ & $10^{1000}$
\end{tabular}
\end{center}
\begin{center}
\begin{tabular*}{\textwidth}{@{\extracolsep{\fill}}cccc@{}}
\toprule
& $x=10$ & $x=100$ & $x=1000$ \\
\midrule
$y=\log_{10}x$ & $1$ & $2$ & $3$ \\
\addlinespace
$y=x^2$ & $10^2$ & $10^4$ & $10^6$ \\
\addlinespace
$y=10^x$ & $10^{10}$ & $10^{100}$ & $10^{1000}$ \\
\bottomrule
\end{tabular*}
\end{center}
\begin{center}
\setlength{\tabcolsep}{1em}
\begin{tabular}{@{}lccc@{}}
\toprule
Funzione & \multicolumn{3}{c@{}}{Valore di $x$} \\
\cmidrule{2-4}
& $10$ & $100$ & $1000$ \\
\midrule
$y=\log_{10}x$ & $1$ & $2$ & $3$ \\
\addlinespace
$y=x^2$ & $10^2$ & $10^4$ & $10^6$ \\
\addlinespace
$y=10^x$ & $10^{10}$ & $10^{100}$ & $10^{1000}$ \\
\bottomrule
\end{tabular}
\end{center}
\end{document}
避免[H]
;如果没有标题,center
环境就足够了。如果有标题,让环境浮动。
我保留了“y=”,但我认为它的数学用法很糟糕。
答案3
\documentclass{article}
\usepackage{amsmath}
\usepackage{array}
\usepackage[italian]{babel}
\usepackage{float}
\begin{document}
\begin{table}[H]
\centering
\begin{tabular}{>{\centering}m{0.22\textwidth}|>{\centering}m{0.20\textwidth}|>{\centering}m{0.20\textwidth}|>{\centering}m{0.20\textwidth}}
& $x=10$ & $x=100$ & $x=1000$\tabularnewline[0.2em]\hline
& & &\tabularnewline[0.2em]
$y=\log_{10}x$ & $1$ & $2$ & $3$\tabularnewline[0.5em]
$y=x^2$ & $10^2$ & $10^4$ & $10^6$\tabularnewline[0.5em]
$y=10^x$ & $10^{10}$ & $10^{100}$ & $10^{1000}$
\end{tabular}
\end{table}
\end{document}
答案4
您不能\\
在 后面放置\hline
。如果您想在 后面添加空格\hline
,您可以添加\noalign{\vskip1mm}
。这会破坏垂直规则。但是,如果您使用{NiceTabular}
而不是{tabular}
,则不会破坏规则(使用nicematrix
,规则是在构造数组后使用 PGF/Tikz 绘制的)。
\documentclass{article}
\usepackage{amsmath}
\usepackage{array}
\usepackage[italian]{babel}
\usepackage{float}
\usepackage{nicematrix}
\begin{document}
\begin{table}[H]
\centering
\begin{NiceTabular}{>{\centering}m{0.22\textwidth}|>{\centering}m{0.20\textwidth}|>{\centering}m{0.20\textwidth}|>{\centering}m{0.20\textwidth}}
& $x=10$ & $x=100$ & $x=1000$\tabularnewline[0.2em]
\hline
\noalign{\vskip1mm}
$y=\log_{10}x$ & $1$ & $2$ & $3$\tabularnewline[0.5em]
$y=x^2$ & $10^2$ & $10^4$ & $10^6$\tabularnewline[0.5em]
$y=10^x$ & $10^{10}$ & $10^{100}$ & $10^{1000}$
\end{NiceTabular}
\end{table}
\end{document}
您需要多次编译(因为nicematrix
在后台使用 PGF/Tikz 节点)。