\IfUndefined{\ifinstaller}{\newif\ifinstaller\installertrue}
\ExplSyntaxOn
\NewDocumentCommand \onlyinstaller { m }
{
\ifinstaller #1 \fi
}
\NewEnviron{OnlyInstaller}{\onlyinstaller{\BODY}}
\ExplySyntaxOff
\begin{OnlyInstaller}
어쩌구 저쩌구
...
이러쿵 저러쿵
\end{OnlyInstaller}
이것은 기대한 대로 작동합니다.
문제는 (문제라기는 뭣하지만) OnlyInstaller 환경 안에 내용이 여러 페이지일 만큼 길어질 때 Synctex이 제대로 맞지 않는다는 것입니다.
\BODY의 내용을 모아서 저장해두었다가 쓰기 때문인 것 같습니다.
저 환경 대신 \ifinstaller ... \fi를 쓰면 Synctex이 맞기 때문에 그렇게 생각합니다.
그래서 이런 생각을 해봤습니다.
\InstallerBegin과 \InstallerEnd를 만듭니다.
\ifinstaller가 false이면 \InstallerEnd를 만날 때까지 모든 내용을 무시하는 것입니다.
xparse의 u 인자 옵션을 사용하면 될까 싶은데 어찌 해야 할지 모르겠습니다.