使规则遵守枚举环境中的边距

使规则遵守枚举环境中的边距

我用\rule它来在环境中生成水平线enumerate。线条应等于文本的宽度\item。如果我只使用单个enumerate环境,这可以正常工作。但是,当我将这些线放在嵌套enumerate环境中时,这些线最终会溢出到边距中。这是我的完整代码:

\documentclass[11pt, letterpaper]{article}
\usepackage[utf8]{inputenc}
\usepackage[margin=1.5in]{geometry}
\usepackage{lipsum}
\usepackage{enumitem}

\newcommand{\hr}{\rule[0.3em]{\textwidth}{0.4pt}\newline}

\begin{document}

    \newpage
    \begin{enumerate}[leftmargin=0cm]
        \item \textit{\lipsum[1][1-2]}
        
        \hr
        \lipsum[3][1-5]\\
        \hr
        \lipsum[4][1-5]\\
        \hr
        
        \begin{enumerate}
            \item \textit{\lipsum[2][1-2]}
            
            \hr
            \lipsum[3][1-5]\\
            \hr
            \lipsum[4][1-5]\\
            \hr
        \end{enumerate}
    \end{enumerate}
\end{document}

页面渲染后的样子:

在此处输入图片描述

我怎样才能使这些线条具有适当的宽度?理想情况下,我还希望只保留一个\hr命令,无论嵌套级别是多少。

答案1

使用\linewidth而不是\textwidth

\documentclass[11pt, letterpaper]{article}
\usepackage[utf8]{inputenc}
\usepackage[margin=1.5in]{geometry}
\usepackage{lipsum}
\usepackage{enumitem}

\newcommand{\hr}{\rule[0.3em]{\linewidth}{0.4pt}\newline}

\begin{document}

    \newpage
    \begin{enumerate}[leftmargin=0cm]
        \item \textit{\lipsum[1][1-2]}
        
        \hr
        \lipsum[3][1-5]\\
        \hr
        \lipsum[4][1-5]\\
        \hr
        
        \begin{enumerate}
            \item \textit{\lipsum[2][1-2]}
            
            \hr
            \lipsum[3][1-5]\\
            \hr
            \lipsum[4][1-5]\\
            \hr
        \end{enumerate}
    \end{enumerate}
\end{document}

在此处输入图片描述

相关内容