物品标签定位问题

物品标签定位问题

如果没有minipage,我会将项目放到我想要的位置,但标签 (foo) 会垂直居中,而我希望它与第一行垂直对齐。而使用\\,项目的位置会改变,标签会太高。我该如何做才能正确?

\documentclass{report}
\usepackage{enumitem}
\usepackage{lipsum}
\usepackage[showframe]{geometry}
\ProvideDocumentEnvironment
{sbs}
{+b}
{\begin{tabular*}
   {\textwidth}{
   @{}
   p{.45\textwidth}
   @{\extracolsep{1em}}
   p{.45\textwidth}
   @{}}#1}
   {\end{tabular*}}

\begin{document}

\begin{description}
  [nosep,
  align=right,
  labelindent=-1pt,
  labelsep=1pt%,
%  topsep=0pt,
%  parsep=0pt,
%  partopsep=0pt,
%  itemsep=0pt
  ]
\item[foo]%\begin{minipage}[b]{\linewidth}\end{minipage}\\
  \begin{sbs}
    \lipsum[1][1] & \lipsum[1][2]\\
    \lipsum[1][3] & \lipsum[1][4]
  \end{sbs}
\end{description}

\end{document}

在此处输入图片描述

在此处输入图片描述

答案1

太长了,无法发表评论...

目前还不清楚你想在你的 中实现什么description。如果你喜欢环境中的第一行文本sbs与项目标签对齐,那么一个可能的简单解决方案是:

\documentclass{report}
\usepackage[showframe]{geometry}
\usepackage{enumitem}
\usepackage{lipsum}
\ProvideDocumentEnvironment{sbs}{+b}
{\begin{tabular*}{\textwidth}[t]    % see added [t]
        {@{} p{.45\textwidth} @{\extracolsep{1em}} p{.45\textwidth} @{}}
   #1
}
{\end{tabular*}
}
 
\begin{document}

\begin{description}
  [nosep,
  align=right,
  labelindent=-1pt,
  labelsep=1pt%,
  ]
\item[foo]
  \begin{sbs}
    \lipsum[1][1] & \lipsum[1][2]\\
    \lipsum[1][3] & \lipsum[1][4]
  \end{sbs}
\end{description}

\end{document}

在此处输入图片描述

相关内容