图床/或者说文件床最近挂了...你的mwe我打不开....
尝试了一下:
\documentclass{ctexart}
\usepackage{xcolor}
\usepackage[b5paper,landscape,showframe]{geometry}
\usepackage{needspace}
\usepackage{zhlipsum}
\usepackage{circledtext}
\ExplSyntaxOn
\clist_new:N \g_my_parnote_clist
\clist_new:N \g_my_parnotetxt_clist
\makeatletter
\newcounter{parnotecnt}
\NewDocumentCommand{\parnote}{O{red} m m}{%
\refstepcounter{parnotecnt}
\unskip\textcolor{#1}{#2}\hbox{\@textsuperscript{\normalfont\circledtext[charf=\small]{\arabic{parnotecnt}}}}\unskip
\clist_gput_right:Nn \g_my_parnote_clist {#2}
\clist_gput_right:Nn \g_my_parnotetxt_clist {#3}
}
\makeatother
\NewDocumentEnvironment{myenv}{+b}{%
\setcounter{parnotecnt}{0}%
\clist_clear:N \g_my_parnote_clist
\clist_clear:N \g_my_parnotetxt_clist
\needspace{\baselineskip}{\bfseries~【原文】}\par
{#1} \par%\vspace{5pt}
% \clist_use:Nn \g_my_parnote_clist {,}
\clist_if_empty:NF {\g_my_parnote_clist}{%
\needspace{.8\baselineskip}{\bfseries~【注释】}\par
\int_step_inline:nn {\clist_count:N \g_my_parnote_clist}{%
\noindent{##1}.~\clist_item:Nn \g_my_parnote_clist {##1}:~\clist_item:Nn \g_my_parnotetxt_clist {##1}~\par
}
}\vspace{2cm}%
}{}
\ExplSyntaxOff
\begin{document}
\begin{myenv}%
\zhlipsum[2]
测试文本\parnote{红色注释}{注释内容}测试文本\parnote[cyan]{蓝色注释}{注释内容}测试文本测试文本\parnote{红色注释}{注释内容}测试文本\parnote[cyan]{蓝色注释}{注释内容}测试文本测试文本\parnote{红色注释}{注释内容}测试文本\parnote[cyan]{蓝色注释}{注释内容}测试文本测试文本\parnote{红色注释}{注释内容}测试文本\parnote[cyan]{蓝色注释}{注释内容}测试文本测试文本\parnote{红色注释}{注释内容}测试文本\parnote[cyan]{蓝色注释}{注释内容}测试文本测试文本\parnote{红色注释}{注释内容}测试文本\parnote[cyan]{蓝色注释}{注释内容}测试文本测试文本\parnote{红色注释}{注释内容}测试文本\parnote[cyan]{蓝色注释}{注释内容}测试文本测试文本\parnote{红色注释}{注释内容}测试文本\parnote[cyan]{蓝色注释}{注释内容}测试文本测试文本\parnote{红色注释}{注释内容}测试文本\parnote[cyan]{蓝色注释}{注释内容}测试文本测试文本\parnote{红色注释}{注释内容}测试文本\parnote[cyan]{蓝色注释}{注释内容}测试文本测试文本\parnote{红色注释}{注释内容}测试文本\parnote[cyan]{蓝色注释}{注释内容}测试文本测试文本\parnote{红色注释}{注释内容}测试文本\parnote[cyan]{蓝色注释}{注释内容}测试文本
\end{myenv}
\begin{myenv}%
\zhlipsum[2]
测试文本\parnote{红色注释}{注释内容}测试文本\parnote[cyan]{蓝色注释}{注释内容}测试文本测试文本\parnote{红色注释}{注释内容}测试文本\parnote[cyan]{蓝色注释}{注释内容}测试文本测试文本\parnote{红色注释}{注释内容}测试文本\parnote[cyan]{蓝色注释}{注释内容}测试文本测试文本\parnote{红色注释}{注释内容}测试文本\parnote[cyan]{蓝色注释}{注释内容}测试文本测试文本\parnote{红色注释}{注释内容}测试文本\parnote[cyan]{蓝色注释}{注释内容}测试文本测试文本\parnote{红色注释}{注释内容}测试文本\parnote[cyan]{蓝色注释}{注释内容}测试文本测试文本\parnote{红色注释}{注释内容}测试文本\parnote[cyan]{蓝色注释}{注释内容}测试文本测试文本\parnote{红色注释}{注释内容}测试文本\parnote[cyan]{蓝色注释}{注释内容}测试文本测试文本\parnote{红色注释}{注释内容}测试文本\parnote[cyan]{蓝色注释}{注释内容}测试文本测试文本\parnote{红色注释}{注释内容}测试文本\parnote[cyan]{蓝色注释}{注释内容}测试文本测试文本\parnote{红色注释}{注释内容}测试文本\parnote[cyan]{蓝色注释}{注释内容}测试文本测试文本\parnote{红色注释}{注释内容}测试文本\parnote[cyan]{蓝色注释}{注释内容}测试文本
\zhlipsum
\end{myenv}
\begin{myenv}
如果文段中没有\texttt{parnote},则不会输出【注释】\par
\zhlipsum[2]
\end{myenv}
\end{document}
不太确定还有没有什么bug...

































问 如何定义一个“原文”和“注释”分处不同段落的环境?