В llpp можно быстро читать большие PDF, EPUB, XPS и CBZ, переходить по оглавлению и ссылкам, искать текст, ставить закладки, вращать страницы, убирать поля, менять масштаб и яркость, включать инверсию и раскладывать страницы по нескольким колонкам. Основная работа выполняется клавишами и мышью, а режимы bird’s-eye, outline, bookmarks и info помогают мгновенно менять позицию, возвращаться после переходов и настраивать отображение без громоздких панелей.
Окно почти целиком занято документом: страницы идут непрерывной лентой, а краткие сообщения о масштабе, позиции, поиске или выбранной команде появляются поверх изображения только тогда, когда они нужны. Поэтому llpp особенно удобен при последовательном чтении технических руководств, научных статей, чертежей и книг, где важны скорость прокрутки, точное возвращение к месту и предсказуемые клавиши.
Рабочий процесс строится вокруг нескольких устойчивых действий: открыть файл с нужной страницы, подобрать масштаб, убрать пустые поля, перейти к разделу через outline, отметить важные места, найти термин и вернуться назад после ссылки. Эти действия связаны между собой общей историей переходов, поэтому чтение не превращается в постоянный поиск потерянной страницы.
Скачать llpp
- Редактирование PDF
- Русский интерфейс
- Просто новичкам
- Нет нативного Wayland
- Ограниченные аннотации
- Нет визуального редактора
Как устроено окно llpp
В обычном режиме нет постоянной боковой панели, ленты инструментов и ряда мелких кнопок. Пространство отдано страницам, а команды вызываются одной клавишей, сочетанием или жестом мыши. Такой подход требует запомнить несколько основных действий, зато после освоения не заставляет переводить взгляд с текста на элементы управления. В центре внимания остаются строки, формулы и иллюстрации, а не оболочка вокруг них.
Страницы образуют вертикальную ленту с небольшими промежутками. При прокрутке нижняя часть одной страницы и верхняя часть следующей могут одновременно находиться на экране. Это полезно для таблиц, продолженных на следующем листе, для проверки переноса абзаца и для сопоставления подписи с рисунком. Переход клавишей Space перемещает к следующей странице, а Page Up и Page Down сдвигают содержимое на размер видимой области, поэтому пользователь может выбирать между постраничным и непрерывным чтением.
Состояние команды показывается кратким информационным слоем. При вводе номера страницы видно набираемое значение, при поиске — строку запроса, при изменении масштаба — его числовой параметр, а при ошибке — текст диагностического сообщения. Слой не занимает постоянное место и исчезает после завершения действия. Если сообщение слишком быстро пропало, клавиша e открывает журнал ошибок, где проще проверить причину неудачной команды или проблемы с документом.

