在下面的例子中,该句子{\bfseries Please move me to the very end of the mainentry environment?}
位于环境定义的最底部mainentry
。
然而,该句子并没有放在该环境发出命令的最后面。如你所见,subentry1
该环境内发出的子命令(例如)都输出在句子之后。
我希望将这个句子放在该环境发布的最后。也就是说:输出这个句子之前\end{mainentry}
。
平均能量损失
% !TEX TS-program = lualatexmk
\documentclass{scrreprt}
\usepackage{xparse}
\ExplSyntaxOn
\cs_set_eq:NN\IfEmptyTF\tl_if_blank:nTF
\cs_set_eq:NN\Trim\tl_trim_spaces:n
\ExplSyntaxOff
\newenvironment {mainentry} {\mainentryA}{}
\def\mainentryA#1#2{%
%
\def\subentryone##1{%
##1
}%
%
\IfEmptyTF{#2}{%
#1
}{
#1 #2
}
%
{\bfseries Please move me to the very end of the mainentry environment?}
%
}
\begin{document}
\begin{mainentry}{main1}{main2} \subentryone{subentry1} \subentryone{subentry2} \end{mainentry} \endgraf
\begin{mainentry}{main1}{} \subentryone{subentry1} \end{mainentry}
\end{document}
答案1
\newenvironment{<env>}{<begin>}{<end>}
<end>
通过调用来执行,因此将您想要在定义的该组件中\end{<env>}
显示在末尾的文本放在:<env>
\documentclass{article}
\usepackage{xparse}
\ExplSyntaxOn
\cs_set_eq:NN\IfEmptyTF\tl_if_blank:nTF
\cs_set_eq:NN\Trim\tl_trim_spaces:n
\ExplSyntaxOff
\newenvironment{mainentry}
{\mainentryA}
{{\bfseries Please move me to the very end of the mainentry environment?}}
\def\mainentryA#1#2{%
%
\def\subentryone##1{%
##1
}%
%
\IfEmptyTF{#2}{%
#1
}{
#1 #2
}
}
\begin{document}
\begin{mainentry}{main1}{main2}
\subentryone{subentry1}
\subentryone{subentry2}
\end{mainentry}
\begin{mainentry}{main1}{}
\subentryone{subentry1}
\end{mainentry}
\end{document}