多级项目符号

多级项目符号

我想写一些可以用于多级项目符号的内容,例如:

一、标题

  1. 字幕

    a. 副标题

    ...

在 LaTex 中我得到了

 \def\startitems
 {
  \begingroup
  \parindent\z@
  \@itemdepth\@ne
  \@totalleftmargin\csname leftmargin\romannumeral\the\@itemdepth\endcsname
  \leftskip\@totalleftmargin
  \everypar
  {
    \llap{
      \makebox[\labelsep][l]
      {
        \csname labelitem\romannumeral\the\@itemdepth\endcsname
      }
    }
  }
  \obeylines
}

\def\stopitems
{
  \bottom
  \par
\endgroup
}
\def\up
{
  \par
  \begingroup
\advance\@itemdepth\@ne
\advance\@totalleftmargin\csname leftmargin\romannumeral\the\@itemdepth\endcsname
\leftskip\@totalleftmargin
}

\def\down
{
    \par
    \endgroup
}

\def\bottom
{
  \ifnum\@itemdepth>\@ne
    \down\bottom
  \fi
}

并且它运行良好,但我需要纯 TeX 格式,我不知道该怎么做。有人能帮我吗?

答案1

这接近您想要的吗?

\catcode`@=11
\newdimen\itemmargin
\itemmargin=3em
\newcount\itemdepth
\def\startitems{%
  \par
  \begingroup
  \advance\itemdepth\@ne
  \parindent\z@
  \csname item\romannumeral\itemdepth\endcsname\z@
  \advance\leftskip\itemmargin
  }
\def\stopitems{%
  \par
  \endgroup}

\def\itemd@pth{\romannumeral\itemdepth}
\newcount\itemi
\newcount\itemii
\newcount\itemiii
\def\labelitemi{\uppercase\expandafter{\romannumeral\itemi}.}
\def\labelitemii{\number\itemii.}
\def\labelitemiii{%
  \ifcase\itemiii\or
    a\or b\or c\or d\or e\or f\or g\or h\or i\or j\or k\or l\or m\or
    n\or o\or p\or q\or r\or s\or t\or u\or v\or w\or x\or y\or z\fi.}

\def\item{%
  \advance\csname item\itemd@pth\endcsname\@ne
  \par\leavevmode\llap{\csname labelitem\itemd@pth\endcsname\enspace}\ignorespaces
}

\catcode`@=12

\startitems
\item Something
  \startitems
  \item Second level
    \startitems
    \item Well
    \item done
    \stopitems
  \item Again second
  \stopitems
\item Back to first
\stopitems

\bye

在此处输入图片描述

相关内容