Expl3
-
HzGuide 클래스TeX과 친구들 2021. 4. 19. 12:35
HzGuide 클래스에 대한 매뉴얼을 작성했다. PDF 버전을 깃허브에서 볼 수 있다. 2002년에 테크니컬 라이팅을 업으로 삼기 시작하면서 레이텍을 접했다. 다른 사용자들도 마찬가지일 텐데 시작은 단순했다. 전제부(preamble)에 포함된 코드들을 떼어내어 preamble.tex을 만들었다. 여러 매크로들을 추가하면서 파일 이름이 "hz"로 시작하는---프로그램이나 패키지에 저자 이름의 머리글자를 붙이는 것이 이 바닥의 관행이다---서너 패키지들로 나누었다. 패키지들을 쪼개고 합치는 것을 그 뒤로 몇 차례 반복한 것 같다. 2005년에, 한 제조회사로 옮기면서, oblivoir를 흉내내어 memoir를 기반으로 하는 클래스를 만들고 hozemanucs라는 촌스러운 이름을 붙였다. 2009년 이전까지 ..
-
판정 함수TeX과 친구들 2021. 3. 31. 09:41
"_p"로 끝나는 expl3 함수들은 true 또는 false를 반환한다. 이것들을 predicates 함수라고 한다. 우리말로 옮기자면 "판정 함수"라고 할까? 이것은 \tl_if_blank:nTF { ... }{ true code }{ false code } 다음과 같다. \bool_if:nTF { \tl_if_blank_p:n {...} }{ true code }{ false code } 이것들을 ":NTF"와 ":nTF"와 같은 조건문 함수들을 위한 모듈 정도로 여기어서 매뉴얼에 굳이 언급할 필요가 없지 않나 생각했었다. 하지만 고급 프로그래머들이 하듯이 복잡한 조건식을 만들 때에는 판정 함수가 필요하겠다. \bool_if:nTF { \cs_if_exist_p:N #1 && \int_if_odd_..