AUCTeX를 사용하여 '독립형' 패키지(macOS)를 사용하여 TikZ 사진의 PNG 파일을 만드는 방법은 무엇입니까?

AUCTeX를 사용하여 '독립형' 패키지(macOS)를 사용하여 TikZ 사진의 PNG 파일을 만드는 방법은 무엇입니까?

AUCTeX를 사용하여 TikZ 사진의 PNG 이미지를 만들고 싶습니다.패키지standalone. 저는 macOS Sierra를 사용합니다.

standalone문서 v1.2-2015/07/15(섹션 4.6) 에 따르면이미지로 변환, p. 15)

클래스 옵션을 사용하면 convert독립형 파일을 래스터 이미지로 쉽게 변환할 수 있습니다. 이는 외부 프로그램을 실행하여 출력 파일(PDF 또는 PS)을 이미지로 변환함으로써 수행됩니다(무손실 PNG 형식이 권장되지만 다른 형식도 지원됨).

하위 섹션 4.6.1에 따름변환 설정(15쪽)

변환 설정은 옵션 값으로 주어질 수 있습니다 convert={<settings>}. 기본적으로 변환은 비활성화되어 있습니다 (convert=false). 자체 설정( convert,convert=true)을 제공하지 않고 활성화한 경우 다음 기본 설정이 사용됩니다: PNG 형식, 밀도 300dpi, 명시적 크기 없음 및 출력 파일 이름은 \jobnameLaTeX 문서의 이름으로 지정됩니다. 이 convert옵션을 다른 값과 함께 사용하면 false활성화됩니다.

섹션 4.6.2에 따르면변환 소프트웨어(16쪽)

변환을 위해서는 외부 이미지 변환기 프로그램이 설치되어 있어야 합니다. 기본적으로 다음 두 가지 도구가 지원되며 변환 기능을 사용하려면 둘 중 하나를 설치해야 합니다. 외부 프로그램을 실행하려면 -shell-escape컴파일러 실행 파일(예: )에 옵션을 사용해야 합니다 pdflatex -shell-escape filename. 이 옵션이 없으면 변환이 불가능합니다.

기본적으로 변환 프로그램은이미지 매직PDF LaTeX 파일에 사용됩니다 [...]

그래서 나는 사용했다홈브류(macOS에서 널리 사용되는 패키지 관리자)를 사용하여 Image Magick을 설치합니다. 디렉토리에 설치되었습니다 /usr/local/Cellar/imagemagick/7.0.6-0. 그런 다음 ~/.emacsEmacs가 Image Magick 실행 파일을 찾을 위치를 알 수 있도록 Emacs 초기화 파일( )에 다음 줄을 추가했습니다 .

(setenv "PATH" (concat (getenv "PATH") ":/usr/local/Cellar/imagemagick/7.0.6-0/bin/"))
(setq exec-path (append exec-path '("/usr/local/Cellar/imagemagick/7.0.6-0/bin/")))

Emacs를 다시 시작한 후 다음과 같은 LaTeX 원고를 작성했습니다 my_tikz_drawing.tex.

\documentclass[tikz,convert]{standalone}
\begin{document}
\begin{tikzpicture}
  \draw (0,0) -- (1,1)
   [rounded corners] -- (2,0) -- (3,1)
   [sharp corners] -- (3,0) -- (2,1);
\end{tikzpicture}
\end{document}

%%% Local Variables:
%%% mode: latex
%%% TeX-master: t
%%% TeX-engine: default
%%% TeX-command-extra-options: "-shell-escape"
%%% End:

그리고 이를 사용하여 컴파일했습니다 C-c C-a.

결과는 PDF 파일이었지만 적어도 LaTeX 원고가 있던 디렉터리에는 PNG 파일이 생성되지 않았습니다.

그런 다음 터미널(macOS 명령줄 콘솔)을 열고 cdLaTeX 원고가 포함된 디렉터리로 이동한 후 다음 명령을 실행했습니다.

pdflatex -shell-escape my_tikz_drawing

결과는 my_tikz_drawing.png동일한 디렉토리에 파일이 있었습니다.


가능한 단서

로그 파일에 있는 다음 명령을 터미널에서 한 번, Emacs에서 한 번(M-! 사용) 실행:

convert -density 300 my_tikz_drawing.pdf -quality 90 my_tikz_drawing.png

다음과 같은 결과가 나옵니다.

  • 터미널에서: 명령이 자동으로 실행되고 파일이 생성됩니다 my_tikz_drawing.png.

  • Emacs에서: PNG 파일이 생성되지 않으며 미니 버퍼에 오류 메시지가 표시됩니다.

변환: 'my_tikz_raw.png' @error/convert.c/ConvertImageCommand/3254에 정의된 이미지가 없습니다.

이는 Emacs pdflatex 실행 결과에 나타나는 것과 동일한 오류입니다.

답변1

Emacs는 GhostScript 실행 파일을 찾을 수 없습니다. 달리다

which gs

터미널에서 경로를 복사합니다 /usr/local/bin. 그런 다음 Emacs 초기화 파일(예: )에 다음 행을 추가하고 ~/.emacsEmacs를 다시 시작하십시오.

(setenv "PATH" (concat (getenv "PATH") ":/usr/local/bin/"))
(setq exec-path (append exec-path '("/usr/local/bin/")))

(이 줄 중 첫 번째 줄은 반드시 필요하지는 않지만 해롭지는 않습니다...)


이 답변은 Image Magick 사용자 포럼의 좋은 분들 덕분에 가능했습니다.내 게시물.

관련 정보