![Содержимое переполненной среды \[ \] влияет на запуск моего документа при использовании пользовательской команды](https://rvso.com/image/353741/%D0%A1%D0%BE%D0%B4%D0%B5%D1%80%D0%B6%D0%B8%D0%BC%D0%BE%D0%B5%20%D0%BF%D0%B5%D1%80%D0%B5%D0%BF%D0%BE%D0%BB%D0%BD%D0%B5%D0%BD%D0%BD%D0%BE%D0%B9%20%D1%81%D1%80%D0%B5%D0%B4%D1%8B%20%5C%5B%20%5C%5D%20%D0%B2%D0%BB%D0%B8%D1%8F%D0%B5%D1%82%20%D0%BD%D0%B0%20%D0%B7%D0%B0%D0%BF%D1%83%D1%81%D0%BA%20%D0%BC%D0%BE%D0%B5%D0%B3%D0%BE%20%D0%B4%D0%BE%D0%BA%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D0%B0%20%D0%BF%D1%80%D0%B8%20%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B8%20%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D1%81%D0%BA%D0%BE%D0%B9%20%D0%BA%D0%BE%D0%BC%D0%B0%D0%BD%D0%B4%D1%8B.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
После этого ничего не происходит.
Что еще более странно, так это то, что исключение последнего g).
из уравнения 2 (и, таким образом, предотвращение переполнения \hbox
)делаетведет себя так, как и ожидалось.
\[ \]
Каким образом содержимое может повлиять на ход выполнения моего документа?
NB Ошибка возникает только если Уравнение 2 и используются вместе, пока загружена \notready
опция . В противном случае все идет как и ожидалось.ready