Заставить pdflatex создать один блок на слово - PullRequest
3 голосов
/ 02 июля 2010

Я конвертирую файлы электронных книг в pdf-файлы, оптимизированные для ereader (sony ereader не может правильно обосновать текст). Поэтому я конвертирую HTML в латекс, а затем создаю вывод латекса с помощью pdflatex.

У sony reader есть функция поиска слов в словаре. Тем не менее, он вычисляет слова, анализируя коробки; и pdflatex генерирует один блок на строку. Впоследствии я потерял возможность использовать поиск по словарю.

Как мне сказать pdflatex поместить каждое слово в отдельное поле?

EDIT:
Я пытаюсь настроить вывод команды pdflatex, чтобы она вырабатывала один блок на слово. Рассмотрим этот пример:

\documentclass{minimal}

\begin{document}
    This is an example sentence.
\end{document}

При открытии в редакторе PDF после компиляции этот образец будет отображаться в виде одного текстового поля, содержащего предложение «Это пример предложения». Это хорошо для большинства полнофункциональных программ для чтения PDF. Тем не менее, на моем Sony E-Reader, выбор слов основан на коробках; поэтому мой читатель PDF выберет полное предложение, поэтому не смог найти определение для слова, которое я нажал.

Я заметил, что pdflatex останавливается на знаках препинания. Как я могу сделать так, чтобы оно создавало одну коробку на слово? В выводе у меня будет один блок для «This», один для «is», один для «an» и т. Д.

Ответы [ 2 ]

1 голос
/ 09 июля 2010

Я предполагаю, что ваша проблема не с полями, а с кодировкой шрифтов Попробуйте добавить следующее сразу после \documentclass{minimal}:

\usepackage{cmap} % Puts extra info in the PDF's font dictionary that helps searching
\usepackage{lmodern} % cmr, the default Tex font, has a whacky font layout
\usepackage[T1]{fontenc} % This and next line are recommended with lmodern
\usepackage{textcomp}
0 голосов
/ 03 июля 2010

Установите штраф за переносы на 10000 (эффективная бесконечность)

\hyphenpenalty=10000

и, возможно, увеличьте допуск на набор

\tolerance=1000

См. http://dcwww.camd.dtu.dk/~schiotz/comp/LatexTips/LatexTips.html#nohyphen.


Если вы этого не знаете, TeX принимает решения о компоновке, назначая штрафы за плохие вещи (слишком много или слишком мало пустого пространства (по горизонтали или вертикали), вдовые или пустые строки, переполненные или недополненные поля, разделение сносок по страницами т. д. ad nauseam ), затем пытается свести к минимуму штраф за страницу.

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

...