我已经有了命令
\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}