如果没有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}