\documentclass{article}
\usepackage{tabularx,multirow,booktabs}
\begin{document}
\begin{table}[htbp]
\centering
%\begin{tabularx}{\columnwidth}{@{}XXX@{}}% results the problem
\begin{tabularx}{\columnwidth}{XXX@{}}
\toprule
\multicolumn{2}{l}{Integrated QoS classes} & Applications example\\
\toprule
\multicolumn{2}{l}{Interactive Voice} & VoIP Call\\
\hline
\multirow{2}{*}{Interactive Video} & Real-time Interactive & Online Gaming\\
& Multimedia conferencing & Video Call\\
\hline
\multirow{2}{*}{Streaming Video} & Broadcast video & Enterprise TV\\
& Multimedia streaming & IP/TV, Video\\
\hline
\multicolumn{2}{l}{Interactive (transactional) data} & Low latency data ERP application\\
\hline
\multicolumn{2}{l}{Bulk data ( background application )} & High throughput data FTP, e-mail, video contain distribution\\
\hline
\multicolumn{2}{l}{Best effort} & HTTP web browsing, Others\\
\bottomrule
\end{tabularx}
\caption{Integrated QoS classes}%Different application type
\label{QoS classs}
\end{table}
\end{document}
从右侧移除垂直边缘不会产生任何问题。输出如下 -
但是当我想从左侧移除垂直边缘时,第一列没有对齐。
\begin{tabularx}{\columnwidth}{@{}XXX@{}}
答案1
如果你将第一列规范为,@{}X
那么你需要在任何多列规范中遵循该规范
\multicolumn{2}{l}
覆盖@{}X
不是l
你想要的,使用
\multicolumn{2}{@{}l}
类似地,如果你有任何多列跨度以最后一列结尾,它们不l@{}
应该l
答案2
这解决了这个问题,我认为在每行的第一列添加@{}就可以了
\documentclass{文章} \usepackage{tabularx,multirow,booktabs} \开始{文档} \开始{表格}[htbp] \定心 \begin{tabularx}{\columnwidth}{@{}XXX@{}}% 结果问题 % \begin{tabularx}{\columnwidth}{XXX@{}} \toprule \multicolumn{2}{@{}l}{集成 QoS 类} 和应用程序示例\\ \toprule \multicolumn{2}{@{}l}{交互式语音} 和 VoIP 通话\\ \hline \multicolumn{1}{@{}l}{\multirow{2}{*}{互动视频}} 和实时互动及在线游戏\\ & 多媒体会议 & 视频通话\\ \hline \multicolumn{1}{@{}l}{\multirow{2}{*}{流媒体视频}} & 广播视频 & 企业电视\\ & 多媒体流 & IP/TV、视频\\ \hline \multicolumn{2}{@{}l}{交互式(交易)数据}和低延迟数据 ERP 应用程序\\ \hline \multicolumn{2}{@{}l}{批量数据(后台应用程序)} & 高吞吐量数据 FTP、电子邮件、视频包含分发\\ \hline \multicolumn{2}{@{}l}{尽力而为} & HTTP 网页浏览,其他\\ \底部规则 \结束{tabularx} \caption{集成的 QoS 类}%不同的应用程序类型 \label{QoS 类别} \茶几} \结束{文档}