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>가 들어가므로 용도에 맞게 나누어 쓸 수 있습니다.

noname

한 가지 더 시도해본 것은 이런 것입니다. pmhanguljamo 패키지로 입력한 한글은 현대 한글 음절문자이면 pdf에서 그대로 긁어오거나 pdftotext로 변환하여 한글 텍스트로 복원(변환)할 수 있습니다. 그런데 이 글의 예제들은 pdf의 복사-붙이기나 pdftotext로 완전히 한글이 복원되지 않습니다. 

이 텍스트를 plain text로 복원할 방법이 없을까 고민하다가 다음과 같이 해보았습니다. 우리야 pdf로 잘 출력되니 만족하지만 이 결과물을 아래아한글에서 편집하고 싶을 수도 있으니까요.

  1. pmhanguljamo.sty를 조금 수정하여, \jamoword의 인자로 입력된 부호를 예를 들면 \u1106\u1161\u11AF\u302F 와 같은 문자열로 출력되게 합니다. 이것은 그다지 어렵지 않은데, pmhanguljamo가 알기 쉽게 작성되어 있기 때문입니다. 이 스타일을 임시로 pmhanguljamotocode.sty라고 하고, 이 패키지로 hunminjeongeumeonhae.tex 텍스트를 컴파일합니다.
  2. 그리하여 얻어진 pdf는 한자와 숫자 그리고 백슬래시와 A-F 알파벳만 포함하고 있기 때문에 pdftotext로 변환하여 손실없이 결과를 얻을 수 있습니다.
  3. 이제 예컨대 \u1106이라고 되어 있는 부분을 [U+1106]이라는 char로 변환합니다. 이것을 해주는 간단한 python 스크립트를 작성했습니다. 

몇 가지 고려할 부분이 있기는 했습니다. 글자 크기가 변한다든가, 행 중간에 공백이 길다든가 하면 pdftotext가 변환한 텍스트의 위치가 조금 흔들리는 경우가 있더군요. 그리고 textwidth가 충분히 길지 않으면 한 줄에 들어가는 텍스트 분량이 너무 적어지기도 하더라고요. 그래서 페이지 크기를 조금 늘리고 문서 전체를 raggedright로 조판되도록 하였습니다. 

최종적으로 얻어지는 출력물은 hmje-out.tex 입니다. (text 파일인데 이 게시판에 txt 확장자 파일이 업로드 금지되어 있어서 tex으로 바꾸었습니다.) 행 자르기라든가 등등에 약간의 수정이 더 필요할지 모르지만 원래 의도했던 것은 성공했다고 생각합니다.

테스트에 사용한 모든 파일을 첨부하였습니다(pmhanguljamotocode.zip). 다음 순서로 테스트할 수 있습니다.

$ xelatex hmje.tex
$ pdftotext hmje.pdf
$ python3 codepoint2char.py hmje.txt >hmje-out.txt

 




XE Login