问题:我正在处理一个简单的表格,我发现其中的一些文本没有居中(垂直)对齐。我该如何解决这个问题?
梅威瑟:
\documentclass[12pt]{article}
\usepackage[
a4paper,top=1in,bottom=1in,left=0.7in,right=0.7in,headheight=14.5pt,]{geometry}
\usepackage[utf8]{inputenc}
\usepackage[misc]{ifsym}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{mathtools}
\usepackage{amssymb}
\usepackage{forest}
\usepackage{tikz}
\usepackage{tkz-euclide}
\usetkzobj{all}
\usetikzlibrary{intersections}
\begin{document}
\large
\begin{center}
\begin{tabular}{|c|c|}
\hline
Question & Answer \\ \hline
$1$ & $A$ \\\hline
$2$ & $B$ \\\hline
$3$ & $C$ \\\hline
$4$ & $D$ \\\hline
$5$ & $A$ \\\hline
$6$ & $B$ \\\hline
$7$ & $D$ \\ \hline
\end{tabular}
\end{center}
\end{document}
答案1
\documentclass[12pt]{article}
\usepackage[a4paper,
vmargin=1in, hmargin.7in,
headheight=14.5pt,]{geometry}
%\usepackage[utf8]{inputenc} load by article
\usepackage[misc]{ifsym}
\usepackage{mathtools} % load msmath
\usepackage{amssymb} % load amsfonts
\usepackage{forest}
\usepackage{tikz}
\usetikzlibrary{intersections}
\usepackage{tkz-euclide}
\usetkzobj{all}
\begin{document}
\large
\begin{center}
\setlength\extrarowheight{2pt}
\begin{tabular}{|c|c|}
\hline
Question & Answer \\ \hline
$1$ & $A$ \\\hline
$2$ & $B$ \\\hline
$3$ & $C$ \\\hline
$4$ & $D$ \\\hline
$5$ & $A$ \\\hline
$6$ & $B$ \\\hline
$7$ & $D$ \\ \hline
\end{tabular}
\end{center}
\end{document}
请注意,如果您在文本中使用字母 g、y、j、f,则垂直居中在视觉上会有所不同。换句话说,如果您考虑上述字母,文本现在已经垂直居中。
答案2
在您的代码中您正在使用C作为不支持换行的列定义。这意味着行高不会超过一行,因此垂直对齐可以忽略不计。
如果使用支持换行的 p{...} 固定列宽,可以使用以下方法解决此问题:大批包装和我{...}用于列定义。
\documentclass[12pt]{article}
\usepackage[
a4paper,top=1in,bottom=1in,left=0.7in,right=0.7in,headheight=14.5pt,]{geometry}
\usepackage[utf8]{inputenc}
\usepackage{array}
\begin{document}
\begin{tabular}{|m{3cm}|m{3cm}|}
\hline
Question & Answer \\ \hline
question & answer answer answer answer answer \\ \hline
\end{tabular}
\end{document}