Прокрутка и точное перемещение по страницам
Стрелки вверх и вниз двигают документ плавно, а стрелки влево и вправо панорамируют увеличенную страницу. С модификатором Ctrl сдвиг составляет примерно половину ширины или высоты экрана, поэтому крупный чертёж можно просматривать крупными шагами, не теряя ориентир. Колесо мыши отвечает за вертикальную прокрутку, Shift с колесом — за горизонтальную, а горизонтальное колесо или дополнительные кнопки мыши позволяют панорамировать без клавиатуры.
Клавиши g и Home переходят к началу, G и End — к концу. Цифры вводят номер страницы, после чего позиция меняется напрямую. Команда t выравнивает верх страницы с верхом окна; это удобно после свободной прокрутки, когда начало листа оказалось посередине экрана. Ctrl+Page Up и Ctrl+Page Down выравнивают первую или последнюю видимую страницу, что помогает привести многоколоночное представление к аккуратной границе.
При длинном чтении полезно различать перемещение и переход. Прокрутка меняет видимую область, а переход по ссылке, оглавлению, закладке или результату поиска добавляет точку в историю. Backspace возвращает к предыдущей точке, Alt+Left идёт назад, а Alt+Right — вперёд. Благодаря этому можно открыть сноску на сотой странице, посмотреть определение и одним действием вернуться к исходному абзацу, не запоминая номер листа.
Масштаб без постоянной панели
Ctrl+плюс и Ctrl+минус изменяют масштаб ступенями, Ctrl+0 сбрасывает ручную настройку, а Ctrl+1, Ctrl+2, Ctrl+3 и Ctrl+4 переключают заранее предусмотренные варианты подгонки и отображения в натуральном размере. Конкретный результат зависит от геометрии страницы и окна, поэтому после переключения стоит проверить, помещается ли строка целиком и не стало ли изображение слишком мелким. Клавиша w подстраивает высоту окна под страницу, что особенно удобно для презентаций и листов альбомной ориентации.
Правой кнопкой мыши можно обвести прямоугольник и увеличить именно выбранный участок. Это быстрее последовательного наращивания масштаба при чтении мелкой подписи, фрагмента схемы или ячейки таблицы. После изучения детали возврат к общему виду выполняется стандартной командой масштаба. Прямоугольное увеличение не изменяет сам файл и не обрезает страницу; оно лишь временно определяет видимую область.
Режим block zoom, вызываемый клавишей B, ищет содержательный блок под указателем и подгоняет его к окну. Он полезен для колонок, фрагментов текста и иллюстраций, окружённых пустым полем. Результат зависит от структуры страницы: если PDF представляет собой одно большое изображение, границы смысловых блоков могут определяться хуже. В таком случае надёжнее вручную выделить прямоугольник или включить обрезку полей.
Как выбрать масштаб для разных документов
- Для обычной статьи сначала подгоните ширину, затем уберите поля, если строки всё ещё выглядят мелкими.
- Для таблицы увеличьте конкретный фрагмент прямоугольником, а не всю страницу, чтобы не потерять соседние заголовки.
- Для сканированной книги оставьте небольшой запас по краям: так при прокрутке проще видеть границу листа.
- Для слайдов подгоните страницу по высоте и включите презентационный режим, чтобы каждый кадр занимал устойчивое положение.
- Для чертежа сочетайте крупный масштаб с Ctrl+стрелками, перемещающимися на половину экрана.
Обрезка пустых полей
Команда trim margins, связанная с настраиваемым параметром T, уменьшает влияние пустых краёв страницы на масштаб. Она особенно заметна в научных статьях с широкими издательскими полями: после включения текст занимает большую часть окна без ручного обведения каждой страницы. Обрезка влияет на отображение, а не удаляет поля из PDF, поэтому исходная геометрия сохраняется.
Автоматическая оценка полей работает лучше, когда фон действительно пустой и одинаковый. Скан с тенями переплёта, штампами или заметками на краю может восприниматься как заполненная область, и выигрыш окажется небольшим. Если на разных страницах поля сильно отличаются, переключение между листами может визуально менять размер текста. Для такого документа стоит подобрать фиксированный масштаб после обрезки или использовать прямоугольное увеличение на важных разворотах.
Проверять результат удобно на странице с номером, колонтитулом и рисунком: эти элементы должны оставаться видимыми. Если исчезла полезная подпись у края, верните исходное отображение и ограничьтесь подгонкой по ширине. Поскольку команда не переписывает файл, эксперимент безопасен и легко отменяется.
Поворот страниц и чтение смешанной ориентации
Клавиши меньше и больше поворачивают представление. Поворот нужен для альбомных таблиц, схем и страниц, ошибочно записанных боком. Он применяется к отображению, поэтому можно быстро развернуть один проблемный участок, прочитать его и вернуть обычную ориентацию. Для серии одинаково повёрнутых страниц удобнее задать параметр вращения через информационный режим, чем повторять команду на каждом переходе.
После поворота полезно заново выбрать способ подгонки: прежний масштаб рассчитывался для другой ширины и высоты. Если страница стала шире окна, Ctrl+3 или аналогичная команда подгонки возвращает полный лист, а ручное увеличение позволяет приблизить отдельную область. При непрерывной прокрутке соседние листы остаются в общей ленте, поэтому границу между портретной и альбомной страницей видно сразу.
Поворот не заменяет исправление ориентации в самом PDF. Когда документ нужно отправить другому человеку, распечатать с правильными параметрами или обработать дальше, постоянное изменение следует выполнить редактором. llpp решает задачу чтения: он позволяет не прерывать работу из-за одного неверно ориентированного листа.
Яркость, инверсия и ночное чтение
Квадратные скобки меняют яркость отображения, а параметр I включает инверсию. Сочетание этих настроек помогает читать белые страницы в тёмной комнате и различать слабоконтрастный скан. Инверсия применяется к итоговому изображению страницы, поэтому цветные диаграммы тоже меняют вид. Перед анализом цветовых обозначений её следует отключить, иначе красные, синие и зелёные элементы будут восприниматься неверно.
Снижение яркости полезно, когда полная инверсия слишком радикальна. Можно оставить привычный светлый фон, но убрать ослепляющую белизну. Для сканов с серой бумагой чрезмерное затемнение, наоборот, сливает буквы с фоном. Настройку лучше выполнять на странице с тонким текстом и полутоновым изображением, а затем проверить ещё одну страницу: качество сканирования внутри книги часто меняется.
Эти параметры относятся к сеансу отображения и сохранённому состоянию документа, а не к цветовым объектам PDF. Они не являются коррекцией изображения и не повышают реальное разрешение. Если текст плохо различим из-за размытия или сильного JPEG-сжатия, увеличение и яркость помогут оценить материал, но не восстановят потерянные детали.
Поиск по тексту
Клавиша косой черты запускает поиск вперёд, вопросительный знак — назад. После ввода строки n повторяет поиск в прямом направлении, а p или N — в обратном. Найденные вхождения подсвечиваются, и по ним можно перемещаться, не закрывая документ. Комбинации вида z с дополнительной клавишей помогают приблизить первый результат и разместить его у верхней, центральной или нижней границы окна.
Поиск работает по текстовому слою. В PDF, состоящем только из отсканированных изображений, символов для сопоставления нет, поэтому пустой результат не означает отсутствия слова на странице. Сначала проверьте, удаётся ли выделить отдельное слово мышью. Если выделение невозможно, документу требуется распознавание текста в другой программе, после чего новая копия станет доступна для поиска.
Встроенная справка прямо предупреждает, что алгоритм поиска прост. Сложные варианты с морфологией, регулярными выражениями, нечётким совпадением и исправлением опечаток не следует ожидать. Регистр можно переключать параметром i. Для надёжного результата вводите короткий характерный фрагмент, избегайте переносов строки и при необходимости повторяйте запрос с другим регистром или без знаков пунктуации.
Остановить затянувшуюся операцию можно Ctrl+g. Это важно на большом документе с тяжёлым текстовым слоем или повреждёнными объектами. После прерывания стоит перейти ближе к предполагаемому месту и запустить поиск снова либо использовать оглавление. Журнал ошибок поможет отличить отсутствие совпадения от сбоя обработки страницы.
Почему слово не находится
- Страница является изображением и не содержит распознанного текста.
- Слово разбито переносом или записано отдельными глифами в необычном порядке.
- Включена чувствительность к регистру, а запрос набран иначе.
- В тексте используется похожий символ из другого алфавита.
- Шрифт имеет нестандартное сопоставление кодов, из-за чего визуальные буквы не совпадают с извлечённой строкой.
- Поиск был прерван до обработки нужной страницы.
Оглавление и режим outline
Клавиша o открывает структурное оглавление, если оно записано в документе. Список позволяет раскрывать уровни, выбирать разделы и переходить к связанным страницам. Это быстрее последовательного поиска заголовка в учебнике или стандарте на сотни страниц. После перехода Backspace возвращает к прежнему месту, поэтому оглавление можно использовать как временную карту, не теряя ход чтения.
Outline отражает данные PDF или EPUB, а не автоматически распознаёт крупные заголовки на странице. Если автор файла не создал структуру, список будет пустым либо очень коротким. В такой ситуации помогают именованные закладки и поиск. Для повторяющейся работы удобно самостоятельно отметить начало нужных глав, чтобы не зависеть от качества исходного оглавления.
В списковых режимах доступен быстрый набор для сужения перечня. Вместо долгой прокрутки можно ввести часть названия раздела и оставить только подходящие строки. Навигация клавишами сохраняет общий стиль llpp: выбор выполняется без переноса руки к панели управления. Escape закрывает список и возвращает документ в прежнее состояние.
Режим bird’s-eye
Bird’s-eye вызывается Ctrl+9 или F9 и показывает уменьшенное представление нескольких страниц. Режим нужен не для чтения, а для пространственной ориентации: найти страницу с крупной диаграммой, заметить начало главы, увидеть чередование текста и иллюстраций или быстро перескочить через большой блок приложений. Выбранная миниатюра становится новой позицией основного вида.
На длинном скане миниатюры позволяют искать по визуальному рисунку, когда текстового слоя нет. Страница с таблицей выглядит плотной сеткой, титульный лист — большим пустым полем, а раздел с фотографиями — набором тёмных прямоугольников. Такой поиск не заменяет OCR, но часто быстрее ручной прокрутки сотен листов.
При слабом компьютере слишком большое количество одновременно уменьшенных страниц может потребовать больше времени на отрисовку. Уменьшите число видимых миниатюр, не меняйте масштаб слишком часто и дождитесь завершения построения. После выбора страницы основной режим использует обычный масштаб и не обязан сохранять миниатюрную детализацию.
Закладки: именованные и быстрые
Клавиша m создаёт именованную закладку. Имя имеет смысл выбирать по задаче, а не по номеру страницы: формула погрешности, таблица допусков, начало приложения. Тогда список, открываемый апострофом, превращается в рабочий индекс документа. Переход к закладке фиксируется в истории, поэтому можно быстро вернуться к месту, где возник вопрос.
Тильда ставит быструю закладку без длинного описания. Такой маркер подходит для временной точки: место, на котором закончено чтение, страница для сравнения через несколько минут или начало серии рисунков. Именованные закладки лучше для постоянной навигации, а быстрые — для короткого маршрута внутри текущей задачи.
Закладка хранит позицию, а не копию содержимого. Если файл был переписан и страницы сместились, старый маркер может привести не к тому фрагменту. После существенного изменения документа проверьте важные точки и создайте их заново. Для файлов, регулярно пересобираемых из LaTeX, надёжнее использовать SyncTeX для перехода по координатам исходного текста, а закладки оставлять для стабильных разделов.
Ссылки и возврат после перехода
Левая кнопка мыши открывает ссылку, если указатель находится над активной областью. Для клавиатурного выбора предусмотрены подсказки: клавиша F позволяет перейти к отмеченной ссылке. Это удобно в документации с многочисленными перекрёстными ссылками, где точное попадание мышью в маленький номер сноски замедляет чтение.
Внутренняя ссылка переводит на другую страницу, а внешнее действие зависит от окружения и настроек. Перед открытием неизвестной ссылки разумно посмотреть её описание; команда y помещает описание ссылки в буфер обмена. Если документ получен из ненадёжного источника, не запускайте связанные команды автоматически и не назначайте обработчик, выполняющий произвольную строку без проверки.
Backspace и Alt+Left — ключевые команды после перехода. Они возвращают не просто на номер листа, а к предыдущей позиции просмотра. Поэтому ссылка в нижней части страницы не заставляет заново прокручивать исходный лист сверху. Alt+Right повторяет отменённый переход, если нужно снова сверить определение или рисунок.
Выделение текста и работа с внешними командами
Текст выделяется левой кнопкой мыши. После выбора клавиша вертикальной черты передаёт выделенный фрагмент внешней команде, указанной в настройках. Это позволяет связать чтение со словарём, поиском по проекту, переводчиком, скриптом заметок или буфером терминала. llpp не навязывает конкретную программу: пользователь определяет команду и получает простой канал передачи текста.
Двойной, тройной, четверной и пятикратный щелчок выбирают разные смысловые объёмы — слово, строку, блок или страницу — и могут сразу передавать их выбранной команде. С Ctrl те же действия используют механизм PAX, название которого означает Point And X и не связано с одноимённой архивной утилитой. Клавиша x запускает PAX для выбранной области, а параметр M переключает соответствующий режим.
Существенное ограничение: выделение не переходит через границу страницы. Абзац, начавшийся внизу одного листа и продолжающийся наверху следующего, нужно обрабатывать двумя операциями. Кроме того, порядок извлечённого текста зависит от структуры PDF. В многоколоночной статье слова могут идти не в том порядке, который виден читателю. Перед передачей большого фрагмента проверьте результат на небольшом образце.
Если при попытке выделить текст страница двигается, курсор находится не над распознаваемым текстовым объектом или включён режим панорамирования. Ctrl принудительно меняет поведение на перемещение страницы, когда под указателем находится текст или ссылка. Для скана без текстового слоя выделение не появится: сначала требуется OCR.
Аннотации и сохранение изменений
Shift с правой кнопкой мыши добавляет текстовую аннотацию в указанной точке. Это формат заметки, привязанной к координате страницы. Он подходит для короткого комментария, вопроса к абзацу или напоминания проверить число. Клавиша W сохраняет изменения, тогда как Q завершает работу без записи конфигурации и внесённых правок. Обычный выход следует использовать только после проверки, что заметки действительно сохранены.
Набор средств аннотирования узкий. Нет полноценной панели с маркером, подчёркиванием, фигурными рамками, штампами, свободным рисованием и визуальным управлением свойствами каждой пометки. Для систематического рецензирования, цветовой классификации замечаний и командной правки нужен редактор с расширенными аннотациями. llpp уместен, когда достаточно нескольких текстовых записок во время чтения.
Перед работой с важным PDF создайте резервную копию. Сохранение аннотаций изменяет файл, а сочетание старых библиотек, нестандартной структуры PDF и ограниченных прав доступа может привести к ошибке записи. Если W сообщает о невозможности сохранить документ, проверьте права каталога, свободное место, отсутствие режима только для чтения и попробуйте записать копию в другой каталог.
Режим info и параметры текущего документа
Клавиша i открывает информационный режим, где видны и изменяются параметры отображения текущего документа. Здесь удобно проверить масштаб, вращение, число колонок, обрезку полей, инверсию, яркость и другие значения, которые сложно оценить только по картинке. Изменение применяется сразу, поэтому результат можно сравнить с исходным видом без длинной цепочки диалогов.
Параметры вводятся как короткие команды. Например, R задаёт вращение, Z — масштаб, T переключает обрезку полей, I — инверсию, C — число колонок, i — чувствительность поиска к регистру. Перед числовым значением используется ожидаемый формат команды; если параметр не принят, журнал ошибок показывает причину. Для знакомства безопаснее менять по одному значению и записывать исходное.
Состояние может сохраняться отдельно для конкретного документа. Благодаря этому технический справочник открывается на последней позиции с удобным масштабом, а комикс — в другой раскладке. Если накопленные записи стали мешать или файл изменил путь, конфигурацию можно очистить или запустить сборку мусора параметром gc. Не удаляйте весь файл настроек, пока не сделана копия пользовательских сочетаний клавиш.
Несколько колонок и двухстраничное чтение
Параметр C задаёт число колонок. Две колонки позволяют видеть разворот или две последовательные страницы рядом, что удобно для книги, двуязычного документа и сравнения исходной таблицы с продолжением. Большее число колонок превращает окно в сетку, полезную для визуального просмотра, но текст быстро становится слишком мелким. Команда c возвращает предыдущую раскладку колонок.
Колонки не следует путать с колонками внутри самой страницы. llpp располагает рядом целые страницы; он не перестраивает газетный текст и не меняет порядок абзацев. Для статьи с двумя текстовыми колонками лучше увеличить одну страницу и прокручивать её по блокам. Для сканированного разворота, уже записанного одним широким изображением, двухстраничный режим добавит рядом ещё один разворот и обычно не улучшит чтение.
При изменении ширины окна масштаб и положение могут потребовать коррекции. В мозаичном оконном менеджере после разделения экрана проверьте, сохранилась ли нужная ширина страницы. Если край оказался обрезан, включите подходящую подгонку или временно уменьшите число колонок. Непрерывная прокрутка продолжает работать и в сетке, поэтому строки страниц идут сверху вниз согласованными группами.
Презентационный режим и автоматическая прокрутка
Клавиша P включает презентационный режим. Он нужен, когда каждая страница должна восприниматься как отдельный кадр, а посторонние элементы интерфейса не должны отвлекать. Перед показом подгоните страницу по высоте, проверьте ориентацию всех слайдов и пройдите документ целиком: единичный лист другого размера может неожиданно изменить композицию.
Клавиша a запускает автоматическую прокрутку. Когда она активна, стрелки вверх и вниз, а также соответствующие кнопки мыши ускоряют или замедляют движение. Режим полезен для спокойного последовательного чтения и демонстрации длинной страницы. Скорость следует подбирать на обычном текстовом участке; на формулах и таблицах движение обычно приходится замедлять.
Автопрокрутку не стоит оставлять без контроля в документе с тяжёлыми изображениями. Если отрисовка не успевает, движение выглядит рывками и нужный фрагмент легко пропустить. Остановите режим, дождитесь построения страницы и продолжите вручную. Для доклада надёжнее постраничное управление, потому что оно фиксирует каждый слайд в предсказуемой позиции.
EPUB и документы с изменяемой разметкой
EPUB отображается через движок MuPDF, а высоту условной страницы можно настраивать. Это важно, потому что электронная книга не обязана иметь жёсткие листы: строки перераспределяются в зависимости от ширины, шрифта и CSS. Изменение высоты позволяет подобрать удобный ритм прокрутки и уменьшить количество слишком коротких или слишком длинных экранных страниц.
Параметр css указывает таблицу стилей для EPUB и HTML-содержимого. С её помощью можно изменить семейство шрифта, интервалы, поля и другие свойства, которые поддерживает механизм разметки. Стиль нужно проверять на заголовках, сносках, списках и иллюстрациях: слишком широкое правило может улучшить основной текст, но испортить таблицу или скрыть авторское оформление.
Оглавление EPUB особенно полезно, потому что номера условных страниц зависят от разметки. Переход по названию главы надёжнее запоминания числа, которое может измениться после выбора другого CSS. Закладки также следует именовать по содержанию. Если книга открывается с неправильными символами, проверьте используемый шрифт и переменную запасного шрифта, а не пытайтесь исправлять кодировку масштабом.
XPS, CBZ и изображения
Кроме PDF и EPUB, в регистрации типов указаны XPS, OpenXPS, CBZ и распространённые растровые изображения. XPS ведёт себя как постраничный документ: доступны прокрутка, масштаб, вращение и переходы, если структура содержит ссылки или оглавление. Качество текста зависит от шрифтов и объектов внутри файла, а не от расширения.
CBZ представляет собой ZIP-архив с изображениями страниц. llpp показывает их последовательно, поэтому режим колонок и подгонка по высоте подходят для комиксов и отсканированных альбомов. Порядок страниц определяется именами файлов внутри архива. Если после page9 сразу идёт page10 не в ожидаемом месте, переименуйте изображения с одинаковой длиной числовой части, например 001, 002 и 010, затем пересоберите архив.
Для отдельных PNG, JPEG, GIF, BMP, JPEG 2000 и некоторых переносимых растровых форматов программа может использовать тот же механизм просмотра. Это удобно для последовательной проверки изображений, но не заменяет каталогизатор: нет полноценной сетки папки, пакетного переименования и коррекции фотографий. Для набора сканов практичнее собрать CBZ, чтобы получить устойчивый порядок и единый маршрут.
Пароли и защищённые документы
Параметр p передаёт пароль при открытии защищённого PDF. В интерактивном сценарии запрос может быть связан с командой, заданной переменной LLPP_ASKPASS. Такой способ удобнее хранения секрета в сценарии запуска, но безопасность зависит от выбранной программы запроса и прав на окружение. Не записывайте пароль в общий файл конфигурации или видимую историю оболочки.
Если пароль принят, это не отменяет ограничений, заданных внутри PDF. Некоторые документы запрещают копирование или изменение, и поведение зависит от того, как движок интерпретирует разрешения. Ошибка открытия может также означать повреждение файла, а не неверный пароль. Проверьте документ другим совместимым просмотрщиком и сравните сообщение в журнале llpp.
При передаче пути с пробелами заключайте его в кавычки на уровне командной оболочки. Пароль с особыми символами требует особенно аккуратного экранирования, поэтому безопаснее использовать отдельное окно запроса. После завершения работы очистите временные файлы, если сторонняя команда создавала их для расшифровки.
Шрифты интерфейса и запасной шрифт документа
Параметр f задаёт файл шрифта для интерфейсных надписей. Это влияет на справку, списки, сообщения и ввод команд, но не обязано менять шрифты, встроенные в PDF. Размер интерфейсного шрифта задаётся в конфигурации. Слишком мелкое значение затрудняет чтение режима info, а слишком крупное сокращает число строк в outline и списке закладок.
Переменная LLPP_FALLBACK_FONT указывает запасной шрифт, который может потребоваться для символов, отсутствующих в основном наборе. При квадратах вместо кириллицы, математических знаков или иероглифов сначала проверьте, установлен ли подходящий шрифт и доступен ли его файл. В PDF со встроенными шрифтами проблема может быть вызвана повреждённым встраиванием, поэтому один запасной набор не всегда исправляет страницу полностью.
После смены шрифта перечитайте справку и попробуйте поиск с неASCII-символами. Шрифт интерфейса должен содержать нужные знаки, иначе строка запроса будет трудно проверяема, даже если поиск внутри документа работает. Путь к файлу лучше указывать абсолютный, чтобы запуск из разных каталогов не давал разные результаты.
Конфигурация и сохранение состояния
Основной файл настроек ищется в каталоге конфигурации пользователя; предусмотрен также запасной путь в домашнем каталоге. Формат XML содержит общие значения, сопоставления клавиш и записи конкретных документов. Редактировать его следует при закрытой программе и после создания копии: незакрытый тег или неверный атрибут может помешать чтению всего файла.
Общие параметры определяют привычное поведение, а документные записи запоминают позицию и настройки конкретного файла. Это удобно для постоянной библиотеки, но конфигурация постепенно растёт. Параметр gc выполняет очистку неиспользуемых записей. Перед очисткой убедитесь, что важные документы доступны по прежним путям; переезд библиотеки в другой каталог может сделать старые записи похожими на ненужные.
Параметр c позволяет выбрать другой файл конфигурации. Так можно разделить рабочие и личные настройки либо тестировать новые клавиши без риска для основного набора. После проверки перенесите только нужные элементы, а не заменяйте весь файл вслепую. Параметр last открывает последний посещённый документ, что удобно для ежедневного чтения, но требует, чтобы сохранённый путь оставался доступен.
Опция no-title заставляет игнорировать заголовок, записанный в метаданных документа. Это полезно, если оконный менеджер или сценарий ориентируется на имя файла, а внутреннее название неточно или одинаково у нескольких PDF. Выбор влияет на подпись окна, но не меняет метаданные самого документа.
Переназначение клавиш
В конфигурации есть отдельные карты клавиш для основного вида, bird’s-eye, справки, info, outline и других списков. Поэтому одно и то же нажатие может иметь разный смысл в зависимости от активного режима. При переносе привычек из Vim или less меняйте сначала только несколько базовых действий: выход, поиск, следующий результат, закладки и переключение масштаба.
Конфликт возникает, когда новая комбинация уже используется в конкретном режиме или когда клавиша ожидает продолжение. После каждой правки откройте справку и проверьте действие в нужном контексте. Если команда перестала выполняться, верните последнюю строку конфигурации, а не пытайтесь компенсировать проблему ещё одним назначением.
Для сочетаний с модификаторами учитывайте, что оконный менеджер может перехватывать их раньше llpp. Alt+стрелки, функциональные клавиши и некоторые комбинации Ctrl часто заняты системными действиями. Проверьте событие в простом окне и выберите комбинацию, которая гарантированно доходит до программы. Пользовательская карта не исправит перехват на уровне окружения.
Справка как часть интерфейса
F1 или h открывает встроенную справку с группами команд: выход, движение, мышь, закладки, масштаб, поиск, переключатели и режимы. В отличие от отдельного руководства, список доступен прямо во время чтения и закрывается возвратом к документу. На первых сеансах разумно держать в памяти только выход, прокрутку, поиск и масштаб, а редкие функции находить по справке.
Справка описывает также нюансы, которые легко принять за ошибку: одностраничное выделение, простой поиск, особое поведение мыши над ссылкой, ускорение автопрокрутки и различие Q и обычного выхода. Перед изменением конфигурации стоит проверить стандартное сочетание именно здесь. Это снижает риск назначить новую клавишу для функции, которая уже существует.
Alt+F1 открывает историю, а не обычную справку. Если вместо ожидаемого списка команд появился перечень переходов, отпустите Alt и повторите F1. В полноэкранном режиме некоторые среды используют функциональные клавиши для аппаратных действий; тогда нажмите дополнительную клавишу Fn или переназначьте вызов справки.
Параметры запуска
llpp принимает путь к документу и дополнительные параметры. page открывает указанный номер, dest — именованное назначение внутри документа, origin задаёт начальную геометрию или позицию, c выбирает конфигурацию, f — шрифт интерфейса, css — стиль для EPUB и HTML, p — пароль, remote — канал внешних команд. Такой набор позволяет подготовить точный стартовый контекст без ручной навигации после открытия.
Пути с пробелами и специальные символы обрабатывает оболочка, поэтому их нужно заключать в кавычки. Номер страницы следует проверять на реальном документе: внутренний индекс и напечатанный номер могут различаться из-за обложки, введения или римской нумерации. Для устойчивого перехода к разделу лучше использовать именованное назначение, если оно есть.
Параметр v выводит сведения о программе, help показывает подсказку по запуску. Опция flip-stderr-redirection меняет направление перенаправления диагностического потока в предусмотренном разработчиком сценарии. Использовать её без конкретной причины не нужно: при обычном запуске важнее сохранить сообщения об ошибках в терминале или отдельном журнале.
Удалённое управление через именованный канал
Параметр remote связывает сеанс с источником команд, обычно именованным каналом. В него можно передавать переходы, перезагрузку и другие действия, поддерживаемые командным интерфейсом. Это позволяет редактору, скрипту сборки или файловому наблюдателю управлять уже открытым окном, не создавая новый процесс при каждом изменении документа.
Канал должен существовать и иметь подходящие права. Если команда записывается, но окно не реагирует, проверьте имя, владельца, блокировку записи и точный синтаксис. Не направляйте в канал непроверенные данные: удалённый интерфейс предназначен для автоматизации, а неверная последовательность может изменить позицию, закрыть окно или запустить связанную пользовательскую команду.
Для многократной работы удобно создать отдельный канал на каждый проект. Тогда пересборка одной книги не перезагрузит другой документ. При аварийном завершении старый FIFO может остаться в файловой системе; перед новым запуском проверьте, не связан ли он с живым процессом, затем удалите и создайте заново.
Автоматическая перезагрузка изменившегося PDF
Команда reload перечитывает файл, а сигнал HUP также используется для обновления. Это полезно при подготовке LaTeX, генерации отчётов и экспорте схем: документ остаётся на экране, а после успешной записи новой копии содержимое обновляется. Вспомогательный сценарий llpp.inotify может следить за изменениями и отправлять нужное действие автоматически.
Наблюдать лучше за моментом завершённой замены файла, а не за каждым промежуточным событием записи. Компилятор может сначала обнулить PDF, затем постепенно заполнить его; перезагрузка в этот момент даст ошибку или пустую страницу. Надёжный сценарий ждёт закрытия файла после записи либо отслеживает атомарное переименование готовой копии.
Если после обновления позиция сместилась, структура страниц изменилась. Закладки и сохранённая координата не понимают, что перед началом добавлена новая страница. Для исходников LaTeX используйте SyncTeX, а для генератора отчётов сохраняйте стабильное количество вводных листов. При повреждённой промежуточной копии дождитесь успешной сборки и повторите reload.

