完美对齐 tabularx 中的单元格顶部

完美对齐 tabularx 中的单元格顶部

使用以下代码:

\documentclass[a4paper,twocolumn]{article}
\usepackage{xskak,adjustbox}
\usepackage{lipsum}
\usepackage{tabularx}
\usepackage{parskip}

\begin{document}

\lipsum[5]

\begingroup\setlength{\fboxsep}{0pt}
\colorbox{lightgray}{%
\begin{tabularx}{\linewidth}{p{0.5\linewidth}@{\extracolsep{\fill}}p{0.46\linewidth}@{}}%
\adjustbox{valign=t,width=0.85\linewidth}{\chessboard[setfen=8/8/5K2/2p3Bk/2P1R3/8/8/8 b - - 0 1,tinyboard,margin=false]} & \footnotesize{\lipsum[5]} 
\end{tabularx}}
\endgroup

\lipsum[5]

\lipsum[5]

\lipsum[5]

\end{document}

我得到以下结果:

结果

正如您所看到的,文本并没有与左侧的棋盘完全对齐……它稍微向下移动了……

我想将棋盘的顶部与右侧文本的顶部完美对齐,但我做不到......你能帮帮我吗?

谢谢你!

答案1

我将使用基于两个嵌套小页面的解决方案,并排放置,并且都设置为顶部对齐。adjustbox这是一个非常方便的宏,它可以正确设置图像基线,但必须通过重新定义来进行纠正adjboxvtop

这是代码。请注意,我在 中添加了一个小填充colorbox

\documentclass[a4paper,twocolumn]{article}
\usepackage{xskak,adjustbox}
\usepackage{lipsum}
\usepackage{parskip}

\renewcommand{\adjboxvtop}{1ex}


\begin{document}
\lipsum[5]

\begingroup
\setlength{\fboxsep}{3pt}
\colorbox{lightgray}{%
  \begin{minipage}{\dimexpr\linewidth-2\fboxsep}
    \begin{minipage}[t]{0.5\linewidth}
      \hspace{0.5em}%
      \adjustbox{width=0.8\linewidth,valign=t}{%
        \chessboard[%
          setfen=8/8/5K2/2p3Bk/2P1R3/8/8/8 b - - 0 1,
          tinyboard,
          margin=false,
        ]}
    \end{minipage}%
    \hfill
    \begin{minipage}[t]{0.46\linewidth}
      \footnotesize
      \lipsum[5]
    \end{minipage}
  \end{minipage}}
\endgroup

\lipsum[5]

\lipsum[5]

\lipsum[5]

\end{document}

在此处输入图片描述

相关内容