类似多行描述的环境

类似多行描述的环境

我正在尝试创建以下类似列表(description)的环境(不幸的是,我还没有任何 MWE...):

    'left' part        'counter'  'right' part

       Some label textA   1.1.    Description of label textA
Some longer label textA           Description of longer label textA
       Some label textB   1.2.    Description of label textB
Some longer label textB           Description of longer label textB

'Counter'enumerate类似于计数器,左/右部分是多行文本(右/左对齐),其中 'left' 部分的宽度是固定的。所有文本都不同,并且此环境在文档中多次使用。

我尝试使用包定义这样的环境enumitem,但没有成功;(

非常感谢您的任何帮助或想法!

此致,

卢博斯

答案1

您可以按照以下方式进行操作。以下定义定义了一个环境descenum和一个\descenumitem要使用的命令,如下所示:

\begin{descenum}
\descenumitem{...label1...}{...description1...} 
\descenumitem{...label2...}{...description2...}
...
\end{descenum}

将以下几行添加到你的序言中。

\newcounter{descenum}
\renewcommand\thedescenum{\arabic{section}.\arabic{descenum}}
\newlength\descenumwidth
\newenvironment{descenum}[1][0.3\linewidth]%
  {\setcounter{descenum}{0}%
   \setlength\descenumwidth{#1}%
   \parindent0mm%
   \medskip
  }%
  {}
\newcommand\descenumitem[2]%
  {\refstepcounter{descenum}%
   \par
   \parbox[t]{\descenumwidth}{\raggedleft#1}%
   \makebox[3em]{\thedescenum}%
   \parbox[t]{\dimexpr\linewidth-\descenumwidth-3em}{#2}%
   \bigskip
   \par
  }

环境descenum有一个可选参数,用于指定左列的宽度。默认值为0.3\linewidth。您也可以使用\label以符号形式引用项目。

在此处输入图片描述

\documentclass{article}
\newcounter{descenum}
\renewcommand\thedescenum{\arabic{section}.\arabic{descenum}}
\newlength\descenumwidth
\newenvironment{descenum}[1][0.3\linewidth]%
  {\setcounter{descenum}{0}%
   \setlength\descenumwidth{#1}%
   \parindent0mm%
   \medskip
  }%
  {}
\newcommand\descenumitem[2]%
  {\refstepcounter{descenum}%
   \par
   \parbox[t]{\descenumwidth}{\raggedleft#1}%
   \makebox[3em]{\thedescenum}%
   \parbox[t]{\dimexpr\linewidth-\descenumwidth-3em}{#2}%
   \bigskip
   \par
  }
\usepackage{lipsum}
\begin{document}
\section{First section}
\lipsum[2]
\begin{descenum}
\descenumitem
  {Some label textA\\Some longer label textA%
   \label{xxx}%
  }%
  {Description of label textA\\Description of longer label textA}
\descenumitem
  {Some label textB\\Some longer label textB%
  \label{yyy}%
  }%
  {Description of label textB\\Description of longer label textB}
\end{descenum}
\lipsum[2]
See items \ref{xxx} and \ref{yyy}.

\section{Second section}
\lipsum[2]
\begin{descenum}[0.4\linewidth]
\descenumitem
  {Some label textA\\Some longer label textA}%
  {Description of label textA\\Description of longer label textA}
\descenumitem
  {Some label textB\\Some longer label textB}%
  {Description of label textB\\Description of longer label textB}
\end{descenum}
\end{document}

相关内容