나는 새로운 값을위한 매개 변수를 테스트하기 위해 '도우미'매크로를 쓰려고 노력했다. 그렇지 않으면 기존 값을 사용했다. 모든 매개 변수 위치에 기본값이 존재한다. TeX edef 매크로 블루스
나는 쓸 수 있기를 원 :\foo{left}{nil}{}{20pt}
두 번째 매개 변수는 현재 값을 사용하는 것이지만, 세 번째 값이 값이 빈 문자열이 될 수 있도록.
\edef\pA{\isnil{#1}{\pA){#1}} % one for each parameter
내가 \ isnil과 같이 정의 : 나는 표기법 사용하고 싶었
\def\nil{nil}
\def\isnil#1#2#3{%
\edef\nilTest{#1}%
\ifx\nilTest\nil#2\else#3\fi
}
을하지만 난 그것을 실행하려고 할 때, TeX은 \ nilTest 정의되지 않은 제어 시퀀스라고 불평했다. 물론 그렇습니다. 그러나 \ pA에 값을 저장하는 것이 아니라 값을 저장하는 것이므로 \ edef 여야합니다. 즉 모든 매크로 테스트가 확장되지만 \ edef는 \ nilTest - 이것은 \ noexpand를 사용하는 장소입니다 - 저에게는 효과가없는 것 같습니다.
편집 : \ CS 이름에는 숫자 (예, 나는 그것을 알지 못했다.)