\futurelet 공부로 만든 한문 훈련 스타일

3372 단어 LuaLaTeXupLaTeXLaTeX
  • CTAN에도 gckanbun 패키지가 등록되었습니다. TeX Live 2021부터 gckanbun 패키지로 사용할 수 있어야 합니다.

  • munepi/gckanbun - GitHub 에서 gckanbun.sty 2021/03/25 v1.0 을 릴리스 했습니다.

  • 이것은 "TeX & LaTeX Advent Caleandar 2018"의 23 일째 기사입니다.
    22일째는 zr_tex8r 님 였습니다. 24일째는 golden_lucky 님 입니다.

    여러분, #테프라이브! 하고 계십니까?

    이 기사에서는, (LuaTeX와 전혀 관계 없습니다만,) 십수년전의 젊음 무렵에, 「 \futurelet 의 공부가 짚으로 만든 한문훈점 스타일」(의 옛 이야기)를 소개합니다.

    \futurelet 는 잘 모르겠다 (좋았어)


    \futurelet 의 해설은, 예를 들면, 혼다씨와 요시나가씨와의 공저 「LaTeX2e 매크로&클래스 프로그래밍 기초 해설」의 10 페이지에 있다.

    그에 따르면 \futurelet는 뒤에 3 개의 토큰을 따라
    \futurelet〈token1〉〈proc〉〈token2〉
    

    같이 사용한다. 이것은
    \let〈token1〉= 〈token2〉〈proc〉〈token2〉
    

    등가이다. 샘플로서,
    \def\@test{[\@nexttoken]}
    \futurelet\@nexttoken\@test\LaTeX
    => [LaTeX]LaTeX
    

    그리고 있다. 십수년 전 당시 이것을 읽고 시도하거나 매크로의 전개를 쫓아도 \futurelet 의 기쁨을 솔직히 몰랐다.

    어라? 이것, 한문의 훈점의 입력에 사용할 수 있는 것이 아니다! ?



    잠시 동안 \futurelet 어쩐지 사용하고 있었지만, 그래도 기쁨이 실감으로 몰랐다.

    십수년 전 어느 날, 문득했을 때에, 한문의 훈점을 입력할 필요가 있어, 항에는 몇개의 훈점 스타일이 있었지만, 훈점 커멘드에 정해진 인수를 반드시 붙이는 매크로인 것이 많아, 이것은 입력하는 것이 어렵다고 생각했다.

    그 때, 아, 「\futurelet 로 다음에 훈점의 무엇이 올지 어떨지로 봐 가면… ,」라고 깨달았다.
    게다가, 「루비→이송 가명→반환점→구두점」을 전부 \futurelet

    처음 만든 \futurelet의 응용 예 : 한문 훈련 점의 입력 매크로



    GitHubGist에 htps : // 기 st. 기주 b. 코m/무네피/5c9에53936에3540b8374b4아b14에6b7832 munepi/gckanbun - GitHub 을 공개해 보았습니다.

    만든 당시보다 접두사 \gcknbn@ 를 넣거나 \dimexpr 로 계산하도록 재기록하고 있습니다만, 실제 처리는 당시 그대로입니다.
    (지금이라면 조금 더 깨끗하게 쓸 수 있지만 리팩토링하지 않고 노출됩니다 :-))
    uplatex+dvipdfmxtest-gckanbun.tex 를 타입 세트 하면(자), 이하의 스크린 샷과 같이 PDF에 출력됩니다.



    간단한 \futurelet 의 예이지만, 훈련 입력 명령으로서는, 재미있는 응용예라고 생각하고 있습니다만, 어떻습니까?

    (죄송합니다, 시간의 편의상, 2018년 12월 25일 단계에서, 이 한문훈점 스타일의 상세한 해설을 생략합니다 m(_ _)m 오모로이 곳은 간단한 "이송 가명"을 보러 가는 곳입니다.이것에 의해, 한문훈점 매크로의 인수를 모두 잡지 않아도 좋아지고 있습니다.죄송합니다, 상세를 생략합니다.)

    요약


  • 처음에는 잘 모르는 일이었다고 해도, 어느 날 문득, 스스로 무언가의 기쁜 응용예를 만들 수 있었을 때의 즐거움은 각별!
  • 그렇지만, 나이를 먹어 와서, 옛날 이야기만을 말하게 되면, 끝!
  • 그래서, 나우한 영은 LuaTeX를 사용합시다!
  • 좋은 웹페이지 즐겨찾기