EliseyP / csl_odt2tex

Design church-slavonic texts. From ODT to TEX
2 stars 0 forks source link

Вопрос по LaTeX. #1

Open ghost opened 2 years ago

ghost commented 2 years ago

Здравствуйте, можно ли удобно использовать этот набор утилит для верстки текстов непосредственно в LaTeX (без конвертации из ODF?). Меня интересует набор Часослова в LaTeX, поэтому пытаюсь найти примеры сложных текстов и переработать для своих нужд.

EliseyP commented 2 years ago

Здравствуйте! Да, конечно, ODT в данном случае используется главным из-за удобства совместной работы с теми, кто не знаком с LaTeX. Также удобно "заливать" стилями абзацы (тоже организуемо для других редакторов).
В LaTeX редакторе все можно верстать напрямую, единственное, что можно было бы посоветовать - организовать "сниппеты" для своего TeX-редактора.
По поводу Часослова - есть как минимум Unicode-текст, например здесь. Я посмотрю, м.б. можно быстро его обработать.

EliseyP commented 2 years ago

Посмотрите, для примера, Полунощница, как часть Часослова.
Правда я все же по-скору обрабатывал через ODT, по привычке.

ghost commented 2 years ago

Спасибо за помощь и за эту программу. Остановился на варианте обработки ODT файлов с ресура, которого вы указали и ручной правкой некоторых мест в LaTeX. Но почему-то не получается конвертировать (через csl2tex.py) последование изобразительных. Видимо форматирование/стиль ODT файла неверный?


~/Часослов $ python3 csl2tex.py -p Изобразительны.odt
Convert /home/rx/Часослов/Изобразительны.odt

Traceback (most recent call last):
  File "/home/rx/Часослов/csl2tex.py", line 447, in <module>
    main()
  File "/home/rx/Часослов/csl2tex.py", line 428, in main
    _init_tex = make_tex_init(_file)
  File "/home/rx/Часослов/csl2tex.py", line 356, in make_tex_init
    csl_odt2tex(
  File "/home/rx/Часослов/CslOdt2Tex.py", line 156, in csl_odt2tex
    title = get_odt_title(odt_path)
  File "/home/rx/Часослов/CslOdt2Tex.py", line 45, in get_odt_title
    raise er
  File "/home/rx/Часослов/CslOdt2Tex.py", line 43, in get_odt_title
    odt_obj = Odt(_odt_path)
  File "/home/rx/Часослов/ProcessOdtByXML.py", line 143, in __init__
    self.styles_handle()
  File "/home/rx/Часослов/ProcessOdtByXML.py", line 534, in styles_handle
    _style_name = _st.attributes.get((_ns_style, 'name'))

AttributeError: 'NoneType' object has no attribute 'get'
EliseyP commented 2 years ago

Здравствуйте. Скрипт csl2tex.py предназначен для odt-файлов, в которых текст оформлен стилями из шаблонов Гимнография 20 новый.ott.
В Вашем примере файл Изобразительны.odt каким-то образом был обработан после скачивания с сайта?
Если нет, то простейшим вариантом может быть следущее:

Теперь его можно конвертировать в TeX. Каждый абзац будет обрамлен макросом \Txt{}.
В этом архиве 06izobrazit.zip - обработанный таким образом odt-файл и результат конвертации (tex и pdf).
Соответственно, если нужны заголовки и прочее, то нужно дальнейшее оформление стилями и повторная конвертация.

EliseyP commented 2 years ago

UPD: поправил скрипт, теперь он обрабатывает odt-файл без предварительной обработки.