![超过 4 个级别的轮廓与轮廓包](https://linux22.com/image/470785/%E8%B6%85%E8%BF%87%204%20%E4%B8%AA%E7%BA%A7%E5%88%AB%E7%9A%84%E8%BD%AE%E5%BB%93%E4%B8%8E%E8%BD%AE%E5%BB%93%E5%8C%85.png)
我outlines
经常使用这个软件包。今天我第一次需要一个有 5 个或 6 个级别的大纲。但结果却不行。
这文档很明显,四个级别确实是极限 --- 但在这种情况下我需要更多,所以我想知道是否有一种简单的方法来改变它。
因为我很着急,所以我会很感激一个能够以正确的外观破解某些东西的答案,但从长远来看,我真的想要一种方法来添加像\5
,这样的命令\6
,以便按照用户期望的方式\7
工作。outlines
这是一个最小的无法运行的例子。错误在于这\5
是一个未定义的控制序列。
\documentclass{article}
\usepackage{outlines}
% I like each level to just bullet points instead of alternating bullets and dashes
\renewcommand{\labelitemi}{$\bullet$}
\renewcommand{\labelitemii}{$\bullet$}
\renewcommand{\labelitemiii}{$\bullet$}
\renewcommand{\labelitemiv}{$\bullet$}
% there is no \labelitemv command
\begin{document}
\begin{outline}
\1 hello at level 1
\2 hello at level 2
\3 hello at level 3
\4 hello at level 4
\5 oops this is an error
\end{outline}
\end{document}
答案1
另一种选择可能是易清单,没有四级限制。列表规范使用重复字符来确定级别。下面我定义了一个带有项目符号和缩进的类似 itemize 的列表样式:
\documentclass{article}
\usepackage[at]{easylist}
\NewList(%
Hide=1000,Progressive*=1em,Hang=true,%
Style*=$\bullet$\hskip.6em)
\begin{document}
\begin{easylist}
@ hello at level 1
@@ hello at level 2
@@@ hello at level 3
@@@@ hello at level 4
@@@@@ not an error anymore
@@@@@@ level 6
\end{easylist}
\end{document}
结果:
如果有点麻烦(例如设置类别代码),您还可以定义\1
等\2
:
\documentclass{article}
\usepackage[at]{easylist}
\NewList(%
Hide=1000,Progressive*=1em,Hang=true,%
Style*=$\bullet$\hskip.6em)
\xdef\AtCatcode{\number\catcode`@}
\catcode`@=\active
\def\1{@}
\def\2{@@}
\def\3{@@@}
\def\4{@@@@}
\def\5{@@@@@}
\def\6{@@@@@@}
\catcode`@=\AtCatcode
\begin{document}
\begin{easylist}
\1 hello at level 1
\2 hello at level 2
\3 hello at level 3
\4 hello at level 4
\5 not an error anymore
\6 level 6
\end{easylist}
\end{document}
easylist 的一个限制是你不能在列表项中使用列表符号(在列表之外它可以正常工作),因此例如@@@ item with an @ character
或\3 item with an @ character
不起作用。该包提供了一些其他字符可供选择,如 ¶ 和 §,这些字符可能从未使用过或很容易避免,但它们很难输入。但是,使用定义 等方法,\1
你\2
可以绕过这个困难,同时仍然降低触发限制的机会。例如对于 ¶(段落标记,字符代码b6
):
\documentclass{article}
\usepackage[pilcrow]{easylist}
\NewList(%
Hide=1000,Progressive*=1em,Hang=true,%
Style*=$\bullet$\hskip.6em)
\xdef\PilcrowCatcode{\number\catcode`^^b6}
\catcode`^^b6=\active
\def\1{^^b6}
\def\2{^^b6^^b6}
\def\3{^^b6^^b6^^b6}
\def\4{^^b6^^b6^^b6^^b6}
\def\5{^^b6^^b6^^b6^^b6^^b6}
\def\6{^^b6^^b6^^b6^^b6^^b6^^b6}
\catcode`^^b6=\PilcrowCatcode
\begin{document}
\begin{easylist}
\1 hello at level 1
\2 hello at level 2
\3 hello at level 3
\4 hello at level 4
\5 not an error anymore
\6 sixth level
\end{easylist}
\end{document}