不同环境下的 \item 命令

不同环境下的 \item 命令

我已经有了命令

\newcommand{\atarget}[1]{
\noindent\begin{minipage}[l][0.49\textheight][t]{\textwidth}
\begin{enumerate}[label=\thetarget. \raisebox{3 pt}{\ul{\hbox{\hspace{1 in}}}}, leftmargin=1.5in]
\item #1
\end{enumerate}
\stepcounter{target}
\end{minipage}
}

我希望创建一个环境,在其中创建一个新项目,其\newtarget格式\item与格式化相同\atarget。现在,\atarget{}每次我想要一个新项目时,我都不得不使用它。例如,要生产 输出 我用

\documentclass{article}
\usepackage[margin=0.5in, top=0.6in, right=0.6in]{geometry}
\usepackage{background}
\usepackage{times}
\usepackage{blindtext}
\usepackage{enumitem}
\usepackage{soul}
\newcommand{\atarget}[1]{
\noindent\begin{minipage}[l][0.49\textheight][t]{\textwidth}
\begin{enumerate}[label=\thetarget. \raisebox{3 pt}{\ul{\hbox{\hspace{1 in}}}}, leftmargin=1.5in]
\item #1
\end{enumerate}
\stepcounter{target}
\end{minipage}
}
\begin{document}
\newtarget{\blindtext}
\newtarget{\blindtext} 
\end{document}

但宁愿使用

\begin{tg}
\newtarget \blindtext
\newtarget \blindtext
\end{tg}

为了保持一致性(以及缺乏{}

答案1

这是一个使用 LaTeX 3 项目提供的 coffins 代替列表的解决方案。它仅依赖于作为公共宏发布并被开发人员认为稳定的函数。(也就是说,它不使用任何最新的实验性内容 - 界面可能会发生变化 - 或任何内部内容 - 如果公共宏的实现发生变化,情况可能会发生变化。)

\documentclass{article}
\usepackage[margin=0.5in, top=0.6in, right=0.6in]{geometry}
\usepackage{tgtermes}% times is deprecated
\usepackage{blindtext}
\usepackage{xparse}
\ExplSyntaxOn
\coffin_new:N \l_oneoneone_label_coffin
\coffin_new:N \l_oneoneone_content_coffin
\int_new:N \l_oneoneone_target_int
\int_zero:N \l_oneoneone_target_int
\dim_new:N \l_oneoneone_parindent_dim
\cs_new_protected:Nn \oneoneone_newtarget:
{
  \int_compare:nF { \l_oneoneone_target_int = \c_zero_int }   % Edit: \c_zero → \c_zero_int
  {
    \oneoneone_newtarget_out:
  }
  \int_incr:N \l_oneoneone_target_int
  \vcoffin_set:Nnn \l_oneoneone_label_coffin { 35mm }
  {
    \rule { \l_oneoneone_parindent_dim } { 0pt }
    \int_to_arabic:n {\l_oneoneone_target_int} . ~ \rule { 25mm } {.4pt}
  }
  \vcoffin_set:Nnw \l_oneoneone_content_coffin { \textwidth - 35mm }
}
\cs_new_protected_nopar:Nn \oneoneone_newtarget_out:
{
  \vcoffin_set_end:
  \coffin_join:NnnNnnnn \l_oneoneone_label_coffin { T } { r } \l_oneoneone_content_coffin { T } { l } { 0pt } { 0pt }
  \dim_set:Nn \l_tmpa_dim { .49\textheight - ( \coffin_ht:N \l_oneoneone_label_coffin ) - ( \coffin_dp:N \l_oneoneone_label_coffin ) }
  \coffin_typeset:Nnnnn \l_oneoneone_label_coffin { B } { l } { 0pt } { \l_tmpa_dim }
  \par
}
\NewDocumentEnvironment {tg} {}
{
  \group_begin:
  \int_zero:N \l_oneoneone_target_int
  \dim_set:Nn \parindent { 0pt }
}
{
  \oneoneone_newtarget_out:
  \group_end:
}
\NewDocumentCommand \newtarget {}
{
  \oneoneone_newtarget:
}
\AtBeginDocument{
  \dim_set:Nn \l_oneoneone_parindent_dim { \parindent }
}
\ExplSyntaxOff
\begin{document}
\begin{tg}
  \newtarget \blindtext
  \newtarget \blindtext
\end{tg}
\end{document}

棺材作为目标

相关内容