사용자 정의 명령과 결합하면 너무 꽉 찬 \[ \] 환경의 콘텐츠가 내 문서 실행 여부에 영향을 미칩니다.

사용자 정의 명령과 결합하면 너무 꽉 찬 \[ \] 환경의 콘텐츠가 내 문서 실행 여부에 영향을 미칩니다.

저는 .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와 를 함께 사용하는 경우에만 오류가 발생합니다 . 그렇지 않으면 모든 것이 예상대로 진행됩니다.

관련 정보