删除表格中垂直线的间隙

删除表格中垂直线的间隙

我该如何解决这个表格问题。它切断了一部分垂直线。

\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 节点)。

上述代码的输出

相关内容