为什么我需要在自定义列描述末尾添加第二个 |

为什么我需要在自定义列描述末尾添加第二个 |

我最近刚发过帖子,它被标记为重复,我犯的很多错误都得到了纠正。现在,更新了一个问题和背景

我刚刚注意到的一个问题是 tikzpicture 没有位于表格中的小页面的中心。我该如何解决这个问题?

使用下面的代码,我注意到我需要在列定义末尾添加第二个 |。如果不这样做,那么我就没有正确的列线。不知道为什么?

此外,我想知道是否有办法将 tikzpicture 的 minipage 环境的填充和左/右方程列对设置为相同,这样就不必手动控制表格大小?

上下文:我正在尝试制作一个两列表格,左侧是 tikzpicture,右侧是等式,在等号处对齐。利用12, 和3,我得出以下结论:

\documentclass{article}
\usepackage{tikz,array,longtable,calc} % Not 100% sure if I actually need calc?
\newcolumntype{M}[1]
{
    >{
        \begin{minipage}{#1\textwidth-1.5\arrayrulewidth-2\tabcolsep}
        \vspace{\tabcolsep}
        \centering
    }
    c
    <{
        \vspace{\tabcolsep}
        \end{minipage}
    }
}
\newcolumntype{A}[1]
{%
    >{$}
        r
    <{$}
    @{\extracolsep{0pt}}
    >{${}}
        l
    <{$}
}%
\begin{document}
\begin{longtable}{| M{0.22} | A ||}
\hline
    \begin{tikzpicture}[baseline=(current bounding box.center)]
        \draw [gray] (0,0) circle (15pt);
        \filldraw [gray] (0,0) circle (1pt);
        \draw [gray] (37.5pt,0) circle (15pt);
        \filldraw [gray] (37.5pt,0) circle (1pt);
    \end{tikzpicture} & \underline{2r_c \sin \left( ^{\pi} \!/ _{n_k} \right)}  &\geq  2r_f + R_1 r_f 
    \tabularnewline
\hline
    \begin{tikzpicture} [baseline=(current bounding box.center)]
        \draw [gray] (0,0) circle (15pt);
        \filldraw [gray] (0,0) circle (1pt);
        \draw [gray] (30pt,0) circle (15pt);
        \filldraw [gray] (30pt,0) circle (1pt);
    \end{tikzpicture} & 2r_c \sin \left( ^{\pi} \!/ _{n_k} \right)  &\leq   2r_f+\underline{R_1 r_f} \tabularnewline
\hline
    \begin{tikzpicture} [baseline=(current bounding box.center)]
        \draw [gray] (0,0) circle (15pt);
        \filldraw [gray] (0,0) circle (1pt);
        \draw [gray] (22.5pt,0) circle (15pt);
        \filldraw [gray] (22.5pt,0) circle (1pt);
    \end{tikzpicture} & 2r_c \sin \left( ^{\pi} \!/ _{n_k} \right)  &<   \underline{2r_f}+R_1 r_f \tabularnewline
\hline
    \begin{tikzpicture} [baseline=(current bounding box.center)]
        \draw [gray] (0,0) circle (15pt);
        \filldraw [gray] (0,0) circle (1pt);
        \draw [gray] (11.25pt,0) circle (15pt);
        \filldraw [gray] (11.25pt,0) circle (1pt);
    \end{tikzpicture} & 2r_c \sin \left( ^{\pi} \!/ _{n_k} \right)  &<   \underline{2r_f}+R_1 r_f \tabularnewline
\hline
\end{longtable}
\end{document}

答案1

你有

\newcolumntype{A}[1]

因此您的A列接受一个参数(第一个),但由于定义中|没有它,因此将其丢弃。#1

相关内容