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
oblivoir 클래스의 다음 버전에 HTML 변환을 지원하는 기능이 들어갈 예정입니다.
tex4ht로도 pandoc으로도 뭔가 여기저기 걸리는 게 많아서 html 문서를 쉽게 얻기 힘들었는데요, 고심끝에 lwarp를 지원하는 것으로 결정했습니다. 무엇보다 좋은 것은 mathjax를 자동화할 수 있다는 것이고 적어도 수식에 관한 한 (표준 수식만을 사용한 경우에) mathjax를 이용하여 좋은 웹문서를 만들 수 있습니다.
그러나, 이런 일이 다 그렇듯이 한방에 "완벽한 html"이 만들어지는 마법 같은 것은 없고요, 일단 문서의 내용이 html 형식으로 출력된다는 것이고 여기에 디자인을 입히는 것은 아마도 별도의 css 디자인이 필요하리라 봅니다. 그래도 css를 만드는 수고를 논외로 한다면 비교적 견실한 html를 얻을 수 있다고 생각합니다. 실용적으로 생각하더라도 중간 일거리를 많이 줄일 수 있겠죠.
그런데 샘플 문서를 만드는 것이 저로서는 아주 힘든 일이라서 도움을 청하는 바입니다. 제게 더 많은 사례 문서가 있을수록 버그 수정이나 품질 개선에 크게 도움이 될 것입니다.
다음 사항에 주의해주십시오.
- tabu는 안 되는 것으로... tabu 표는 tabularx나 tabular로 바꾸어야 할 겁니다. 게다가 lwarp 문서를 보면 아시겠지만 tabular는 아주 까다롭게 굴 때가 있습니다. tabular가 들어가는 환경을 정의할 때 & 문자의 catcode를 반드시 바꾸어주어야 하는데 이에 대해서는 lwarp 문서를 참고하시고요.
- 그밖에도 compatible하지 않은 패키지가 더 있을 것입니다.
- 사용자가 페이지스타일, 장스타일, 사용자 명령을 대량으로 정의해서 쓰는 경우에 모두 원하는 대로 동작한다고 보장하지 못합니다. html을 목적으로 한다면 이런 "복잡한" 정의들은 좀더 간명하고 표준적인 것으로 바꾸어 쓰는 것이 좋습니다. 그러나 어느 정도 에러 없이 컴파일될는지 제가 짐작할 수가 없으므로 이런 사례들도 보여주시면 감사하겠습니다. (아무튼 인쇄용 preamble과 html용 preamble을 별도로 정의하는 것이 효율적일 것이라고 짐작할 수 있습니다.)
- 현재 목적은 "컴파일 타임 에러가 발생하지 않는 것"입니다.
- pdftex을 위한 oblivoir는 이 기능을 제공하지 않을 예정입니다. memhangul-ucs에 기초한 파트는 더이상 업그레이드하지 않겠습니다.
첨부 파일을 모두 한 폴더에 풀어놓고 거기서 테스트하시기 바랍니다. html을 목적으로 하는 문서의 문서 옵션으로
\documentclass[lwarp,lwarpoption={mathjax}]{oblivoir}
라고 지정하면 lwarp를 실행할 준비가 갖추어집니다. mathjax 관련 옵션을 주지 않으면 mathjax가 동작하지 않습니다.
폴더 안에 testmathjax.tex이 있는데 이를 컴파일하여 에러가 없으면
$ lwarpmk html testmathjax
라는 명령을 실행합니다. 그러면 폴더에 testmathjax.html이 생겨나 있을 것입니다. 몇 개의 css도 생기므로 참고하십시오.
나중에 수정을 쉽게 하기 위해서 파일은 답글로 달겠습니다.
댓글 9
-
noname
2020.02.10 10:57
-
yihoze
2020.02.10 11:58
oblivoir-xl.cls에서 \ExplSyntaxOn이 정의되지 않았다는 에러 메시지가 나옵니다. \RequirePackage{expl3,xparse}를 위로 옮겨서 컴파일에 성공했고 html도 만들어봤습니다.
-
noname
2020.02.10 13:15
texlive 업데이트를 안 하셨나 보죠? 요즘 latex은 expl3를 별도로 로드하지 않아도 될 걸요... :)
-
Progress
2020.02.10 13:54
[사용환경]
윈도 10 64비트/ TL 2019
1. 올려주신 testmathjax.tex 파일을 아무런 에러 없이 지텍으로 컴파일하였습니다.
2. lwarpmk html testmathjax 명령을 내렸습니다.
>lwarpmk html testmathjax
lwarpmk: v0.79 Automated make for the LaTeX Lwarp package.
lwarpmk: Reading lwarpmk.conf.
lwarpmk: testmathjax.html is up to date.3. 이후에 testmathjax.html을 Chrome과 IE로 각각 열었는데 내용이 없습니다. (0KB)
[특이사항]
처음에 지텍으로 testmathjax.tex 컴파일할 때 xpatch.sty이 없다는 에러를 만나 설치했고요
(kconthefly를 돌리니 이것저것 뭘 더 설치하더라고요.)지텍 컴파일을 마친 다음에 lwarpmk html testmathjax 명령을 내리는 과정에서 everyhook.sty이 없다는 에러가 있어 tlmgr로 설치했었고요.
-
noname
2020.02.10 14:02
testmathjax.html을 지우고 다시 해보세요. (up to date라고 판단하면 새로 만들지 않더라고요.)
-
Progress
2020.02.10 15:42
네, 말씀하신 대로 testmathjax.html을 지우고 다시 실행해봤습니다.
> lwarpmk html testmathjax
이 과정에서 svn-prov, xifthen, printlen, moreverb, cleveref 패키지를 순차적으로 설치해줬고요. 저는 텍라이브 베이직을 설치해서 사용하고 있어서 빠진 패키지가 많았던 모양입니다. 패키지 한 개 설치할 때마다 testmathjax.html을 지우고 다시 실행했습니다.
다섯 개 패키지 설치 이후에도 또 누락된 패키지 에러가 나오면 테스트를 포기할 참이었는데, 다행히 잘 되는 것 같네요. (lwarp 패키지 매뉴얼의 차례를 보고 사실상 "모든" 패키지가 다 필요한 듯 싶어서 포기하려던 참이었습니다.)
구글 크롬에서 열어본 모습입니다. MathJax도 잘 구현해줍니다.
반면에 IE 11에서는 MathJax를 표현하지 못합니다. 아마 회사 컴에서 IE에서 스크립트나 ActiveX 허용을 막아놓지 않았나 생각합니다. 하단에 AcitveX 경고창을 누르고 리프레시(F5) 해봐도 MathJax를 구현하진 못하네요.
-
yihoze
2020.02.10 14:39
제가 만든 클래스를 갖고 테스트해 보니 패키지를 삽입하는 순서에서만도 꾸준히 에러 메시지를 토해내서 (당장 한가한 편도 아니어서) 그냥 포기했습니다.
흥미롭긴 한데, 제대로 된 산출물을 얻자면 (사적 매크로 없이 공식 패키지들만 사용한다는 의미에서) 교과서적으로 텍 문서를 만들어야 할 것 같고, 결국 HTML을 얻기 위해 텍을 덜 내키는 대로 사용하는 모양새가 되지 않을까 싶은데요. 그렇다면 차라리 소스 문서를 마크다운으로 만드는 게 낫지 않겠나 하는 생각이 듭니다. 물론 마크다운 대신 이러한 선택을 하신 데에는 그만한 사정이 있겠지만요.
-
Progress
2020.02.10 16:13
그래픽 이미지 삽입을 테스트해봤습니다.
% 추가함
\begin{figure}
\centering{%
\includegraphics{example-image-a}}
\caption{이것은 이그잼플 이미지 A}
\end{figure}작업 폴더에 그림 이미지를 같이 놓아야 잘 인식하는 것 같습니다.
C:\usr\texlive\2019\texmf-dist\tex\latex\mwe 에 있는 example-image-a.{png/ jpg/ pdf}를 모두 복사해놨습니다.- 저렇게 확장자가 각기 다르지만 내용은 동일한 그림을 놓고 컴파일했을 때 pdf 문서에는 example-image-a.pdf가 들어가고, html 파일에는 example-image-a.png가 들어갑니다.
- html 파일에 삽입된 example-image-a.png가 example-image-a.pdf를 lwarp가 다른 무슨 외부 툴을 이용해서 바꾸는 것인지, 원래부터 작업폴더에 있던 파일인지 알 방법은 없습니다. 그래서 작업폴더에 example-image-a.pdf만 놓고 lwarp 컴파일하니까 html에서 pdf 그래픽 이미지는 불러들이지 못하네요.
-
그래서 작업폴더에 example-image-a.png만 놓고 lwarp를 돌리니 잘 들어가네요.
- 작업폴더에 example-image-a.jpg만 놓고 lwarp를 돌리니 html에 안 들어가고 example-image-a.png만 찾습니다.
-
noname
2020.02.11 16:55
두 분 코멘트와 테스트 감사합니다. 확장자 없이 입력한 그림은 정말 png를 찾네요. 확장자까지 다 써넣으면 잘 됩니다마는.
테스트용 파일입니다.
ZIP: oblivoir-htmltest.zip