-
파일 이름에 해시(#)가 포함된 이미지를 삽입할 때TeX과 친구들 2020. 8. 20. 15:33
파일 이름에 해시를 쓸 생각을 한 번도 해본 적이 없다. 오늘 동료가 만든 이미지 파일들로 앨범을 만들다가 그것이 가능하다는 것을 알게 되었다. 당연히 레이텍 컴파일에서 오류가 발생한다. 손쉬운 해법은 이렇게 캣코드를 변경하는 것이다.
{\catcode`\#=12 \includegraphics{test#abc}}
하지만 이와 같은 방법을 \includegraphics 명령을 포함하는 사용자 정의 매크로에 적용한다면 다른 오류가 발생할 것이다. StackExchange에서 찾아보니, 가장 신뢰할 만한 방법이 expl3의 정규표현식을 이용하는 것이다.
\tl_set:Nn \l_tmpa_tl { #1 }
\regex_replace_all:nnN { \cP\# } { \cO\# } \l_tmpa_tl
\mymacro{\l_tmpa_tl}\cP\#과 \cO\#은 캣코드가 6인 #을 12인 #으로 바꾸라는 뜻이다.
'TeX과 친구들' 카테고리의 다른 글
부 (part) 차례 만들기 (0) 2020.09.03 Noto 수식 폰트 (0) 2020.08.24 한글 카운터 사용하기 (2) 2020.06.30 한국어 차례와 영어 차례 (0) 2020.06.16 lwarp (0) 2020.05.13