如何生成清单?

如何生成清单?

与逐项列举或描述环境类似,我希望有一个核对清单环境,右侧有整齐的方框,我可以选中或取消选中。我想我不是第一个有这个想法的人,所以如果你能分享你的解决方案我会很高兴。

编辑:有没有办法让这样的 PDF 具有交互性?那么在使用阅读器查看时,复选框可能会从选中变为未选中,反之亦然?

答案1

\documentclass[11pt]{article}

\usepackage{wasysym}     

\setlength{\marginparwidth}{1.2in}
\let\oldmarginpar\marginpar
\renewcommand\marginpar[1]{\-\oldmarginpar[\raggedleft #1]%
{\raggedright #1}}    

\newenvironment{checklist}{%
  \begin{list}{}{}% whatever you want the list to be
  \let\olditem\item
  \renewcommand\item{\olditem -- \marginpar{$\Box$} }
  \newcommand\checkeditem{\olditem -- \marginpar{$\CheckedBox$} }
}{%
  \end{list}
}   

\begin{document}
\begin{checklist}
  \checkeditem   Open the \TeX book
  \checkeditem   Find the good page
  \item   Try to understand
\end{checklist}
\end{document}

预览

当然,checked/non-checked 属性可以作为一个选项实现,但这样与扩展自身的包保持兼容会更加困难\item。如果你不喜欢 的外观,那么 中\CheckedBox有很多\checkmark全面的 LaTeX 符号列表这样你就可以构建你自己的复选框。

答案2

请参阅维基百科关于自定义分项列表的文章

您可以使用常规\itemize环境,其中“[…] 您只需更改标签即可。可以使用 为每个条目手动完成\item[new symbol],例如\item[$\star$]。”

或者,您可以使用 全局更改它\renewcommand{\labelitemi}{$\star$},其中\labelitemi, \labelitemii, \labelitemiii, \labelitemiv描述列表深度级别的标签。

对于您来说,您可以使用包\square中的符号amsmath

欲了解更多信息,请联系维基百科文章。

答案3

到目前为止,我已经复制了一个答案来自 comp.text.tex,它将框放在左侧:

\usepackage{latexsym} % for squares for the check-list environment
...
\newenvironment{checklist}{%
  \begin{list}{}{}% whatever you want the list to be
  \let\olditem\item
  \renewcommand\item{\olditem[$\Box$] }
}{%
  \end{list}
}
...
\begin{checklist}
   \item Bla...
\end{checklist}

但是我有点不确定把方框放在左边是否正确。当然这样就很容易知道哪些任务已经完成,哪些任务没有完成,而另一方面我习惯在右边勾选方框...

答案4

我正在寻找一个非常简单、非交互式的清单,仅用于打印。这就是我想到的。

\documentclass[12pt]{amsart}
\usepackage{changepage}
\linespread{2}

\begin{document}

\begin{tabular}{ l l } 
\qed &   \\ 
\qed &   \\ 
\qed &   
\end{tabular}

\end{document} 

相关内容