我用\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}