Q&A 마당은 텍 관련 질문/답변을 위해 만들었습니다.
- 로그인 없이 자유롭게 글을 읽고 쓸 수 있는 철학은 처음과 같이 계속됩니다.
- 질문 전에 아래를 읽어 보세요. 좋은 질문이 좋은 답을 받을 수 있는 좋은 방법입니다.
- 질문에 맞는 제목을 붙이세요. 질문의 내용과 관련없는 "고수님", "긴급질문", "도와주세요"와 같은 제목은 답이 잘 올라오지 않습니다. 이 게시판에 올라오는 모든 글은 질문입니다. 굳이 [질문], [Q]를 적으실 필요도 없습니다.
- 내용을 충실히 적어 주시고, 같은 상황을 재현할 수 있는 최소한의 예제가 같이 있어야 합니다.
- 최소 예제는 "Minimal working example"을 읽어 보세요.
- 파일을 첨부하실 때에는 가능한 압축하여 파일 크기를 줄여서 올려주시길 바랍니다.
- 개인적으로 사용하신 글꼴이 들어 있는 경우, preparefont.sty에 관한 답변을 참조하세요.
- 스팸 글을 막기 위하여 짧은 시간 내에 다시 글이 등록되는 IP를 막거나, 광고 글을 막기 위하여 금지어로 .com, .net 등을 설정하고 있습니다. 다소간의 불편함이 있으시더라도 양해 바랍니다.
- 금지어에서 stackexchange, stackoverflow, ctan, overleaf, , github, google.com, gmail.com, .org, .io, sil.org, wiki.com, tistory.com등은 해제하였습니다.
- MathJax를 이용한 수식조판을 사용하실 수 있습니다. 여기를 참조하세요.
- 사용하는 편집기는 CKeditor입니다.
- 편집기에서 [enter]를 누르면 <p> 태그가 들어가고, 문단으로 생각하고 한 줄을 비웁니다.
- 글줄만 바꾸려면 [shift-enter]를 누르면 <BR> 태그가 들어가므로 용도에 맞게 나누어 쓸 수 있습니다.
- 수식를 문서내에 삽입하시려면 에디터를 툴바에서 [소스]를 눌러 HTML로 입력할 수 있게 바꾸신 후 <pre> </pre> tag를 사용하셔서 <pre> 여러 줄의 수식 </pre>처럼 입력하시면 좋습니다.
LuaLaTeX 과 FancyHeader
2019.04.15 07:00
안녕하십니까
Lua가 없을 때는 macro 를 사용하여 Fancy Header 를 동적으로 만들어서 사용하였습니다.
같은 기능을 Lua로 바꿀려고 하는데 문제가 있어서 문의드립니다. 아래와 같은 구조로 테스트 한 결과
\begin{luacode*} tex.print([[ \fancypagestyle{mystyle8}{ ]]) tex.print([[ \fancyfoot[C]{mystyle-eight \thepage} ]]) tex.print([[ } ]]) tex.print([[ \fancypagestyle{mystyle3}{ ]]) tex.print([[ \fancyfoot[C]{mystyle-three \thepage} ]]) tex.print([[ } ]]) \end{luacode*} \pagestyle{mystyle8} page in mystlye-eight \newpage \pagestyle{mystyle3} page in mystlye-three \newpage \pagestyle{mystyle8} page in mystlye-eight
style이 인식이 되지 않습니다(에러 메시지 참조). 다른 함수들을 Lua로 만들어서 문제 없이 동작하였기 때문에 이 부분이 이해가 되지 않는군요. 도움을 부탁합니다.
"! Undefined control sequence. <argument> \undefinedpagestyle
\pagestyle{mystyle8}
감사합니다.
댓글 8
-
noname
2019.04.15 10:00
-
onionsjk
2019.04.16 00:47
답변감사합니다. 시도해봤습니다만 아직 결과는 동일합니다.
-
yihoze
2019.04.16 08:11
컴파일 가능한 소스를 올려주세요.
-
onionsjk
2019.04.16 11:29
소스를 올립니다.
fancy_macro.tex 는 macro version 이고, fancy_lua.tex 은 lua version 입니다.
-
DohyunKim
2019.04.16 19:23
luacode 는 환경입니다. 환경은 그룹 안에서 실행됩니다.
따라서 luacode 내의 텍 명령과 선언들은 환경이 끝나는 지점에서 사라집니다.
luacode는 루아 코드를 쓰기 위해 만들어진 것이지 텍 코드를 위한 것은 아니라고 여겨집니다.
-
onionsjk
2019.04.17 17:26
아 그게 이유였군요. 그러면 환경안에서 시작하고 완료를 하면
작동할 것이라고 생각해서 간단히 테스트를 해보니 생각대로 작동하는군요.
기존에 사용한 \renewcommand 는 에러가 나서 대신 \def 를 사용했습니다.
Sample code (MWE) 가 준비되는 대로 올리겠습니다. 감사합니다.
-
onionsjk
2019.05.01 12:26
정리된 결과를 공유합니다.
제가 할려고 하는 것은 Lua와 JSON을 사용해서 유연한 code base를 만드는 것입니다.
몇주간 실험을 해본 결과, 들어서 알고 있던 것과는 조금 다르다는 것을 알게되었습니다.
하지만 이제 시작하는 단계이므로 습득해가면서 하면서 방향이 좀더 명확해질 것으로 기대합니다.첫 시도가 dynamic fancy header 입니다.
제가 하고 있는 업무의 특성상 A3/A4 가 혼합된 문서가 많습니다.
설계 도면은 주로 A3 Landscape, datasheet는 A4 portrait 가 일반적입니다.Project기간이 보통 2-3년인데 그 기간에 밣생하는 많은 변경사항을 계약서 대비해서
일관되게 관리하는 것이 중요합니다. 물론 회사별로 나름의 방법이 사용되고 있겠지만 저는
하나의 주제 또는 복합적인 주제에 대해서 일관된 문서를 쉽게 update할 수 있는 문서
시스템이 있으면 좋겠다는 생각이 들었고, 이런 점에서 TeX은 대체 불가한 툴이라고 생각합니다.문제는 제가 TeX을 꽤 오래 사용하였지만 TeX macro은 좀 처럼 익숙해지지 않더군요
그러던 차에 LuaTeX을 알게되었고 제가 할려고 하는데에 유용할 것으로 판단하였습니다.여기까지 배경을 말씀드렸고, 기술적으로 것으로 넘어 가겠습니다.
첨부가 5개 있습니다. compile이 되는것, compile error 나는 것, compile은 되지만
결과가 나오지 않는 것이 있습니다.
첨부-1. koma+fancy+macro.zip
첨부-2. koma+fancy+lua.zip
첨부-3. koma+fancy+lua_err.zip
첨부-4. koma+fancy+lua+json.zip
첨부-5. koma+fancy+lua+json_err.zip문서 안에서 paper size를 동적으로 바꾸기 위해서 KOMA option을 사용하는데 fancy header 와
같이 쓸때 \textwidth 연동하는 방법을 아직 모릅니다. 첨부를 보시면 header, footer에
수동으로 space를 넣어서 가운데 위치하도록 조정한 부분이 있습니다.첨부-3 : KOMA option을 lua 함수 안에 넣으려는 시도인데, compile은 되지만 결과는
나오지 않습니다. 아마도 Lua를 벗어나면서 변경이 사라지는 것 같습니다.
첨부-4 : 조금 주제에서 벗어난 점이 있습니다만..
\begin{tabular*}{10cm}{@{\extracolsep{\fill}} |p{3cm}|p{3cm}|}
와 같이 column이 2개 이상일 때는 전체 길이가 10cm로 확장이 됩니다만
column이 1개가 되면 확장이 안되는 현상이 있습니다.
첨부-5 : KOMA option과 lua 함수를 모아서 하나의 newcommand를 만들려는 시도인데
compile error가 납니다.
참고로 compile 환경은 macOS Sierra 10.12.5 정확히는 Hackintosh입니다.
많은 조언 부탁합니다.
-
onionsjk
2019.05.01 12:38
Lualatex version이 빠졌네요.
$> lualatex -v
This is LuaTeX, Version 1.07.0 (TeX Live 2018)
mystyle8 ==> mystyleeight
mystyle3 ==> mystylethree