SyncTeX: переход между исходником и страницей
Shift с основной кнопкой мыши запускает настроенную SyncTeX-команду с путём, номером страницы и координатами точки. Редактор получает эти данные и открывает соответствующую строку исходника. Такой обратный поиск особенно полезен в большом LaTeX-проекте: вместо поиска фразы вручную пользователь нажимает на формулу или абзац в PDF и сразу попадает к исходному фрагменту.
Для работы нужен файл синхронизации, созданный компилятором, и корректная команда в настройках. Если переход открывает не тот файл, проверьте рабочий каталог, абсолютные пути и то, относится ли PDF к свежей сборке. Старый файл SyncTeX после изменения структуры проекта даёт неверные координаты; удалите вспомогательные файлы и выполните полную пересборку.
Точность зависит от точки щелчка. Нажатие на пустое поле или рисунок, созданный отдельным файлом, может привести к ближайшему известному объекту, а не к ожидаемой строке. Для проверки выберите обычный текстовый абзац. Если команда не запускается, убедитесь, что Shift не перехватывается оконным менеджером и что исполняемый файл редактора доступен в окружении llpp.

Живой предпросмотр при наборе текста
Связка внешнего редактора, автоматической компиляции и reload превращает llpp в быстрый экран результата. Пользователь печатает исходник, система собирает PDF, а открытое окно показывает обновлённую страницу. Ценность такого процесса в сохранении контекста: масштаб, позиция и раскладка не требуют повторной настройки после каждого запуска просмотрщика.
Чтобы предпросмотр не мигал ошибками на каждом символе, компиляцию запускают после короткой паузы или при сохранении файла. Слишком частая сборка нагружает процессор и создаёт промежуточные PDF, которые llpp пытается открыть. Сценарий должен передавать reload только после успешного завершения компилятора. Сообщение об ошибке лучше оставлять в редакторе или терминале, а в окне документа сохранять последнюю корректную страницу.
При переносе строки или изменении геометрии текст может сдвинуться на следующую страницу. Если важна конкретная формула, используйте SyncTeX после обновления, а не рассчитывайте на старую вертикальную координату. Для долгой сессии периодически проверяйте журнал: повторяющиеся ошибки чтения обычно означают, что наблюдатель отправляет команду слишком рано.

