![在 enumitem 包中的项目编号前创建一个“答案空格”](https://linux22.com/image/296401/%E5%9C%A8%20enumitem%20%E5%8C%85%E4%B8%AD%E7%9A%84%E9%A1%B9%E7%9B%AE%E7%BC%96%E5%8F%B7%E5%89%8D%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E2%80%9C%E7%AD%94%E6%A1%88%E7%A9%BA%E6%A0%BC%E2%80%9D.png)
我们国家习惯在试卷的题目号前放一行答案,就像下面这样。我正在创建一个模板,让最近刚转用 LaTeX 的同学使用,这样他们就可以轻松实现这种列表样式。我想改进一下,这样我就可以使用这个选项,align=right
同时仍然保持答案行向左对齐。这意味着\answerline
随着题目号占用的空间增加,答案行的长度会自动减少。你有更好的方法吗?
\documentclass[preview, border=0.5cm]{standalone}
\usepackage{enumitem}
\newcommand{\answerline}{\makebox[0.5in]{\hrulefill}}
\begin{document}
\begin{enumerate}[noitemsep, label = {{\protect\answerline~\arabic*.}},align=left, leftmargin=*]
\item
\item
\item
\item
\item
\item
\item
\item
\item
\item
\end{enumerate}
\end{document}
我希望项目右对齐,但线条向左对齐。
答案1
另一种方法可能是随着项目标签宽度的增加而减少行宽,这也可以节省一些水平空间。
\documentclass[preview, border=0.5cm]{standalone}
\usepackage{enumitem,calc}
\begin{document}
\begin{enumerate}[noitemsep,
label = {{\protect\makebox[0.5in - \widthof{\arabic*}]{\hrulefill}\arabic*.}},
align=left,
leftmargin=*]
\item
\item
\item
\item
\item
\item
\item
\item
\item
\item
\item
\item
\end{enumerate}
\end{document}