KTUG마당은 KTUG를 방문하는 모든 이용자가 대화를 나누고 소식을 전하는 곳입니다.

  • 로그인 없이 자유롭게 글을 읽고 쓸 수 있는 철학은 처음과 같이 계속됩니다.
  • Team Blog의 글을 이곳 게시판의 "정보글"로 모았습니다. Team blog는 기고자가 올린 글에 질문을 받는 부담을 줄이기 위하여 댓글을 허용하지 않았습니다. 그러나 이곳 게시판으로 모으면서 댓글을 달 수 있습니다. 게시물을 작성하실 때 댓글을 원하지 않으시면 댓글을 허용하시지 않으시기를 바랍니다. 또한 불필요한 소모성 댓글을 달지 않도록 주의하여 주시기를 바랍니다.
  • TeX과 관련된 질문이나 답변은 QnA 마당을 이용하십시오. TeX과 관련된 질문은 지웁니다
  • MathJax를 이용한 수식조판을 사용하실 수 있습니다. 여기를 참조하세요.
  • 스팸 글을 막기 위하여 짧은 시간 내에 다시 글이 등록되는 IP를 막거나, 광고 글을 막기 위하여 금지어로 .com, .net 등을 설정하고 있습니다. 다소간의 불편함이 있으시더라도 양해 바랍니다.
    • 금지어에서 stackexchange, stackoverflow, ctan, overleaf, , github, google.com, gmail.com, .org, .io, sil.org, wiki.com, tistory.com등은 해제하였습니다.
  • 사용하는 편집기는 CKeditor입니다. 편집기에서 [enter]를 누르면 <p> 태그가 들어가고, 문단으로 생각하고 한줄을 비웁니다. 글줄만 바꾸려면 shift-enter 를 누르시면 <BR>가 들어가므로 용도에 맞게 나누어 쓸 수 있습니다.

자유글 parallel pages, parallel columns, and progress

2019.05.30 20:57

noname 조회 수:6887

선사시대... 에 있었던 일입니다. 영한대역본을 조판하는 문제를 당시 Progress님을 비롯한 다른 분들과 고민한 적이 있습니다.

그 결과로서 영어로 된 pdf와 한국어로 된 pdf를 따로 만든 다음 한 페이지씩 끼워넣너 최종본을 만드는 방법이 제시되기도 했었습니다. 지금이야 pdfjam 한 방이면 간단하지만 그 당시에는 이런저런 궁리를 했던 것으로 기억합니다.

주말인데 비도 오고... 그 때 생각도 나고 해서 2019년 지금은 이런 일이 과연 간단한가 테스트해보았더랬습니다. 그 결과를 여기에 적어두려 합니다.

세상 좋아진 것이, 그 때와 비교하면 우리에게 Noto 폰트라는 게 있습니다. 폰트 관련한 문제는 일단 해결된 셈이죠.

그리고 paracol이라는 꽤 좋은 패키지가 있어서 parallel column 등을 구현하는 것도 어렵지 않을 것 같았습니다. 그런데 제가 원하는 것은 이를테면 원문은 별도의 파일로 존재하고 번역본도 별도의 파일로 존재하는데 그 양이 상당할 경우에, 이것을 "문단별로 parallel"하게 하고 싶은 것이었습니다. 소스를 수정하여 한 문단씩 따다 붙여 하나의 파일로 만드는 것은 도저히 놀이삼아 할 만한 일은 아닌 듯하여요.

그래서 원본 소스의 각 문단에 tag를 붙여서 처리하기로 하였습니다. 이제 "플레인 텍스트 파일이 있고 각 문단은 두 개 이상의 빈 줄로 구분되어 있습니다. 이 파일의 각 문단의 시작 부분과 끝 부분에 일정한 tag(이를테면 문단번호)를 간단히 붙여 보시오"라는 문제를 풀어야 합니다.

각 문단이 시작할 때와 끝날 때  태그를 붙였습니다. (첨부파일 참조)

저는 이 일을 (개인적인 취향이지만) 우주 최강의 텍스트 프로세싱 유틸리티라고 생각하는 gawk로 다음과 같이 했습니다.(사용한 gawk 명령은 금지어 때문에 보일 수가 없네요. 첨부파일 안의 sh 스크립트를 보세요.)

첨부파일의 ginga-1-j.txt가 원본 원어 파일이고 ginga-1-k.txt가 한글 번역본입니다. 여기에 위의 명령을 적용한 것이 ginga-1-jj.txt와 ginga-1-kk.txt입니다.  다른 좋은 방법이 얼마든지 있겠지요. 제안해주시기를 부탁합니다. 다양한 방법을 보았으면 좋겠어요.

참고로, Mac OS에 기본으로 들어 있는 awk는 BSD버전이라서 POSIX 옵션을 주어야 하기 때문에 저렇게 명령을 주면 뜻대로 되지 않습니다. 반드시 GNU awk을 써야 하고 Linux에서는 그냥 awk으로 되겠지만 Mac에서는 homebrew로 gawk를 설치해야 할 겁니다.

여기까지 하고 나면 나머지는 자연스럽게 진행되었습니다. 첨부 파일에는 두 개의 샘플이 들어 있는데, partexttest.tex은 한 페이지를 두 컬럼으로 나누고 대역 배치를 한 것이고 parpagetest.tex은 왼쪽 페이지와 오른쪽 페이지를 대역본으로 배치하여 조판한 것입니다. 다음 그림은 페이지별 parallel 조판의 결과를 보여줍니다.

스크린샷 2019-05-30 오후 7.57.09.png

번역의 품질은 책임지지 않습니다. 제가 한 것도 아니고... 그냥 여기저기 긇어온 것이기 때문입니다. 그러나 원본 텍스트는 신뢰할 만할 거라고 봅니다. 그리고 이 샘플의 일본어 조판은 xetexko의 japanese를 이용한 것으로서 일본어 조판의 요구사항을 모두 완벽하게 따르고 있는지 알지 못합니다. 

번역본에서 주인공 이름이 "자네리"라고 되어 있는데 사실 이 이름은 아마도 Zanelli일 것이고 영어 번역본에서도 그렇게 하고 있습니다. 그래서 우리말 번역본에서는 대개 "자넬리"라고 하고 있는 것으로 압니다.

실용적으로 활용해야 한다면 조금 더 세심하게 신경써야 할 점이 있을 것으로 보입니다. 그러나 대체적으로다가 제가 원하던 결과를 얻었다고 생각하고 있습니다.

ps. 이 샘플을 Progress 님께 보여드리고 싶어서 이 글을 썼습니다.

 




XE Login