自定义 itemize 的字体大小

自定义 itemize 的字体大小

我正在制作一份要打印的清单,用户可以在打印的纸上检查他们的答案。为此,我使用了itemize\renewcommand{\labelitemi}{\Box}\renewcommand{\labelitemii}{\Box}...,效果很好。

我现在想要的是让项目、子项目和子子项目的大小不同,这样层次越高,字体越大。由于我有很多东西要检查,所以我不想在 latex 文档中指定每一行,但希望使用或\renewcommand{\itemi}{something}类似的东西。

这可能吗?

答案1

定义您自己的itemize环境,使用正常的环境,但首先更改字体大小。该relsize包为您提供了方便的\smaller\larger

这将使每一级的字体大小都减小一级。

\usepackage{relsize}

\newenvironment{xitemize}{%
    \smaller
    \itemize
}{%
    \enditemize
}

这会使第一层比文本小。如果不想这样,请更改\smaller\ifnum\csname @itemdepth\endcsname=0\else\smaller\fi

如果您想itemize在文档中保留名称,请使用:

\let\olditemize\itemize
\let\endolditemize\enditemize
\renewenvironment{itemize}{%
    \smaller
    \olditemize
}{%
    \endolditemize
}

您可以定义自己的一组例如\fontitemi、、\fontitemii...宏:

\makeatletter
\newenvironment{xitemize}{%
    \@nameuse{fontitem\romannumeral\the\@itemdepth}
    \itemize
}{%
    \enditemize
}
\makeatother
\newcommand{\fontitem}{\Huge}
\newcommand{\fontitemi}{\Large}
\newcommand{\fontitemii}{\large}
\newcommand{\fontitemiii}{\normalsize}
\newcommand{\fontitemiv}{\small}

相关内容