Как выровнять абзацы по левому краю и удалить переносы из PDF-файла Сфинкса - PullRequest
0 голосов
/ 23 декабря 2018

По умолчанию латекс полностью выравнивает абзацы и выполняет переносы по всему.Мне очень трудно читать длинные и полностью оправданные тексты.Мне легче читать короткие тексты, которые оставляются выровненными.

Как добиться следующего?

  1. Увеличить размер шрифта для основного текста, но сохранить размер шрифта для исходного кода небольшим
  2. Удалить переносы
  3. Выровнять по левому краю все тексты

1 Ответ

0 голосов
/ 23 декабря 2018

После нескольких дней работы над Sphinx и самопознания по результатам тестирования и поиска мне удалось найти решение.Я хотел бы поделиться здесь.

В файле conf.py вы можете добавить следующие записи для ключевого слова latex_elements:

latex_elements = {
    'papersize': 'a4paper',
    'pointsize': '12pt',
    'preamble': r'''
    \usepackage[none]{hyphenat}
    \usepackage[document]{ragged2e}
    '''
}

Однако это приведет к переносу строк исходного кода.,Чтобы использовать маленький размер шрифта для кода, вам необходимо добавить следующие строки вверху conf.py.

# -- To change font size for code alone
from sphinx.highlighting import PygmentsBridge
from pygments.formatters.latex import LatexFormatter

class CustomLatexFormatter(LatexFormatter):
    def __init__(self, **options):
        super(CustomLatexFormatter, self).__init__(**options)
        # Available font size is found in 
        # https://en.wikibooks.org/wiki/LaTeX/Fonts#Built-in_sizes
        self.verboptions = r"formatcom=\scriptsize"

PygmentsBridge.latex_formatter = CustomLatexFormatter
...