![사용자 정의 명령과 결합하면 너무 꽉 찬 \[ \] 환경의 콘텐츠가 내 문서 실행 여부에 영향을 미칩니다.](https://rvso.com/image/353741/%EC%82%AC%EC%9A%A9%EC%9E%90%20%EC%A0%95%EC%9D%98%20%EB%AA%85%EB%A0%B9%EA%B3%BC%20%EA%B2%B0%ED%95%A9%ED%95%98%EB%A9%B4%20%EB%84%88%EB%AC%B4%20%EA%BD%89%20%EC%B0%AC%20%5C%5B%20%5C%5D%20%ED%99%98%EA%B2%BD%EC%9D%98%20%EC%BD%98%ED%85%90%EC%B8%A0%EA%B0%80%20%EB%82%B4%20%EB%AC%B8%EC%84%9C%20%EC%8B%A4%ED%96%89%20%EC%97%AC%EB%B6%80%EC%97%90%20%EC%98%81%ED%96%A5%EC%9D%84%20%EB%AF%B8%EC%B9%A9%EB%8B%88%EB%8B%A4..png)
저는 .sty
다음과 같은 파일을 만들었습니다.
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{printready}[2017/04/19 Defines "ready" and "notready"]
%%%
\newif\if@ready
\DeclareOption{ready}{%
\@readytrue%
}
\ProcessOptions\relax
\def\ready#1{%
\if@ready
#1
\else
\fbox{Here goes a picture}
\fi
}
\def\notready#1{%
\if@ready
{\PackageError{printready}{Custom error message}{Custom error text}}
\else
\fbox{Here will be a picture; It's not ready yet.}
\fi
}
\endinput
이는 명령 \ready
과 를 정의합니다 \notready
. 이것이 어떻게 동작할지는 옵션이 ready
패키지와 함께 로드되는지 여부에 따라 달라집니다 .
이제 다음 MWE를 고려하십시오.
\documentclass[a4paper]{article}
\usepackage[ready]{printready}% Ready option activated
\usepackage{mathtools}
\begin{document}I found that this must mean that
%%% Let's call this Equation 1
\[waaaaaaaaaaaaaaaaaaaaaaaaaaaayyyyyyyyyyyyyyyyy toooooooooooooooooooooo loooooooooooooooooooooooooooooooooong\]
%
%%% Let's call this Equation 2
\[p= \frac{2q}{2-q}(1-2g) \implies p(2-q)=2q(1-2g) \implies p|2q(1-2g) \implies p \leq 2q(1-2g).\]
\begin{figure}[htbp]\centering
\notready%
{%
Picture1
}\caption{caption}
\end{figure}
\end{document}
방정식 1만 입력하고 방정식 2는 입력하지 않으면 모든 것이 예상대로 작동합니다. 즉, 사용자 정의 오류 메시지가 나타납니다.
방정식 2를 입력하면 가장 특이한 일이 발생합니다. 내 달리기는 표시되지 않고 그냥 멈춥니다.어느에러 메시지. TeXWorks의 콘솔 출력의 마지막 줄은 다음과 같습니다.
Overfull \hbox (4.37506pt too wide) detected at line 11 \OML/cmm/m/it/10 p \OT1/cmr/m/n/10 = [](1 \OMS/cmsy/m/n/10
이 이후에는 아무 일도 일어나지 않습니다.
더 이상한 점은 방정식 2에서 최종값을 빼는 것입니다 g).
(따라서 overfull을 방지함 \hbox
).하다예상대로 동작합니다.
\[ \]
이런 식으로 내 문서의 실행에 내용이 어떻게 영향을 미칠 수 있습니까 ?
\notready
주의 옵션이 ready
로드되는 동안 방정식 2와 를 함께 사용하는 경우에만 오류가 발생합니다 . 그렇지 않으면 모든 것이 예상대로 진행됩니다.