\ExplSyntaxOn... \ExplSyntaxOff 내의 텍스트 인수에서도 공백이 무시되는 이유는 무엇입니까?

\ExplSyntaxOn... \ExplSyntaxOff 내의 텍스트 인수에서도 공백이 무시되는 이유는 무엇입니까?

나는 다음에 대한 해결 방법을 보았습니다.내부에 공백이 인식되어 있음\ExplSyntaxOn... \ExplSyntaxOff. 그러나 의심 ⟨text⟩할 여지 없이 텍스트를 기대하는 (LaTeX3) 매크로 인수에 대해서도 공백이 인식되지 않는 이유가 궁금합니다 ⟨more text⟩.

\msg_new:nnnn { ⟨module⟩ } { ⟨message⟩ } { ⟨text⟩ } { ⟨more text⟩ }

답변1

space에는 무시라는 catcode가 제공되므로 토큰을 전혀 만들지 않습니다. ~일반 space 토큰을 만드는 데 사용합니다.

\msg_new:nnnn { ⟨module⟩ } { ⟨message⟩ } { ⟨text⟩ } { ⟨more ~ text⟩ }

대안은 다른 작업을 수행하는 것이지만 그것이 무엇이든 간에 \verbcatcode 변경과 관련하여 최상위 수준에서 작동하지만 다른 명령의 인수 내에서는 작동하지 않거나 복잡한 사전 작업이 포함된다는 점에서 동일한 문제가 있을 수 있습니다. 스캔하여 공백 토큰을 제거하거나 제거하지 마십시오. 이는 때때로 줄 끝에서 공백을 숨겨야 함을 의미하며 %, L3 구문은 이를 방지하도록 설계되었습니다.

이 컨텍스트에서는 ~깨지지 않는 공간 구성을 만드는 활성 문자가 아니라 단순히 문서 설정의 공백에서처럼 공백 토큰을 만드는 공백 catcode가 있는 문자입니다.

관련 정보