2010-05-21 5 views
5

~/my_files/test.tex 아래에 하나의 문서가 있고 test.tex에 ~/latex/styles/info_hypersetup.tex 아래에있는 몇 가지 스타일 정보를 포함하려고합니다.LaTeX에서 절대 경로를 설정하는 방법

내 test.tex 그러나에 다음 문을 포함 할 때 :

%% setting the infos for the pdf 
\include{home/helex/latex/styles/info_hypersetup.tex} 
pdflatex의 test.test 실행할 때 나는 다음과 같은 오류가

:

! I can't write on file `~/latex/styles/info_hypersetup.tex.aux'. 

내가 777에 권한을 설정을하지만,이 아무것도 바뀌지 않았다. test.tex가있는 디렉토리 구조에 info_hypersetup.tex를 넣으면 작동합니다. 그러나이 스타일 정보를 모든 내 문서의 전역 설정으로 사용하고 모든 스타일의 문서를 모든 프로젝트에 복사하고 싶지 않습니다.

도움 주셔서 감사합니다. 당신은 더 나은 뭔가를 발견하면

\newcommand{\home}{../..} 
\input{\home/latex/styles/info_hypersetup} 

바로 알려 : (거기에 많은 사람들이 입력을 사용하지라고하지만 :)에 싶어하기 때문에)

+0

'~/latex/styles /'디렉토리는 쓰기 가능합니까? – kennytm

+0

안녕하세요 KennyTM, 예 sudo chmod -R 777 ~/latex로 설정했는데 오류는 여전히 동일합니다. –

+0

로컬 TeXmf 트리 (~/texmf/tex/latex/local /)에 추가 한 후 texhash를 실행하십시오. 그런 다음 \ include {info_hypersetup.tex}를 수행 할 수 있어야합니다. BTW, 나는이 파일을 실제로 입력하고 싶다고 생각한다 : \ include는 물건을 조판하기위한 것이다. (사용하려고 시도한 경로의 유형을 금지하는 좋은 보안상의 이유가 있습니다.) –

답변

1

은 여기 내 더러운 솔루션입니다. output_any = a int를 texmf.conf로 설정했을 때의 힌트가 작동하지 않았습니다. 나는 우분투를 사용하고있다.

5

~은 유닉스의 경로가 아니라 유닉스 쉘이 $ HOME 값으로 확장하는 경로입니다.

당신은 당신의 문제를 해결하기 위해 몇 가지 방법을 가지고 :

  1. 정의 값이 당신의 라텍스 파일에 코딩 집 (절대 경로가 될 수있는 매크로 \homedir 즉, $의 내용 집). 이식성이 없음 : 파일을 다른 컴퓨터로 옮기면 작동하지 않습니다.
  2. 상대 경로 사용 : 이것이 솔루션의 기능입니다. 파일의 하위 계층 구조를 이동하고 자체 포함되어 있음을주의하면 잘 작동합니다.
  3. 다양한 디렉토리의 하드 코드 된 값을 사용하여 자신의 스타일 파일 (예 : thisfilesystem.sty)을 만듭니다. 그런 다음이 값을 시스템간에 변경할 수 있습니다. 이것은 Makefile에서 자동으로 생성 될 수도 있습니다.
  4. \write18을 사용하여 echo $HOME을 실행하고 \homedir 매크로를 바인딩하십시오. 이식성이 있지만 조언은하지 않습니다. 두려운 보안 구멍이므로 \write18을 피하는 습관을 갖춰야합니다.

2 번을 권하고 싶습니다.

0

문제점 : 작성하거나 컴파일하는 PDF를 닫아야합니다.

솔루션 : 어도비 리더 또는 pdf 파일을 읽고있는 응용 프로그램을 종료하십시오.

관련 문제