在边距和悬挂缩进中进行枚举

在边距和悬挂缩进中进行枚举

给出了一个解决方案跨多个部分枚举。但是,(A)枚举似乎阻止了挂起缩进的激活。(B)我可以让数字进入左边距,并让缩进的参考文献与左边距齐平吗?(C)我怎样才能将数字本身稍微向左移动,同时让文本与边缘齐平?

注意:如果我们使用下面答案中的枚举环境,则(B)得到解决,但(A)仍然不起作用:

\documentclass[12pt]{article}
\usepackage[top = 1in, bottom = 1in, left = 1in, right = 1in]{geometry}
\usepackage[usenames,dvipsnames]{xcolor}
\usepackage{enumitem}
\setlist[enumerate]{leftmargin=-\itemindent}       %% here we change

\begin{document}
\begin{center}
\textbf{class X}
\end{center}

\begin{enumerate}
\item \hangindent=7mm \noindent \textcolor{blue}{
\textbf{sadsdasd sdsdadsd}. \textbf{1902}. sasds sasdasd adsdsasds sadsdsadsa asdasd. \textit{adsdsdadsd asda sdsadsadsda sdasdsdadsds asdasddsdasdsa}. asdasd: asdsads sasdas.}
\item  BBBBB
\end{enumerate}

\begin{center}
\textbf{class Y}
\end{center}

\begin{enumerate}[resume]
\item \footnotesize \textcolor{blue}{CCCCC} \normalsize
\end{enumerate}

\end{document}

编辑:我找到了一个完全避免枚举环境并且完全可定制的解决方案。

答案1

是這樣嗎?

\documentclass[12pt]{article}
\usepackage[top = 1in, bottom = 1in, left = 1in, right = 1in]{geometry}
\usepackage[usenames,dvipsnames]{xcolor}
\usepackage{showframe}
\usepackage{enumitem}
\setlist[enumerate]{leftmargin=\itemindent}    %% leftmargin=-\itemindent

\begin{document}
\noindent X\dotfill X
\begin{center}
\textbf{class X}
\end{center}

\begin{enumerate}
\item \footnotesize \textcolor{blue}{AAAAA} \normalsize
\item  BBBBB
\item \parbox[t]{\linewidth}{\hangindent=7mm \noindent \textcolor{blue}{
\textbf{sadsdasd sdsdadsd}. \textbf{1902}. sasds sasdasd adsdsasds sadsdsadsa asdasd. \textit{adsdsdadsd asda sdsadsadsda sdasdsdadsds asdasddsdasdsa}. asdasd: asdsads sasdas.}}

\end{enumerate}

\begin{center}
\textbf{class Y}
\end{center}

\begin{enumerate}[resume]
\item \footnotesize \textcolor{blue}{CCCCC} \normalsize
\end{enumerate}

\end{document}

在此处输入图片描述

或这个:

更改\setlist[enumerate]{leftmargin=-\itemindent}

\setlist[enumerate]{leftmargin=*}

给出

在此处输入图片描述

答案2

我自己也找到了一个很好的答案。这可以完全避免枚举环境,这会禁用许多正常命令。

添加\newcounter{blah}\stepcounter{blah}在序言中。

\hspace*{-Xmm} \hangindent=Ymm \noindent stepcounter{blah} \arabic{blah} \hspace{5mm}在项目前添加。这里 X = Y + 10。

然后是需要枚举的实际文本。同样,在一行中。

这将避免破坏任何命令(例如 noindent),以便可以从您制作的非枚举文档中导入标准格式的段落或代码。

或者,在序言中创建一个新命令来执行以下所有操作:

\newcounter{blah} \stepcounter{blah}
\newcommand*\blah{\hspace*{-22mm} 
\hangindent=7mm \noindent \stepcounter{blah} \arabic{blah} \hspace{9mm}}`

在该行前面添加 \blah。

或者使用另一种方法,部分内容可在此处找到:在序言中添加

\newcounter{blah} \stepcounter{blah}
\newcommand{\negpar}[1][-1em]{%
    \ifvmode\else\par\fi
    {\parindent=#1\leavevmode}\ignorespaces
\newcommand*\blah{\negpar[-9.7mm] 
    \hangindent=7mm \stepcounter{blah} \arabic{blah}  \hspace{5mm}}`

在该行前面添加 \blah。

相关内容