如果我有一个嵌套列表(基于 enumitem),例如:
\begin{itemize}
\item A
\item A
\item
\begin{enumerate}[nosep,leftmargin=3cm,labelsep=0pt]
\item B
\item K
\begin{itemize}
\item Z
\item P
\end{itemize}
\end{enumerate}
\end{itemize}
嵌套列表将采用父级的值,产生奇怪的结果,例如:
(查看 Z/P 与标签的接近程度)
是否可以将设置“隔离”到单个列表中?我想我可以在 的定义中手动写入所有参数,itemize
但我不知道默认值是什么,也不知道要设置的所有值的列表是什么(这似乎有点脏)。
平均能量损失
\documentclass{article}
\usepackage{xcolor}
\usepackage{enumitem}
\newcommand*{\marvosymbol}[1]{{\fontfamily{mvs}\fontencoding{U}\fontseries{m}\fontshape{n}\selectfont\char#1}}
\setlist[itemize]{label={\strut\textcolor{blue!50!white}{\marvosymbol{123}}},leftmargin=6mm,}
\begin{document}
\begin{itemize}
\item A
\item A
\item
\begin{enumerate}[nosep,leftmargin=3cm,labelsep=0pt]
\item B
\item K
\begin{itemize}
\item Z
\item P
\end{itemize}
\end{enumerate}
\end{itemize}
\end{document}
答案1
您想要这样的东西吗?或者,鉴于您想要的东西不可用,这样的方法是否是一种合理的解决方法?
基本上,我们在文档开头保存各个维度的值,并设置所有列表以使用这些值。还提供了一个宏来打印当前值和默认值。
\documentclass[a4paper]{article}
% ateb: https://tex.stackexchange.com/a/700973/ addaswyd o gwestiwn tobiasBora: https://tex.stackexchange.com/q/700886/
\usepackage[scale=.75]{geometry}
\usepackage{xcolor}
\usepackage{enumitem}
\newcommand*{\marvosymbol}[1]{{\fontfamily{mvs}\fontencoding{U}\fontseries{m}\fontshape{n}\selectfont\char#1}}
\setlist[itemize]{label={\strut\textcolor{blue!50!white}{\marvosymbol{123}}},leftmargin=6mm,}
\newlength\defaultlabelsep
\newlength\defaultitemsep
\newlength\defaultparsep
\newlength\defaulttopsep
\newlength\defaultpartopsep
\newlength\defaultlistparindent
\newlength\defaultlabelwidth
\newlength\defaultitemindent
\newlength\defaultleftmargin
\newlength\defaultrightmargin
\AtBeginDocument{%
\setlength\defaultlabelsep{\labelsep}%
\setlength\defaultitemsep{\itemsep}%
\setlength\defaultparsep{\parsep}%
\setlength\defaulttopsep{\topsep}%
\setlength\defaultpartopsep{\partopsep}%
\setlength\defaultlistparindent{\listparindent}%
\setlength\defaultlabelwidth{\labelwidth}%
\setlength\defaultitemindent{\itemindent}%
\setlength\defaultleftmargin{\leftmargin}%
\setlength\defaultrightmargin{\rightmargin}%
\setlist{%
labelsep=\defaultlabelsep,
itemsep=\defaultitemsep,
parsep=\defaultparsep,
topsep=\defaulttopsep,
partopsep=\defaultpartopsep,
listparindent=\defaultlistparindent,
labelwidth=\defaultlabelwidth,
itemindent=\defaultitemindent,
leftmargin=\defaultleftmargin,
rightmargin=\defaultrightmargin,
}%
\showlstvalues
}
\NewDocumentCommand \showlstvalues {}
{%
labelsep=\the\labelsep;\par
itemsep=\the\itemsep;\par
parsep=\the\parsep;\par
topsep=\the\topsep;\par
partopsep=\the\partopsep;\par
listparindent=\the\listparindent;\par
labelwidth=\the\labelwidth;\par
itemindent=\the\itemindent;\par
leftmargin=\the\leftmargin;\par
rightmargin=\the\rightmargin;\par
defaultlabelsep=\the\defaultlabelsep;\par
defaultitemsep=\the\defaultitemsep;\par
defaultparsep=\the\defaultparsep;\par
defaulttopsep=\the\defaulttopsep;\par
defaultpartopsep=\the\defaultpartopsep;\par
defaultlistparindent=\the\defaultlistparindent;\par
defaultlabelwidth=\the\defaultlabelwidth;\par
defaultitemindent=\the\defaultitemindent;\par
defaultleftmargin=\the\defaultleftmargin;\par
defaultrightmargin=\the\defaultrightmargin;\par
}
\begin{document}
\begin{itemize}
\item A
\item A
\item
\begin{enumerate}[nosep,leftmargin=3cm,labelsep=0pt]
\item B
\item K
\begin{itemize}
\item Z
\item P
\end{itemize}
\end{enumerate}
\end{itemize}\begin{itemize}
\item \showlstvalues
\item
\begin{enumerate}[nosep,leftmargin=3cm,labelsep=0pt]
\item \showlstvalues
\begin{itemize}
\item \showlstvalues
\end{itemize}
\end{enumerate}
\end{itemize}
\end{document}