Как пережить ошибку компиляции
При синтаксической ошибке новая корректная копия PDF может не появиться. llpp продолжит показывать прежний результат либо сообщит о неудачной перезагрузке. Это нормальное защитное поведение рабочего процесса: сначала исправьте ошибку в исходнике, дождитесь успешной сборки и только затем обновляйте просмотр. Не удаляйте последнюю корректную копию до завершения компилятора.

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

llppac: преобразование дополнительных форматов
Вспомогательная команда llppac принимает файл, определяет его тип, преобразует поддерживаемым внешним инструментом и открывает результат в llpp. В примерах документации упоминаются PostScript, Texinfo, DjVu и HTML. Это не означает, что основной просмотрщик сам разбирает каждый такой формат: качество и доступность зависят от установленного конвертера.
llppac использует кэш, чтобы не повторять дорогое преобразование неизменившегося файла. Параметр f заставляет игнорировать кэш, m задаёт MIME-тип, t — внутренний тип, а c передаёт CSS для разметки. Если показывается старая копия, сначала принудительно обновите кэш и проверьте время изменения исходника. При смене конвертера старый результат также лучше удалить.
Преобразование может потерять ссылки, текстовый слой, анимацию, формы или точную геометрию. Для DjVu и PostScript сравните несколько страниц с исходником, особенно таблицы и шрифты. Временные файлы занимают место, поэтому кэш следует периодически очищать. Не запускайте непроверенный конвертер на документе из неизвестного источника с повышенными правами.
Производительность и тяжёлые документы
Отрисовка основана на MuPDF и использует OpenGL, поэтому прокрутка обычно остаётся отзывчивой даже на больших страницах. На практике скорость зависит от структуры: векторная карта с тысячами объектов, огромный скан и простой текстовый PDF нагружают разные части системы. Небольшой размер файла не гарантирует быстрой страницы, если внутри сложные прозрачности, маски и шрифты.
При рывках сначала отключите лишние эффекты отображения, уменьшите масштаб и выйдите из bird’s-eye. Затем проверьте, возникает ли задержка на одной конкретной странице. Если да, проблема, вероятно, в её содержимом. Если тормозит весь документ, попробуйте другую графическую конфигурацию, обновите драйвер и убедитесь, что сеанс использует аппаратное ускорение, а не медленную программную отрисовку.
Большой скан требует памяти для декодированных изображений. Не открывайте одновременно несколько копий без необходимости и не показывайте слишком много страниц в сетке. Для архива с чрезмерным разрешением предварительное уменьшение изображений может дать больший эффект, чем настройка просмотрщика. Сохраняйте оригинал отдельно, потому что уменьшение необратимо снижает детализацию.
X11, Wayland и оконные менеджеры
Графическое окно рассчитано на X11. В сеансе Wayland оно обычно запускается через XWayland, если этот слой совместимости установлен и разрешён. Нативный путь Wayland не предусмотрен, поэтому горячие клавиши, масштабирование и работа буфера обмена могут зависеть от поведения XWayland и конкретного окружения.
Если окно не открывается и журнал сообщает об X connection failed, проверьте переменную DISPLAY, права доступа к X-серверу и то, что процесс запущен от того же пользователя, что и графический сеанс. Запуск через sudo часто теряет авторизацию X11 и создаёт лишний риск; открывайте документ обычным пользователем. В контейнере или удалённой сессии понадобится корректная передача дисплея либо виртуальный X-сервер.
В мозаичном оконном менеджере изменение размера окна может потребовать повторной подгонки. Полноэкранная команда f зависит от правил менеджера, а системные сочетания могут перекрывать клавиши llpp. Если Alt+стрелки меняют рабочий стол вместо истории переходов, переназначьте либо системную, либо внутреннюю комбинацию. Проверяйте конфликт в каждом режиме, потому что наборы клавиш различаются.
Ошибки открытия файла
Сообщение о неизвестном формате сначала проверяют командой file или аналогичным средством: расширение может не соответствовать содержимому. ZIP, переименованный в PDF, и HTML-страница, сохранённая под именем документа, не станут читаемыми от смены суффикса. Скачайте файл повторно и сравните размер с ожидаемым.
Повреждённый PDF иногда открывается частично: первые страницы видны, а переход к определённому листу вызывает ошибку. Запомните номер, откройте журнал и проверьте файл инструментом восстановления. Не сохраняйте аннотации поверх единственного экземпляра повреждённого документа. Создайте исправленную копию и убедитесь, что количество страниц и ссылки сохранились.
Ошибка отсутствующего шрифта обычно не препятствует открытию всего файла, но текст может выглядеть неверно. Ошибка графического контекста, напротив, указывает на OpenGL или X11. Разделяйте эти случаи по журналу: замена шрифта не исправит подключение к дисплею, а настройка DISPLAY не восстановит битый объект PDF.
Когда мышь ведёт себя неожиданно
Основная кнопка над ссылкой активирует переход, над текстом начинает выделение, а на пустом участке может панорамировать. Поэтому одинаковый жест даёт разный результат в зависимости от объекта под указателем. Если нужно гарантированно двигать страницу над текстом или ссылкой, удерживайте Ctrl. Если нужен SyncTeX, удерживайте Shift и нажмите в точке документа.
Правое перетаскивание выбирает прямоугольник увеличения, а Shift+правый щелчок добавляет текстовую аннотацию. Случайная заметка обычно возникает, когда Shift остался нажат после другого сочетания. Перед сохранением проверьте страницу и отмените ненужное действие доступным способом; если результат неясен, выйдите без сохранения и откройте документ снова.
Колесо с Ctrl меняет масштаб, с Shift панорамирует горизонтально, без модификатора прокручивает вертикально. На сенсорной панели окружение может преобразовывать жесты иначе. Отключите системное масштабирование для этого окна или используйте клавиши, если масштаб скачет при обычной прокрутке.
Безопасный рабочий процесс с важными PDF
- Сделайте копию документа до добавления аннотаций или проверки сохранения.
- Откройте копию, перейдите по нескольким страницам и убедитесь, что шрифты и изображения отображаются корректно.
- Настройте масштаб, поля и яркость до начала долгого чтения, чтобы затем не менять визуальные условия.
- Создавайте именованные закладки по смыслу и проверяйте их после существенного изменения файла.
- Перед передачей выделенного текста внешней команде протестируйте её на одной строке.
- После W закройте документ, откройте заново и убедитесь, что аннотация сохранилась.
- Храните исходник отдельно от копии с заметками и не полагайтесь на единственный файл.
Такой порядок особенно важен для нормативных документов, рукописей и отчётов с уникальными пометками. llpp быстро показывает и сохраняет текстовые заметки, но не предоставляет сложную систему отката, сравнения правок и восстановления. Ответственность за резервную копию остаётся у пользователя.
Практика чтения научной статьи
Сначала откройте статью, уберите поля и подгоните ширину так, чтобы формулы оставались целыми. Через outline перейдите к введению или нужному разделу; если структуры нет, найдите характерный термин. Поставьте именованные закладки на постановке задачи, основном результате и таблице экспериментов. Такой маршрут позволяет быстро возвращаться между утверждением и доказательством.
При переходе по номеру формулы или библиографической ссылке используйте Backspace для возврата. Для мелкого графика обведите прямоугольник правой кнопкой, затем верните общий масштаб. Цветовую диаграмму рассматривайте без инверсии, даже если основной текст читается в ночном режиме. Выделенный термин можно передать словарю через вертикальную черту, но длинную цитату из двух страниц придётся собрать из двух фрагментов.
Если статья пересобирается из исходника, настройте автоматическую перезагрузку и SyncTeX. Перезагружайте только после успешной компиляции, иначе окно будет ловить промежуточный файл. При добавлении страниц используйте обратный поиск для возврата к исходнику: прежние номера закладок могут сместиться.
Практика чтения сканированной книги
У скана сначала проверьте, существует ли текстовый слой. Если поиск и выделение не работают, ориентируйтесь по bird’s-eye, визуальным признакам и закладкам. Включите подгонку по ширине, оцените тень переплёта и только затем пробуйте обрезку полей. Слишком агрессивная обрезка может оставить тёмный край и почти не увеличить текст.
Для разворотов используйте одну колонку, если два листа уже объединены в одно изображение. Если каждый лист отдельный, две колонки могут восстановить книжный разворот. Проверьте порядок: титульная страница иногда сдвигает пары, и левая с правой оказываются перепутаны. В таком случае начните сетку со следующего листа или вернитесь к последовательному виду.
Яркость и инверсия помогают при пожелтевшей бумаге, но не устраняют размытие. Для важных цитат выполните OCR во внешней программе и сохраните отдельную поисковую копию. Оригинальный скан оставьте неизменным, чтобы не потерять детали печати, пометы и иллюстрации.
Практика чтения технического стандарта
В стандарте обычно важны оглавление, внутренние ссылки и точное возвращение. Откройте outline, создайте закладки на терминах, требованиях и приложениях, затем используйте историю для коротких переходов к определениям. Имена закладок должны включать номер пункта и тему, иначе длинный список быстро станет неразличимым.
Таблицы просматривайте прямоугольным увеличением. Сначала оставьте заголовки строк и столбцов в кадре, затем смещайтесь Ctrl+стрелками на половину экрана, чтобы сохранять перекрытие между соседними областями. Альбомные листы поворачивайте и заново подгоняйте по ширине. Не сохраняйте поворот как изменение стандарта: для чтения достаточно временного представления.
При сравнении двух редакционных копий llpp не показывает различия автоматически. Откройте файлы в отдельных окнах, синхронизируйте позиции по номеру пункта и используйте одинаковый масштаб. Для формального сравнения текста и объектов нужен специализированный инструмент; визуальное сопоставление годится только для первичной проверки.
Практика просмотра комикса или графического альбома
Для CBZ проверьте порядок имён файлов и выберите одну или две колонки. Подгонка по высоте удобна для цельной страницы, а две колонки — для разворота на широком мониторе. Bird’s-eye помогает найти сцену по цвету и композиции, не перелистывая каждый кадр. Поиск по тексту обычно недоступен, потому что реплики являются частью изображения.
Инверсию для цветного материала лучше не использовать: она меняет палитру и настроение рисунка. Снижение яркости допустимо, если экран слишком светлый, но оценивать цветокоррекцию по изменённому виду нельзя. При увеличении следите за исходным разрешением: пиксели становятся крупнее, но новых деталей не появляется.
Если архив не открывается, убедитесь, что это ZIP с изображениями, а не RAR под расширением cbz. Проверьте повреждение архива и наличие поддерживаемых форматов картинок. После исправления имён и структуры создайте новую копию, не меняя оригинал до успешной проверки всех страниц.
Чего llpp не делает
В окне нет визуального редактирования текста и графических объектов PDF. Нельзя выбрать абзац и переписать его как в текстовом процессоре, переставить рисунок, изменить встроенный шрифт или исправить таблицу. Выделение предназначено для извлечения и передачи текста, а не для редактирования содержимого страницы.
Нет полноценного управления страницами: объединения нескольких PDF, разделения, удаления, перестановки, вставки сканов и пакетного поворота с сохранением. Временное вращение и многоколоночный вид решают только задачу просмотра. Для подготовки итогового документа нужен редактор или набор командных инструментов.
Нет встроенного OCR, сканирования, цифровой подписи, сложного заполнения форм, редактирования метаданных и развитой системы совместного рецензирования. Текстовая аннотация не заменяет эти функции. Сильная сторона llpp — быстрый управляемый просмотр и интеграция с внешними командами, поэтому выбирать его следует для чтения, навигации и технического предпросмотра.
Проверка навигации перед длинной сессией
Перед чтением документа на сотни страниц полезно за минуту проверить четыре независимых маршрута: последовательную прокрутку, переход по номеру страницы, переход через outline и возврат по истории. Откройте середину файла командой перехода, затем выберите пункт оглавления и вернитесь Backspace. Если возврат ведёт не туда, вспомните, какой переход создал запись истории: обычное прокручивание и явный переход обрабатываются по-разному. Такая проверка предотвращает ситуацию, когда ошибка замечается после десятков переходов между формулами и примечаниями.
Переходы g и G удобны как контрольные точки начала и конца. После открытия необычного файла сначала нажмите G и убедитесь, что последняя страница действительно отображается, затем вернитесь к первой. Если число листов меняется после автоматической перезагрузки, документ пересобран с другой пагинацией. Именованные закладки, привязанные к старым позициям, тогда нужно перепроверить по заголовкам и содержимому, а не считать номера неизменными.
В непрерывном режиме граница страницы может оказаться почти незаметной на белом фоне. Для точного перехода к следующему листу используйте постраничную команду, а не длинную прокрутку колеса. Когда важно сравнить конец одной страницы с началом следующей, оставьте обе области в окне и двигайтесь небольшими шагами. Это особенно полезно для таблиц, доказательств и абзацев, разорванных версткой.
Диагностика параметров через информационный режим
Информационный режим следует открывать не только для настройки, но и для фиксации текущего состояния перед экспериментом. Запишите масштаб, поворот, яркость, инверсию, число колонок, обрезку и режим подгонки, затем меняйте один параметр. Если изображение стало неудобным, проще вернуть конкретное значение, чем угадывать, какая из нескольких команд изменила результат. Такой журнал особенно помогает при пользовательской карте клавиш, где привычная клавиша могла быть переназначена.
Параметры показа взаимодействуют. Поворот меняет смысл ширины и высоты; обрезка изменяет область, по которой рассчитывается подгонка; число колонок влияет на размещение нескольких страниц; инверсия и яркость одновременно меняют тон. Поэтому после поворота сначала заново выполните подгонку, затем оцените обрезку и лишь потом корректируйте яркость. Обратный порядок часто создаёт впечатление, что команда не работает, хотя она применяется к уже изменённой геометрии.
Если одна страница внезапно выглядит иначе соседних, проверьте, относится ли настройка ко всему документу или к текущей области. Смешанная ориентация, разные размеры листов и встроенные поля способны давать эффект случайного масштаба. Перейдите на типичную страницу, установите базовый режим и вернитесь к исключению. Не сохраняйте спорное состояние до проверки нескольких листов, чтобы при следующем открытии не восстанавливать неудобное представление.
Состояние документа и перенос файлов
llpp запоминает состояние просмотра, поэтому повторное открытие может вернуть прежнюю позицию, масштаб и другие параметры. Это экономит время, но иногда сбивает с толку: команда запуска выглядит обычной, а окно появляется в неожиданном месте документа. Для проверки откройте тот же файл с чистыми настройками или временно отделите пользовательское состояние. Если проблема исчезла, причина не в PDF и не в рендеринге, а в восстановленных параметрах сеанса.
Перемещение или переименование файла может разорвать связь с сохранённым состоянием, поскольку идентификация опирается на путь и свойства документа. После переноса не рассчитывайте, что старые закладки и позиция обязательно найдутся автоматически. Откройте новый путь, создайте контрольную закладку и проверьте повторный запуск. Для коллекции, которую регулярно реорганизуют, лучше использовать устойчивую структуру каталогов и короткие осмысленные имена.
Если один и тот же документ доступен по реальному пути и через символическую ссылку, возможны два независимых набора состояния. Это полезно для разных сценариев чтения, но неудобно, когда пользователь ожидает общий прогресс. Выберите один канонический путь и открывайте файл одинаково из терминала, файлового менеджера и скрипта. При расследовании дубликатов сравнивайте не только имя, но и полный путь, регистр символов и цель ссылки.
Надёжное внешнее управление через канал команд
Remote-интерфейс удобен для редактора, файлового наблюдателя и собственных сценариев, однако именованный канал требует дисциплины. Сначала запустите llpp с уникальным именем канала, убедитесь, что файл канала создан, и только затем отправляйте команду. Если скрипт пишет раньше запуска, оболочка может ждать читателя или завершиться с ошибкой. Добавьте проверку существования канала и ограничение времени, чтобы автоматизация не зависала незаметно.
Для нескольких окон задавайте разные имена каналов. Общий канал делает адресата неоднозначным: команда перезагрузки может попасть не в тот документ, а переход по странице изменит чужое окно. Имя удобно связывать с проектом или абсолютным путём, предварительно преобразовав опасные символы. После закрытия окна удаляйте оставшийся канал, если это не делает оболочка запуска, иначе следующий процесс может принять устаревший объект за готовый интерфейс.
Отправляйте одну понятную операцию и проверяйте результат на экране или по журналу. Сложную последовательность лучше разбить на reload, переход и подгонку, чем посылать всё без пауз и диагностики. При пересборке PDF сначала дождитесь атомарной замены файла, затем вызывайте перезагрузку. Запись в ещё создаваемый документ приводит к чтению неполного файла, ошибке объектов или кратковременному пустому экрану.
Точная настройка EPUB и документов с изменяемой разметкой
В EPUB размер страницы задаёт виртуальную область верстки, поэтому его изменение перестраивает строки, абзацы и количество экранов. Перед созданием множества закладок выберите подходящую ширину, высоту и размер шрифта, затем несколько минут полистайте главы. Если менять геометрию позже, визуальные позиции сдвинутся, а прежняя страница перестанет соответствовать тому же фрагменту. Для навигации надёжнее использовать оглавление и текстовый поиск.
Пользовательский CSS применяйте небольшими слоями. Сначала измените только поля или межстрочный интервал, проверьте обычный текст, заголовки, списки, сноски и изображения, затем добавляйте следующий селектор. Глобальное правило для всех элементов может разрушить таблицы и подписи. Если книга отображается без отступов или с огромными заголовками, временно отключите CSS и установите, является ли дефект свойством файла или пользовательского правила.
Шрифты EPUB могут быть встроены, подменены системой или ограничены стилями книги. При квадратах вместо символов проверьте язык, доступность глифов и журнал загрузки шрифтов. Не маскируйте проблему увеличением масштаба: отсутствующий знак не появится. Для проверки выберите системный шрифт с нужным набором символов и откройте главу с редкими буквами, математическими знаками и пунктуацией.
Поиск причин графических сбоев
Чёрное или прозрачное окно при нормальном открытии файла указывает прежде всего на графический путь, а не на структуру PDF. Проверьте поддержку OpenGL в текущем сеансе, работу аппаратного ускорения и запуск простого графического приложения под тем же пользователем. В удалённом X-сеансе или виртуальной машине доступная версия OpenGL может отличаться от локальной. Сообщения драйвера важнее догадок по внешнему виду.
Артефакты при прокрутке могут возникать из-за сочетания драйвера, композитора и размера текстур. Сначала отключите необычные эффекты оконного менеджера, уменьшите масштаб и проверьте другую страницу. Если дефект связан только с одной большой картинкой, вероятен предел текстуры или повреждённый объект. Если он повторяется на любом файле при движении окна, исследуйте драйвер и композитор, а не восстанавливайте каждый документ.
На Wayland-сеансе llpp обычно запускается через XWayland. Проверяйте не только наличие переменной WAYLAND_DISPLAY, но и доступность DISPLAY и самого XWayland. Ошибка нативного Wayland и ошибка документа имеют разные признаки: в первом случае окно не создаётся или теряет ввод, во втором окно существует и рендерер сообщает о содержимом файла. Для чистой диагностики откройте заведомо исправный маленький PDF.
Извлечение текста без потери контекста
Перед копированием определите, есть ли в документе настоящий текстовый слой. Выделение, которое прыгает по странному порядку, часто отражает внутреннюю последовательность объектов, а не визуальное чтение. В многоколоночной статье сначала выделите одну колонку и проверьте результат во внешнем редакторе. Попытка захватить сразу две колонки может смешать строки, заголовки и подписи даже при визуально правильном прямоугольнике.
Ограничение выделения одной страницей требует осознанного соединения фрагментов. Скопируйте конец первой страницы и начало второй отдельно, сохраните разделитель, затем проверьте перенос слова и пунктуацию. Не удаляйте переносы автоматически до сверки: дефис может быть частью термина, а может быть только знаком переноса. Для цитаты фиксируйте номер страницы рядом с каждым фрагментом, поскольку после склейки происхождение строки теряется.
Передача через вертикальную черту запускает внешнюю команду над выбранным текстом. Команда получает потенциально недоверенные данные, поэтому не стройте оболочечную строку простым объединением выделения. Используйте программу, читающую стандартный ввод, и безопасно передавайте аргументы. Сначала протестируйте обработчик на нейтральной строке, затем на кавычках, обратных слешах и символах новой строки. Это защищает от случайного выполнения команд из содержимого документа.
Контроль качества после автоматической перезагрузки
Перезагрузка после пересборки должна сохранять рабочую позицию, но содержимое вокруг неё может измениться. После крупной правки проверьте заголовок раздела, соседнюю формулу и номер страницы, а не только то, что окно осталось примерно на прежней высоте. Вставка рисунка или изменение шрифта сдвигает материал. Автоматизация ускоряет цикл, но не подтверждает, что курсор редактора и показанный фрагмент всё ещё соответствуют друг другу.
Если окно мигает или периодически показывает ошибку, наблюдатель, вероятно, реагирует на промежуточные записи. Настройте систему сборки так, чтобы готовый PDF заменялся атомарно, либо запускайте reload только после успешного кода возврата. Временный файл должен находиться рядом с итоговым, если атомарное переименование требуется в пределах одной файловой системы. Не отправляйте reload по каждому изменению вспомогательного файла.
При ошибке компиляции оставляйте на экране последний корректный PDF. Это позволяет сравнить исходник с известным результатом и не превращает просмотрщик в пустой индикатор сбоя. После исправления ошибки выполните одну успешную сборку, проверьте размер и время изменения файла, затем перезагрузите. Если SyncTeX-файл обновляется отдельно, дождитесь и его, иначе обратный переход может использовать старое соответствие строк.
Сравнение llpp с аналогами
| Программа | Лучше подходит для | Главное ограничение |
|---|---|---|
| llpp | Быстрого клавиатурного чтения, непрерывной прокрутки, SyncTeX и внешнего управления | Мало визуальных средств редактирования и аннотирования |
| PDF Commander | Редактирования PDF, перестановки страниц и понятной работы через русские элементы управления | Менее ориентирован на терминальные сценарии и SyncTeX |
| Zathura | Минималистичного чтения с Vim-подобными клавишами и подключаемыми обработчиками форматов | Возможности зависят от установленных плагинов |
| MuPDF | Очень быстрого просмотра и использования инструментов обработки PDF | Интерфейс просмотра предельно лаконичен |
| Okular | Универсального чтения, форм, развитых аннотаций и разных типов документов | Больше элементов интерфейса и зависимостей |
| Sioyek | Научных статей, умных переходов, порталов и работы с технической литературой | Не предназначен для полноценного редактирования PDF |
Выбирайте llpp, когда важны непрерывная прокрутка, клавиатура, быстрые переходы и связка с редактором исходников. PDF Commander уместнее для изменения самого документа и операций со страницами. Zathura близка по стилю управления, но требует подходящего плагина формата. MuPDF выбирают за компактность и инструменты движка, Okular — за развитые аннотации и формы, Sioyek — за специализированное чтение научных материалов.
Как освоить llpp без перегрузки
На первом этапе достаточно запомнить q, стрелки, Space, Page Up, Page Down, g, G, Ctrl+плюс, Ctrl+минус, косую черту и n. Эти команды покрывают открытие, чтение, начало и конец, масштаб и поиск. Затем добавьте o для оглавления, m для закладки, Backspace для возврата и F1 для справки. Остальные функции осваиваются по мере появления конкретной задачи.
На втором этапе настройте под себя отображение: подгонку, обрезку полей, яркость, инверсию и число колонок. Меняйте один параметр за раз и проверяйте его на разных страницах. Запишите сочетания, которые действительно ускоряют работу, и только после этого редактируйте карту клавиш. Слишком ранняя массовая перенастройка делает встроенную справку менее полезной и усложняет поиск ошибки.
На третьем этапе подключайте внешние команды, remote, автоматическую перезагрузку и SyncTeX. Каждый канал проверяйте отдельно: сначала ручной reload, затем наблюдатель, потом переход в редактор. Такая последовательность показывает, на каком уровне возникла проблема. Когда цепочка работает, llpp становится устойчивым элементом процесса подготовки документов, а не просто экраном для чтения.
Итоговый выбор режима для задачи
Для спокойного чтения используйте одну колонку, непрерывную прокрутку, подгонку по ширине и именованные закладки. Для визуального поиска переключайтесь в bird’s-eye. Для ссылочной документации держите в памяти Backspace и историю. Для цветных материалов отключайте инверсию, а для сканов проверяйте текстовый слой до поиска.
Для подготовки LaTeX настройте reload только после успешной сборки и Shift-щелчок SyncTeX. Для презентации подгоните страницу по высоте и заранее проверьте смешанную ориентацию. Для временной заметки применяйте текстовую аннотацию и сохраняйте копию, но для серьёзного рецензирования переходите к инструменту с маркером, штампами и управлением комментариями.
llpp раскрывается тогда, когда пользователь формулирует действие как команду: перейти, найти, приблизить, повернуть, отметить, передать текст или обновить результат. Он не пытается заменить редактор PDF, распознаватель и систему совместной работы. Зато при чтении большого документа даёт короткий путь от намерения к результату и сохраняет положение, масштаб и маршрут между связанными фрагментами.