
elsarticle
옵션이 활성화된 문서 클래스를 사용하고 있습니다 draft
. 초안 모드에서는 명령으로 가져온 파일 \input{}
도 건너뛸 것이라고 생각했지만 그렇지 않습니다. 나는 \input{}
Ti에 대한 명령을 사용합니다케이Z 사진과 테이블은 별도의 파일에 저장됩니다.
패키지 를 사용하여 해결 방법을 찾았 ifdraft
지만 초안 모드 \input{}
도 자동으로 줄을 건너뛰어야 한다고 생각합니다.
이 동작은 버그입니까 아니면 기능입니까?
\ifdraft
모든 명령 앞에 명령을 포함하는 것보다 더 쉬운 해결 방법이 있습니까 \input{}
?
댓글 후 수정:
\input
가져올 수 있는 파일이 없을 때 명령이 컴파일에 실패하지 않으면 충분합니다 . 즉, 오류를 경고로 줄이고 싶습니다. 가능합니까?
답변1
external
Ti를 사용하세요케이대신 Z 라이브러리. 해당 라이브러리를 사용하면 각각이 tikzpicture
별도의 LaTeX 실행에서 컴파일되고( 로 컴파일해야 함 -shell-escape
) 해당 그림의 생성된 PDF 파일이 포함됩니다. 아래 예제 문서는 첫 번째 실행에서 2초가 걸리고 다음 실행에서는 0.3초가 걸립니다. 또한 draft
옵션을 사용하고 그림이 외부 PDF 파일이므로 그림 포함을 생략하고 대신 일반 상자가 나타납니다.
없이 draft
:
와 함께 draft
:
\documentclass[draft]{article}
\usepackage{tikz}
\usetikzlibrary{external}
\tikzexternalize
\begin{document}
hello
\begin{tikzpicture}
\foreach \i in {1,...,1000}
\node at (0,0) {picture that takes a long time to compile};
\end{tikzpicture}
bye
\end{document}
업데이트와 관련하여 LaTeX의 입력은 대략 다음과 같습니다.
\InputIfFileExists{file}%
{}% do nothing if the file exists
{\ERROR{file does not exist}}
그래서 당신은 다음을 정의할 수 있습니다 \myinput
:
\newcommand\myinput[1]{%
\InputIfFileExists{#1}%
{}% do nothing if the file exists
{\PackageWarning{Mathiassa}{File '#1' not found.}}%
}
그리고 당신이 대담하다고 느끼고 \input
그렇게 행동하고 싶다면 정의하는 대신 \myinput
재정의할 수 있습니다 \@iinput
(이를 처리하는 LaTeX 매크로).