Алгоритм вставки довольно сложный. По сути, вы хотите, чтобы любая ожидающая вставка не помещалась на страницу, где применяется env bioclipse
. В качестве первого быстрого решения вы можете сначала очистить все вставки, а затем начать новую главу. Если вы хотите поместить цифры или что-то еще в среду, и вы хотите, чтобы они «сбрасывались» только после последней страницы, на которой работает env ... Второе быстрое решение: поместите их непосредственно после среды !! Таким образом, они не будут «раздражать» страницу (ы) (конечно, избегайте использования сносок).
Другое решение (в некотором роде автоматическое) немного сложнее. Места вставки для «ожидающих» материалов выбираются при построении вертикального списка, который является страницей («кандидат»), в процедуре вывода. Это означает, что в худшем случае вы должны поиграть с программой вывода; но, может быть, это слишком много, если вы не планируете свой собственный формат TeX, и, возможно, LaTeX предлагает более легкий выбор ...
Копая немного в кодах LaTeX, я вижу, что есть условие, которое вы можете попробовать использовать, это \@insert*
, т.е. \@insertfalse
и \@inserttrue
. Если вам повезет, они «управляют» возможностью вставки вставок, так что в начале вашей env вы можете сказать \@insertfalse
, а в конце \@inserttrue
. Попробуйте , я не говорю, что это работает.
Как вы, наверное, знаете, использовать @ в качестве буквенного кода для того, чтобы оно могло быть частью имени «команды», вы должны использовать \makeatletter
и \makeatother
, когда закончите (вероятно, преамбула класса / стиля по умолчанию делает это для вы).
Вы также можете заинтересоваться стилем placeins
(он может быть уже в вашей установке, в противном случае см. Здесь ), который, очевидно, может решить (частично) вашу проблему.