使用 lualatex、enumitem、自定义列表和非常大的字体进行警告

使用 lualatex、enumitem、自定义列表和非常大的字体进行警告

我正在使用一个自定义列表来按压垂直空间(请参阅此问题的答案问题)。它一直运行良好,直到我最近尝试通过 scrextend 使用一些非常大的字体。现在我收到以下警告(输出看起来不错):

Package enumitem Warning: Negative labelwidth. This does not make much
(enumitem)                sense, on input line 24.

我一直在查看 enumitem 文档,但没有看到如何获得负的标签宽度。

我怎样才能消除警告?

以下是演示警告的 MWE。我使用 lualatex 进行编译。

\documentclass{article}
\usepackage{lmodern} % or other scalable font

% without this, there is no warning:
\usepackage[paperwidth=20in,paperheight=10in]{geometry}
\usepackage{scrextend}
\changefontsizes[64pt]{50pt}

\makeatletter
\usepackage{enumitem}
\newlist{mylist}{itemize}{4}
\setlist[mylist]{label=\textbullet,leftmargin=1.8em,%
  nolistsep,labelsep=1em,%
  topsep=-\parskip, after*={\@topsepadd\parskip}}
\makeatother

\begin{document}
\begin{mylist}
  \item[A] Outer top
    \begin{mylist}
      \item[B] Inner top
      \item[B'] Inner bottom
    \end{mylist}
  \item[A'] Outer bottom
\end{mylist}
\end{document}

答案1

您可以enumitem计算labelwidthlabelwidth=*

\documentclass{article}

% without this, there is no warning:
\usepackage[paperwidth=20in,paperheight=10in]{geometry}
\usepackage{scrextend}
\changefontsizes[64pt]{50pt}

\makeatletter
\usepackage{enumitem}
\newlist{mylist}{itemize}{4}
\setlist[mylist]{label=\textbullet,leftmargin=1.8em,%
  nolistsep,labelsep=1em,labelwidth=*,%
  topsep=-\parskip, after*={\@topsepadd\parskip}}
\makeatother

\begin{document}
\setlength\parskip{0.5\baselineskip}%

\begin{mylist}
  \item[A] Outer top
    \begin{mylist}
      \item[B] Inner top
      \item[B'] Inner bottom
    \end{mylist}
  \item[A'] Outer bottom
\end{mylist}
\end{document}

在此处输入图片描述

相关内容