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>가 들어가므로 용도에 맞게 나누어 쓸 수 있습니다.
hzquide 화첩 테스트
2015.10.20 13:45
yihoze님 화첩테스트(링크) 해봤습니다.
1. 제공해주신 powershell script 써서 실행
: powershell 은 처음 들어보는거라 일단 .ps1으로 저장하고 "window키"+R 하여 powershell 을 찾으니 "Windows PowerShell", "W. P. ISE" 등 여러개가 나오네요. 우선 cmd 창과 비슷한 powershell 에서 실행했더니 권한문제 에러를 내며 실행이 안됩니다. 그래서 ISE(통합환경?) 를 실행해서 .ps1을 읽고 line by line 으로 디버깅하는 기분으로 실행... 했더니 다른 에러가 나는군요. (hzguide 클래스가 없군요)
2. hzguide 클래스 설치
: 다음단계로 hzguide 클래스를 설치합니다. (/usr/texlive/texmf-local/tex/latex/ 으로 복사 후 mktexlsr)
3. hzguide 매뉴얼 컴파일
: hzguide 가 잘 실행되는지 매뉴얼 컴파일을 해봅니다... 만, shell-escape 가 안된다는 에러...
: 다시 texworks 환경설정으로 가서 xelatex option 에 --shell-escape 추가.
: 그러나 minted 쪽 에러 발생. python 이 필요한거군요.
: 아직 여러가지 에러는 해결못했습니다.
첫번째 에러
! Undefined control sequence.
l.12 \RenewReference
[MidnightBlue]{\titleref}
?
4. python 설치
: 2.7.10 버전 설치하고, pygmentize 추가 설치(easy_install 이용)
5. 다시 화첩테스트로...
: 수십개의 .pdf, .jpg, .png 파일을 넣어놓고 powershell script 실행
: 컴파일은 되나, 그림이 한줄로 인쇄되는 에러발생
: Expl3 스크립트를 blog 본문에 적으신대로 아래와 같이 재정의해서 컴파일
: 컴파일성공!
\documentclass[twocolumn]{hzguide}
\ExplSyntaxOn
\RenewDocumentCommand \MakeAlbum { O {0.5} m }
{
\PlaceImageSetup{scale=#1, showfilename=true}
\ior_open:Nn \l_txt_ior { #2 }
\ior_map_inline:Nn \l_txt_ior
{
\tl_set:Nn \l_tmpa_tl { ##1 }
\tl_trim_spaces:N \l_tmpa_tl
\tl_if_empty:NF { \l_tmpa_tl }
{
\placeimage{\l_tmpa_tl}\par
}
}
\ior_close:N \l_txt_ior
}
\ExplSyntaxOff
\LayoutSetup{paper=A4}
\begin{document}
\MakeAlbum[0.2]{Album.txt}
\end{document}
6. 소감
: 논문쓸때 또는 문서작성시 정말 편리할 것 같습니다.(감솨~)
: pygment(minted?) 쪽 에러인지 highlight 가 잘 안됩니다.
: 기존 hzguide.cls 에 적혀진 \MakeAlbum 과 blog 본문에 \MakeAlbum 이 다른지 그림정렬이 첨부그림과 같이 잘 안됩니다.
: \MakeAlbum 재정의 후
~
댓글 9
-
yihoze
2015.10.20 14:19
-
negatropy
2015.10.20 14:39
고생은 아니었고 다양한 기법을 따라가보는 재미가 있었습니다 ^^
그림 많은 tex 문서를 작성할 때 파일이름을 어떻게 작명해야 쉽게 본문에 넣을 수 있을지 고민하다가 화첩 글을 보고 문득 시도해봤습니다. 기존에는 4-12bSEM.jpg 등과 같이 그림 번호도 넣어보고 했었는데 말 그대로 삽질이 되다보니...
어쨋든 그림 많은 문서에서 활용가치가 분명히 있을듯합니다.
프로그램으로 만들어도 좋겠다는 생각도 해봤지만 더 큰 삽질이 될 듯 하여 접어두었습니다.
줄넘김은 많은 고민이 있으셨던 결과였군요.
-
yihoze
2015.10.20 14:45
이미 아시겠지만, minted 패키지 사용에 대해 정리하자면,
1) hzguide 클래스에 verbatim 옵션을 주면
2) minted 패키지를 부르는데
3) 이것은 python과 pygmentize 파이썬 모듈을 요구합니다.
4) 그리고 컴파일 할 때 -shell-escape를 요구합니다.
#>xelatex -shell-escape -8bit foo.tex
minted 패키지 설명서에 나오는 것입니디만, xelatex으로 컴파일할 때, 아래와 같이 쓴 탭 문자가 온전히 표현되게 하려면 -8bit 옵션까지 주어야 합니다.
\begin{minted}{latex}
여기에 탭 문자를 썼을 때 ...
\end{minted}
클래스 파일은 수시로 수정하고 깃허브에 올리지만 설명서 파일은 그렇게 하지 않습니다. 그래서 컴파일 오류가 발생했을 것입니다. 아래 링크한 압축 파일에 이미지 파일까지 묶었습니다. 그것을 사용해 보세요.
https://dl.dropboxusercontent . com/u/15109055/HzGuide.zip
-
yihoze
2015.10.20 14:57
파워셸 콘솔을 실행한 뒤에, 사용 권한 문제를 피하기 위해 아래와 같이 선언하세요. 한 번만 하면 됩니다.
#>set-executionpolicy remotesigned
저는 파워셸을 아무 데서나 편하게 불러 쓰기 위해 FreeCommander와 ConEmu를 사용합니다. 제 블로그에 그 설정 방법을 간략히 남겼습니다.
http://hoze.tistory . com/1105
-
yihoze
2015.10.20 15:01
마지막으로 makealbum.ps1에 대해 말씀드리겠습니다.
#>makealbum.ps1
이러면 album.pdf 파일이 생기는데요. 이미지들이 글줄에 비해 넓다면 이미지 크기를 줄일 필요가 있습니다.
#>makealbum foo 0.5
foo.pdf가 생기고 거기에 담긴 이미지들은 원래 크기의 50%입니다.
-
yihoze
2015.10.20 15:14
췌언을 덧붙이자면, 저는 이미지 파일에 expl3 변수 명명 방식과 비슷하게 이름을 붙입니다. expl3의 영향을 받은 건 아니고, 시행착오를 겪은 뒤에 아래와 같이 규칙을 정하여 사용해 왔습니다.
1) CamelCase를 쓰거나 밑줄(underscore)를 사용한다. 하이픈을 사용하지 않는다.
ScreenHome 또는 screen_home (지금은 camelcase보다 밑줄 사용을 선호합니다.)
2) 그룹_물건 또는 행위_물건
comp_cable_adapter.pdf (경우에 따라 comp 대신 acc를 쓰기도 합니다.
이것은 구성품인데, 케이블 아답터라는 의미입니다.
install_anchor_bolts.pdf는 앵커 볼트를 설치하는 방법을 보여주는 그림입니다. (대개의 텍 사용자들은 이런 그림을 취급하지 않겠지만요.)
fasten_connecting_bracket_expansion.pdf 같은 이름은 좀 지나치게 길어 보이지만, 처음 만들 때 성가셔도 나중에 관리하기에는 편합니다.
3) 약어나 번호의 사용을 피한다.
나중에 헷갈립니다.
-
negatropy
2015.10.20 15:20
자세한 해설 감사합니다.
- 링크의 새로운 hzguide로 컴파일 잘 됨을 확인했고,
- 파워쉘쪽은 웹검색으로 그렇게 했었습니다.
- 에러가 나서 살펴보고자 부수파일을 자동으로 지우는 라인을 삭제 후 소스파일을 가지고 테스트하다가 이미지 크기를 줄이는 옵션이 있는줄은 알았는데 파워쉘 인자로 주게끔 되어있었군요.
편리하게 잘 쓰겠습니다.
-
yihoze
2015.10.20 15:27
파워셸이 cmd에 견주면 상당히 훌륭하지만, 맥이나 리눅스의 배시와 비교할 정도는 못 되는 것 같아요.
문제의 부수 파일을 지우는 라인, delaux.ps1은 이렇습니다.
# Remove tex auxiliary files
$files = @("aux", "idx", "ind", "lof", "log", "lop", "lot", "minted*", "mw", "nav", "out", "synctex*", "snm", "toc*", "upa", "upb", "vrb")
foreach ($element in $files)
{
if (Test-Path("*.$element")) { remove-item "*.$element" }
}
if (Test-Path("_minted*")) { remove-item "_minted*" -recurse }
if (test-path("tempverb.tex")) { remove-item "tempverb.tex" }
-
negatropy
2015.10.20 15:36
네, 그 부분에서도 걸렸었는데 테스트할때 yihoze님 블로그에서 찾았습니다. ^^
고생하셨다니 송구스럽습니다. 하나씩 답변 드리겠습니다. 우선 그림 정렬 문제부터 말씀드리겠습니다. 실은 정렬이 아니라 줄넘김이 없어서 생긴 문제입니다.
\placeimage{\l_tmpa_tl}\par
전에는 \par 없이도 되게 했었는데 이런저런 이유로 \par를 써야 하도록 수정했습니다. \placeimage는 \object_skip_before, \object_skip_after를 불러서 앞뒤로 간격을 넣는데요. 이 명령들을 다른 여러 개체가 더불어 이용합니다. 개체가 위치하게 되는 여러 경우들이 있고, 그 모든 경우들을 고려한 뒤에 제가 내린 결정은 개체 앞뒤에 빈 줄 또는 \par를 두자는 것입니다. 이렇게요.
***
텍스트
\placeimage{foo}
텍스트
***
이 고민에 대해 제 블로그에 글을 남겼습니다.
http://hoze.tistory . com/1202