من میخواهم بلافاصله پس از شروع \begin{document}
محیطی که از قبل تعریف شده باز شود و بلافاصله قبل از \end{document}
این محیط بسته شود.
برای این کار قبل از شروع سند دستورات
\AtBeginDocument{\begin{myenvironment}}
\AtEndDocument{\end{myenvironment}}
را قرار دادهام. این دستورات برای محیطهایی که بهصورت معمولی تعریف شدهاند درست جواب میدهد. اما برای محیطهایی که با دستور \NewEnviron
از بستهی environ تعریف شدهاند خطا میدهد.
کد کمینه:
\documentclass[]{article}
\usepackage{environ}
\NewEnviron{myenvironment}{\textbf{Start}\par\BODY\par\textbf{End}}
\AtBeginDocument{\begin{myenvironment}}
\AtEndDocument{\end{myenvironment}}
\begin{document}
It is a test
\end{document}
خطای داده شده:
! LaTeX Error: \begin{myenvironment} on input line 6 ended by
\end{document}.