我想写一些可以用于多级项目符号的内容,例如:
一、标题
字幕
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