为什么表格环境的第一列与其余列不一致?

为什么表格环境的第一列与其余列不一致?

我想制作一张适合 A4 纸宽度的简单答题纸。为了在列之间留出一些空间,我指定了每列的宽度,以便稍后写下答案,方便评分。

我的问题是:为什么第一列位于顶部,偏离了其他列的对齐方式?它稍微偏离了其他列。

\documentclass[12pt, oneside, A4paper,final,leqno]{article}
\usepackage{amsmath, amssymb, latexsym, amscd, amsthm}
\usepackage{enumerate}
\usepackage[left=1.5cm,top=1.84cm,right=1.8cm,bottom=1.469cm,bindingoffset=0.05cm]{geometry}
\usepackage[mathscr]{eucal}
\usepackage{graphics, graphpap}
\usepackage{pstricks}
\usepackage{pst-eps}
\usepackage{pst-fill}
\usepackage{pst-grad}
\usepackage{pst-node} 
\usepackage{pst-plot}
\usepackage{pst-text}
\usepackage{pst-tree}
\usepackage{colortbl}
\usepackage{makeidx}
\makeindex
\usepackage{multicol,color}
\usepackage{indentfirst}
\renewcommand{\thefootnote}{}
\begin{document}

{\renewcommand{\arraystretch}{1.35752}
    \bigskip
    \begin{center}
    \begin{tabular}{m{2.58cm}m{2.58cm}m{2.58cm}m{2.58cm}m{2.58cm}m{2.58cm}}\\
    {\bf 1}\;\rule{1.362cm}{.4pt}&\;\;{\bf 6}\;\rule{1.362cm}{.4pt} &\;\;{\bf 11}\;\rule{1.362cm}{.4pt}&\;\;{\bf 16}\;\rule{1.362cm}{.4pt}&\;\;{\bf 21}\;\rule{1.362cm}{.4pt}&\;\;{\bf 26}\;\rule{1.362cm}{.4pt}\\
    {\bf 2}\;\rule{1.362cm}{.4pt}&\;\;{\bf 7}\;\rule{1.362cm}{.4pt} &\;\;{\bf 12}\;\rule{1.362cm}{.4pt}&\;\;{\bf 17}\;\rule{1.362cm}{.4pt}&\;\;{\bf 22}\;\rule{1.362cm}{.4pt}&\;\;{\bf 27}\;\rule{1.362cm}{.4pt}\\
    {\bf 3}\;\rule{1.362cm}{.4pt}&\;\;{\bf 8}\;\rule{1.362cm}{.4pt} &\;\;{\bf 13}\;\rule{1.362cm}{.4pt}&\;\;{\bf 18}\;\rule{1.362cm}{.4pt}&\;\;{\bf 23}\;\rule{1.362cm}{.4pt}&\;\;{\bf 28}\;\rule{1.362cm}{.4pt}\\
    {\bf 4}\;\rule{1.362cm}{.4pt}&\;\;{\bf 9}\;\rule{1.362cm}{.4pt} &\;\;{\bf 14}\;\rule{1.362cm}{.4pt}&\;\;{\bf 19}\;\rule{1.362cm}{.4pt}&\;\;{\bf 24}\;\rule{1.362cm}{.4pt}&\;\;{\bf 29}\;\rule{1.362cm}{.4pt}\\
    {\bf 5}\;\rule{1.362cm}{.4pt}&\;\;{\bf 10}\;\rule{1.362cm}{.4pt} &\;\;{\bf 15}\;\rule{1.362cm}{.4pt}&\;\;{\bf 20}\;\rule{1.362cm}{.4pt}&\;\;{\bf 25}\;\rule{1.362cm}{.4pt}&\;\;{\bf 30}\;\rule{1.362cm}{.4pt}
    \end{tabular}
    \end{center}
\end{document}

答案1

看起来您正在使用\;来插入一定量的空格。该\;指令通常专门用于数学模式。但有趣的是,您加载的许多包中的一个或多个允许在文本模式下使用此指令。但是,在文本模式下使用会产生一些不良副作用,您已经发现了其中之一。只需使用\;进行全局搜索和替换,对齐问题就会消失。\;\;$\;\;$

我忍不住发现您的表格中有许多重复的指令,而且您手动执行了大量格式化工作,而这些工作用 LaTeX 处理起来效率更高。下面是排版表格的另一种方法的建议;您会发现它只需要更少的指令即可。

在此处输入图片描述

\documentclass[12pt, oneside, A4paper,final,leqno]{article}
\usepackage[left=1.5cm,top=1.84cm,right=1.8cm,bottom=1.469cm,bindingoffset=0.05cm]{geometry}
\newcommand\myrule{$\;$\rule{1.362cm}{.4pt}}
\begin{document}

\begin{table}[h!]
\renewcommand{\arraystretch}{1.36}  %% "1.35752" seems speciously accurate
\setlength\tabcolsep{0pt}  % let LaTeX figure out the amount of inter-column whitespace
    \begin{tabular*}{\textwidth}{l @{\extracolsep{\fill}} lllll}
    \textbf{1}\myrule & \textbf{6}\myrule & \textbf{11}\myrule & \textbf{16}\myrule & \textbf{21}\myrule & \textbf{26}\myrule\\
    \textbf{2}\myrule & \textbf{7}\myrule & \textbf{12}\myrule & \textbf{17}\myrule & \textbf{22}\myrule & \textbf{27}\myrule\\
    \textbf{3}\myrule & \textbf{8}\myrule & \textbf{13}\myrule & \textbf{18}\myrule & \textbf{23}\myrule & \textbf{28}\myrule\\
    \textbf{4}\myrule & \textbf{9}\myrule & \textbf{14}\myrule & \textbf{19}\myrule & \textbf{24}\myrule & \textbf{29}\myrule\\
    \textbf{5}\myrule & \textbf{10}\myrule & \textbf{15}\myrule & \textbf{20}\myrule & \textbf{25}\myrule & \textbf{30}\myrule\\
\end{tabular*}
\end{table}
\end{document} 

答案2

我不确定你的目的,但是你手动定义的列大小比内容更宽,这尤其显示在右侧。

只需使用r列,也许增加列间空间,就像我下面做的那样。

\documentclass[12pt]{article}
\usepackage[left=1.5cm,top=1.84cm,right=1.8cm,bottom=1.469cm,bindingoffset=0.05cm,showframe]{geometry}
\usepackage{array}

\newcommand{\qrule}{~\rule{1.362cm}{.4pt}}

\begin{document}

\noindent
X\dotfill X

\begin{center}
\renewcommand{\arraystretch}{1.35752}
\addtolength{\tabcolsep}{3pt}

\begin{tabular}{@{}*{6}{r}@{}}
\textbf{1}\qrule&\textbf{6}\qrule &\textbf{11}\qrule&\textbf{16}\qrule&\textbf{21}\qrule&\textbf{26}\qrule\\
\textbf{2}\qrule&\textbf{7}\qrule &\textbf{12}\qrule&\textbf{17}\qrule&\textbf{22}\qrule&\textbf{27}\qrule\\
\textbf{3}\qrule&\textbf{8}\qrule &\textbf{13}\qrule&\textbf{18}\qrule&\textbf{23}\qrule&\textbf{28}\qrule\\
\textbf{4}\qrule&\textbf{9}\qrule &\textbf{14}\qrule&\textbf{19}\qrule&\textbf{24}\qrule&\textbf{29}\qrule\\
\textbf{5}\qrule&\textbf{10}\qrule &\textbf{15}\qrule&\textbf{20}\qrule&\textbf{25}\qrule&\textbf{30}\qrule
\end{tabular}

\end{center}
\end{document}

showframe选项仅用于显示类型块的边界。请注意,\qrule该选项的定义可避免繁琐的输入,并允许快速更改宽度。我删除了全部 \;命令。

@{}还请注意删除两端列间空格的两条指令。

在此处输入图片描述

相关内容