我对表格垂直对齐有一个小问题。我有一个包含字母和文本的两列表格:
\begin{tabular}{p{0.1\textwidth} p{0.8\textwidth} }
Hypothèse & Description\\
\hline
但在我的 pdf 文件中,第一列和第二列没有对齐。我尝试将所有内容对齐到顶部,使用 \\[1ex] 插入空格,但似乎不起作用!
事实上,问题似乎来自我用来枚举字母的计数器:
\newcounter{hypothese}
\renewcommand\thehypothese{\Alph{hypothese}}
\newcommand{\newhypothese}[1]{\refstepcounter{hypothese}\label{#1} \ref{#1}}
\footnotesize
\begin{tabular}{p{0.1\textwidth} p{0.8\textwidth} }
Hypothèse & Description\\
\hline
\hspace{1pc}&\
\multicolumn{2}{p{\textwidth}}{\textbf{Multimodalité}} \\
A & Bla bla Bla blaBla blaBla blaBla blaBla blaBla blaBla blaBla blaBla blaBla bla Bla bla Bla bla\\
B &Bla bla Bla bla Bla bla Bla bla Bla bla Bla bla Bla bla Bla bla Bla bla Bla bla Bla bla Bla bla \\
C& Bla bla Bla bla Bla bla Bla bla Bla bla Bla bla Bla bla Bla bla Bla bla Bla bla Bla bla \\
D& Bla bla Bla bla Bla bla Bla bla Bla bla Bla bla Bla bla Bla bla Bla bla Bla bla \\
% Upon here, everything looks right... below here, first column are not aligned right.
\newhypothese{hypo:cla_ver} &Bla bla Bla bla Bla bla Bla bla Bla bla Bla bla \\
\newhypothese{hypo:com_acc_recoup} & Bla bla Bla bla Bla bla Bla bla Bla bla Bla bla Bla bla \\
\newhypothese{hypo:reg_negoc} & Bla bla Bla bla Bla bla Bla bla Bla bla Bla bla Bla bla Bla bla Bla bla \\
\newhypothese{hypo:reg_croise} & LBla bla Bla bla Bla bla Bla bla Bla bla Bla bla Bla bla Bla bla Bla bla Bla bla Bla bla Bla bla \\
\newhypothese{hypo:gest_reg_part} & Bla bla Bla bla Bla bla \\
\newhypothese{hypo:gest_verba} & Bla bla Bla bla Bla bla Bla bla Bla bla Bla bla Bla bla Bla bla Bla bla Bla bla Bla bla Bla bla Bla bla \\
\newhypothese{hypo:trace_graph_verba} & Bla bla Bla bla Bla bla \
但我不知道如何解决它
答案1
您可以从该套件中获益tabularx
,这样您就不必摆弄发行\label
和打印之间交互的细微之处\thehypothese
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[french]{babel}
\usepackage{tabularx,booktabs}
\newcounter{hypothese}
\renewcommand\thehypothese{\Alph{hypothese}}
\newcommand{\newhypothese}[1]{%
\refstepcounter{hypothese}\label{#1}\thehypothese}
\begin{document}
\noindent
\begin{tabularx}{\textwidth}{lX}
Hypothèse & Description\\
\midrule
\multicolumn{2}{l}{\textbf{Multimodalité}} \\
\newhypothese{hypo:cla_ver} &New hypothese: Bla bla Bla bla Bla bla Bla bla Bla bla Bla bla \\
\newhypothese{hypo:com_acc_recoup} & Bla bla Bla bla Bla bla Bla bla Bla bla Bla bla Bla bla \\
\newhypothese{hypo:reg_negoc} & Bla bla Bla bla Bla bla Bla bla Bla bla Bla bla Bla bla Bla bla Bla bla \\
\newhypothese{hypo:reg_croise} & LBla bla Bla bla Bla bla Bla bla Bla bla Bla bla Bla bla Bla bla Bla bla Bla bla Bla bla Bla bla \\
\newhypothese{hypo:gest_reg_part} & Bla bla Bla bla Bla bla \\
\newhypothese{hypo:gest_verba} & Bla bla Bla bla Bla bla Bla bla Bla bla Bla bla Bla bla Bla bla Bla bla Bla bla Bla bla Bla bla Bla bla \\
\newhypothese{hypo:trace_graph_verba} & Bla bla Bla bla Bla bla \\
\end{tabularx}
\end{document}
答案2
问题似乎出在这条命令没有以任何打印材料开头。特别是,\label
使用内部命令\@bsphack
和,\@espack
当命令处于普通文本(即水平模式)时,它们成功地吞噬了前后正确数量的空格,但在段落之间(即垂直模式)不一定能做正确的事情。(见source2e
第 52-53 页讨论这些命令的可能修改。)在许多情况下,包括您的情况,您可以通过强制水平模式来解决此问题\leavevmode
:
\documentclass{article}
\begin{document}
\newcounter{hypothese}
\renewcommand\thehypothese{\Alph{hypothese}}
\newcommand{\newhypothese}[1]{\leavevmode\refstepcounter{hypothese}\label{#1}\ref{#1}}
\begin{tabular}{p{0.1\textwidth} p{0.8\textwidth} }
Hypothèse & Description\\
\hline
\hspace{1pc}&\\
\multicolumn{2}{p{\textwidth}}{\textbf{Multimodalité}} \\
A &Ordinary label: Bla bla Bla blaBla blaBla blaBla blaBla blaBla blaBla blaBla blaBla blaBla bla Bla bla Bla bla\\
B &Bla bla Bla bla Bla bla Bla bla Bla bla Bla bla Bla bla Bla bla Bla bla Bla bla Bla bla Bla bla \\
\newhypothese{hypo:cla_ver} &New hypothese: Bla bla Bla bla Bla bla Bla bla Bla bla Bla bla \\
\newhypothese{hypo:com_acc_recoup} & Bla bla Bla bla Bla bla Bla bla Bla bla Bla bla Bla bla \\
\newhypothese{hypo:reg_negoc} & Bla bla Bla bla Bla bla Bla bla Bla bla Bla bla Bla bla Bla bla Bla bla \\
\newhypothese{hypo:reg_croise} & LBla bla Bla bla Bla bla Bla bla Bla bla Bla bla Bla bla Bla bla Bla bla Bla bla Bla bla Bla bla \\
\newhypothese{hypo:gest_reg_part} & Bla bla Bla bla Bla bla \\
\newhypothese{hypo:gest_verba} & Bla bla Bla bla Bla bla Bla bla Bla bla Bla bla Bla bla Bla bla Bla bla Bla bla Bla bla Bla bla Bla bla \\
\newhypothese{hypo:trace_graph_verba} & Bla bla Bla bla Bla bla \\
\end{tabular}
\end{document}
答案3
我找到了解决方案。只需替换
\newcommand{\newhypothese}[1]{\refstepcounter{hypothese}\label{#1} \ref{#1}}
经过
\newcommand{\newhypothese}[1]{\refstepcounter{hypothese}\thehypothese\label{#1}}
看起来很完美……我不知道为什么。无论如何,谢谢你