Цветные горизонтальные линии в шаблоне ODT для Pandoc

Я пытаюсь нарисовать цветную горизонтальную линию в начале ODT-файла (OpenDocumentText для LibreOffice/OpenOffice), полученного преобразованием из md (Текст уценки) с помощью pandoc,

Сначала я получаю шаблон по умолчанию:

pandoc -D odt > template_odt.xml

Я могу нарисовать черную горизонтальную линию, набрав <text:p text:style-name="Horizontal_20_Line" />Например, в этом месте в template_odt.xml:

...
$endif$
<text:p text:style-name="Horizontal_20_Line" />
$for(include-before)$
...

Но как приписать цвет этой линии? Стиль Horizontal_20_line определяется в styles.xml файл:

<style:style style:name="Horizontal_20_Line"
style:display-name="Horizontal Line" style:family="paragraph"
style:parent-style-name="Standard"
style:next-style-name="Text_20_body" style:class="html">
  <style:paragraph-properties fo:margin-top="0in"
  fo:margin-bottom="0.1965in" style:contextual-spacing="false"
  style:border-line-width-bottom="0.0008in 0.0138in 0.0008in"
  fo:padding="0in" fo:border-left="none" fo:border-right="none"
  fo:border-top="none" fo:border-bottom="1.11pt double #808080"
  text:number-lines="false" text:line-number="0"
  style:join-border="false" />
  <style:text-properties fo:font-size="6pt"
  style:font-size-asian="6pt" style:font-size-complex="6pt" />
</style:style>

Так:

  1. Могу ли я добавить атрибут direclty в template_odt.xml, лайк:

    <text:p text:style-name="Horizontal_20_Line" line-color="red"?????/>
    
  2. Или я должен изменить стиль Horizontal_20_line, и как? Я не знаю, где по умолчанию styles.xml файл, и я не знаю, как определить стиль в template_odt.xml (все мои наивные попытки провалились).

1 ответ

Решение

Я нашел, как изменить styles.xml файл. Сначала получите reference.odt файл в папке pandoc или на github. Затем распакуйте этот файл. Цвет горизонтальной линии #808080 в стиле по умолчанию:

<style:style style:name="Horizontal_20_Line"
style:display-name="Horizontal Line" style:family="paragraph"
style:parent-style-name="Standard"
style:next-style-name="Text_20_body" style:class="html">
  <style:paragraph-properties fo:margin-top="0in"
  fo:margin-bottom="0.1965in" style:contextual-spacing="false"
  style:border-line-width-bottom="0.0008in 0.0138in 0.0008in"
  fo:padding="0in" fo:border-left="none" fo:border-right="none"
  fo:border-top="none" fo:border-bottom="1.11pt double #808080"
  text:number-lines="false" text:line-number="0"
  style:join-border="false" />
  <style:text-properties fo:font-size="6pt"
  style:font-size-asian="6pt" style:font-size-complex="6pt" />
</style:style>

Измените цвет и перейдите к разделу Как Open Office сжимает свои файлы? чтобы вернуться к myreference.odt, Затем запустите Pandoc следующим образом (при условии, что оба template_odt.xml а также myreference.odt находятся в текущем каталоге):

pandoc -f markdown -t odt --template=template_odt.xml --reference-odt=myreference.odt myfile.md -o myfile.odt

Теперь у меня есть новая проблема: LibreOffice должен восстановить вывод odt файл, но это другой вопрос...

Другие вопросы по тегам