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>처럼 입력하시면 좋습니다.
TexLive에서 추가 인풋 디렉토리 설정 방법?
2012.03.16 16:44
텍에서 사용자가 만든 여러 파일들을 추가하고 싶을때
꼭 현재 디렉토리 내에 두지 않고 특정 디렉토리에 보관하면서 그곳을 절대경로로 표시하지 않고 항상 참조하도록 하는 방법이 없나요?
MikTex에서는 시스템 환경변수 TEXINPUTS에 해당 디렉토리를 써주면 됬었는데
TexLive에서는 그렇게 하면 기존 TEXINPUTS들을 전부 없애고 덮어써 버린 것과 같은 결과가 발생하네요..
컴파일을 하니까 심지어 현재디렉토리에 있는 파일도 찾지를 못하더라고요
아니면 아예 TEXINPUTS에 필요한 모든 디렉토리를 설정해 주는 것이 최후의 방법이 될 거 같은데
이때 필요한 디렉토리는 어디인가요?
댓글 7
-
두텁
2012.03.16 17:28
-
망지장
2012.03.17 13:58
먼저 두텁님께 답변 감사드립니다.
제가 더 많은 삽질을 통해 얻은 지식은
많은 변수들이 C:\usr\texlive\2011\texmf\web2c\texmf.cnf 파일에 정의되어 있다는 것입니다.
또한 시스템 환경변수는 이곳에 정의된 변수를 덮어 써 버리기 때문에 이런 짓은 지양해야 할 것 같구요..
문제는 texmf.cnf에서
"TEXINPUTS = .;$TEXMF/tex/{$progname,generic,}//"
위와 같은 line을 찾아서 뒤에 내가 지정하고 싶은 디렉토리를 추가로 넣어주었는데요
"TEXINPUTS = .;$TEXMF/tex/{$progname,generic,}//;$TEXMFROOT/../../texinputs"
그 디렉토리에 내가 만든 추가 파일(e.g. abc.tex)을 넣고 컴파일을 진행하여도 여전히 똑같은 문제가 발생한다는 것입니다.
! LaTeX Error: File `abc.tex' not found.
왜 안되는걸까요? 도대체 어떻게 해야 할까요... 도와주세요ㅠㅠ
-
ndh
2012.03.17 17:55
일단 말씀하신 파일은 건드리면 안 되는 것입니다. 원래대로 돌려놓으세요.
사용자가 수정할 수 있는 파일은 c:\usr\texlive\2011\texmf.cnf 입니다.
거기 보면 TEXMF라는 변수가 있는데 예를 들면
TEXMF = {$TEXMFCONFIG,$TEXMFVAR... 이런 식으로 정의되어 있을 것입니다.
그러니까 예를 들면
MYTEXMF = c:/mylotexmf
라는 변수 하나를 이 파일에서 정의하고 이 변수로 위의 TEXMF에 추가하세요.
TEXMF = {$MYTEXMF...}
---
그런데... 사용자 파일을 넣어두기 위해 미리 마련되어 있는 것이 texmflocal이라는 곳입니다. 여기에 넣지 않으시는 이유가 있는가요? 그리고 관리자가 아닌 사용자를 위해 마련된 곳으로 자신의 home 폴더 (HOME 환경 변수가 있으면 거기, 없으면 C:\Users\Username(윈도우즈 7의 경우. XP는 위치가 좀 다릅니다) 아래에 texmf라는 폴더를 하나 만들면 거기 원하는 파일을 넣을 수도 있습니다.
이 두 곳은 별도의 설정이 필요없습니다. 그냥 가져다 넣기만 하면 되지요. (물론 texmf/tex/latex// 아래에 가져다둬야겠습니다만...)
-
망지장
2012.03.19 11:07
texmflocal은 texmf-local을 말씀하시는 것이죠?
그 폴더의 하위디렉토리 어느곳에 넣어도 프로그램이 찾지 못했습니다.
home폴더에 texmf/tex의 하위디렉토리에 넣으면 찾았습니다.
또한 TEXMF의 정의는 c:\usr\texlive\2011\texmf.cnf에는 없고 c:\usr\texlive\2011\texmf\web2c\texmf.cnf에 있는데요
그러면 c:\usr\texlive\2011\texmf.cnf에 다음 부분을 추가하면 되는건가요?
MYTEXMF = c:/mylotexmf
TEXMF = {$MYTEXMF, "기존의 것들"}
일단 이렇게 했을 시 의도한 결과는 얻지 못했습니다.
현재로서 실현되는 방법은 두번째 방법(home폴더)뿐이군요
뭐 이 방법만으로도 충분히 문제는 없습니다.
답변 감사드립니다^^
-
yihoze
2012.03.20 08:33
저는 c:\usr\texlive\2011\texmf.cnf에 다음과 같이 지정했습니다.
TEXMFHOME = D:/home/texmf
이게 아마 원하시는 것이지 싶습니다. texmf-local에 넣은 것들은 곧바로 찾지 못하죠. mktexlsr 명령으로 파일네임 데이터베이스를 갱신해야 합니다. 그런데 TEXMFHOME으로 지정된 폴더에 넣어두면 텍이 먼저 접근해서 검색하기 때문에 mktexlsr을 실행할 필요가 없습니다. 아마도 원하시는 게 이게 아닌가 싶습니다. -
망지장
2012.03.20 15:43
감사합니다.
그런데 c:\usr\texlive\2011\texmf.cnf 에 설정한 것은 전혀 먹지가 않는데요?
c:\usr\texlive\2011\texmf\web2c\texmf.cnf 에서 설정하면 되는데... (TEXMFHOME의 디렉토리만 바꿔주면)
c:\usr\texlive\2011\texmf\web2c\texmf.cnf 에 있는 내용을 지우고 c:\usr\texlive\2011\texmf.cnf 에 설정해도 먹지 않고...
왜 이럴까요?
-
yihoze
2012.03.20 18:39
제가 겪었던 문제는 단 한 가지 였습니다. TEXMFHOME = ... 여기에서 "=" 앞뒤로 공백을 주어야 했습니다. 혹시 2010 텍라이브도 같이 설치되어 있어서 경로를 혼동하시거나 하는 것은 아니겠지요?
여기는 질문/답변 게시판이 아닙니다만...
기존 TEXINPUTS 값에 다른 디렉토리를 환경 변수 지정을 통해 더하려시는 것인데, TeX Live 설명서의 다음 부분을 참조하여 실험해 보시기 바랍니다.