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

자유글 oblivoir와 HTML

2020.02.10 10:56

noname 조회 수:3706

oblivoir 클래스의 다음 버전에 HTML 변환을 지원하는 기능이 들어갈 예정입니다.

tex4ht로도 pandoc으로도 뭔가 여기저기 걸리는 게 많아서 html 문서를 쉽게 얻기 힘들었는데요, 고심끝에 lwarp를 지원하는 것으로 결정했습니다. 무엇보다 좋은 것은 mathjax를 자동화할 수 있다는 것이고 적어도 수식에 관한 한 (표준 수식만을 사용한 경우에) mathjax를 이용하여 좋은 웹문서를 만들 수 있습니다.

그러나, 이런 일이 다 그렇듯이 한방에 "완벽한 html"이 만들어지는 마법 같은 것은 없고요, 일단 문서의 내용이 html 형식으로 출력된다는 것이고 여기에 디자인을 입히는 것은 아마도 별도의 css 디자인이 필요하리라 봅니다. 그래도 css를 만드는 수고를 논외로 한다면 비교적 견실한 html를 얻을 수 있다고 생각합니다. 실용적으로 생각하더라도 중간 일거리를 많이 줄일 수 있겠죠.

그런데 샘플 문서를 만드는 것이 저로서는 아주 힘든 일이라서 도움을 청하는 바입니다. 제게 더 많은 사례 문서가 있을수록 버그 수정이나 품질 개선에 크게 도움이 될 것입니다.

다음 사항에 주의해주십시오.

  1. tabu는 안 되는 것으로... tabu 표는 tabularx나 tabular로 바꾸어야 할 겁니다. 게다가 lwarp 문서를 보면 아시겠지만 tabular는 아주 까다롭게 굴 때가 있습니다. tabular가 들어가는 환경을 정의할 때 & 문자의 catcode를 반드시 바꾸어주어야 하는데 이에 대해서는 lwarp 문서를 참고하시고요.
  2. 그밖에도 compatible하지 않은 패키지가 더 있을 것입니다.
  3. 사용자가 페이지스타일, 장스타일, 사용자 명령을 대량으로 정의해서 쓰는 경우에 모두 원하는 대로 동작한다고 보장하지 못합니다. html을 목적으로 한다면 이런 "복잡한" 정의들은 좀더 간명하고 표준적인 것으로 바꾸어 쓰는 것이 좋습니다. 그러나 어느 정도 에러 없이 컴파일될는지 제가 짐작할 수가 없으므로 이런 사례들도 보여주시면 감사하겠습니다. (아무튼 인쇄용 preamble과 html용 preamble을 별도로 정의하는 것이 효율적일 것이라고 짐작할 수 있습니다.)
  4. 현재 목적은 "컴파일 타임 에러가 발생하지 않는 것"입니다.
  5. pdftex을 위한 oblivoir는 이 기능을 제공하지 않을 예정입니다. memhangul-ucs에 기초한 파트는 더이상 업그레이드하지 않겠습니다.

첨부 파일을 모두 한 폴더에 풀어놓고 거기서 테스트하시기 바랍니다. html을 목적으로 하는 문서의 문서 옵션으로

\documentclass[lwarp,lwarpoption={mathjax}]{oblivoir}

라고 지정하면 lwarp를 실행할 준비가 갖추어집니다. mathjax 관련 옵션을 주지 않으면 mathjax가 동작하지 않습니다.

폴더 안에 testmathjax.tex이 있는데 이를 컴파일하여 에러가 없으면

$ lwarpmk html testmathjax

라는 명령을 실행합니다. 그러면 폴더에 testmathjax.html이 생겨나 있을 것입니다. 몇 개의 css도 생기므로 참고하십시오.

나중에 수정을 쉽게 하기 위해서 파일은 답글로 달겠습니다.




XE Login