Как не иметь никакого разрыва страницы после \include в ЛАТЕКСЕ

Всеми этими решениями являются достойные, но для базовой библиотеки, и независимость разделителя и достойная скорость важны. Вот функция, которая соответствует требованию, предполагающему, что язык имеет некоторую форму строкового разработчика.

public static string join(String[] strings, String sep) {
  if(strings.length == 0) return "";
  if(strings.length == 1) return strings[0];
  StringBuilder sb = new StringBuilder();
  sb.append(strings[0]);
  for(int i = 1; i < strings.length; i++) {
    sb.append(sep);
    sb.append(strings[i]);
  }
  return sb.toString();
}

РЕДАКТИРОВАНИЕ: Я предполагаю, что должен упомянуть, почему это было бы более быстро. Главная причина состояла бы в том, потому что любое время Вы называете c = + b; базовая конструкция обычно c = (новый StringBuilder ()) .append (a) .append (b) .toString ();. путем многократного использования того же строкового разработчика объект мы можем уменьшить объем выделений и мусора, который мы производим.

И прежде чем кто-то согласится с оптимизацией, является злым, мы говорим о реализации общей библиотечной функции. Приемлемая, масштабируемая производительность является одним из требований их. Соединение, которое занимает много времени, является тем, которое это будет не часто используемым.

105
задан Chris Martin 18 January 2018 в 20:07
поделиться

2 ответа

\ include всегда использует \ clearpage , что не совсем разумное значение по умолчанию. Он предназначен для целых глав, а не для подразделов (в любом случае, зачем вам нужны подразделы в отдельных файлах?).

Вы можете исправить это, используя \ input {filename} или загрузив ] newclude package и записать вместо него \ include * {filename} .

148
ответ дан 24 November 2019 в 04:00
поделиться

Спасибо, Кембридж !

используйте \ include вместо \ input и используйте команду \ includeonly для выбора разделов для обработки

2
ответ дан 24 November 2019 в 04:00
поделиться
Другие вопросы по тегам:

Похожие вопросы: