asciidoc: есть ли способ создать привязку, которая будет видна в libreoffice writer?

Tl;dr;

Как правильно создать привязку в docbook? и есть ли способ сделать привязку видимой в Writer?

Задний план

Я пытаюсь разделить документацию, которая раньше находилась в отдельных open office документах, на более мелкие asciidoc документы, которые оба включены в основной документ открытого офиса, а также преобразованы в один или оба из html & pdf. У меня это в основном работает. Я использую asciidoctor для создания HTML. asciidoctor-pdf для создания PDF-файлов и комбинацию asciidoctor и pandoc для создания файлов .odt. Я также попробовал реализовать asciidoc на python, но обнаружил, что интерфейс менее удобен.

Очевидно, что переключение между asciidoc и odt невозможно. Это своего рода слияние, когда мастер-документ обрабатывается текстами, но в него включены части контента, которые могут быть созданы независимо (например, страницы руководства - на самом деле, это один из нескольких вариантов использования).

asciidoc в html:

asciidoctor -b html5 foo.adoc -o foo.html

asciidoc в pdf:

asciidoctor-pdf -b pdf foo.adoc -o foo.pdf

asciidoc в odt

asciidoctor -b docbook foo.adoc -o foo.docbook pandoc --base-header-level=3 -V date:"" -V title:"" -f docbook foo.docbook -o foo.odt

С помощью pandoc мне нужно обнулить дату и заголовок и установить желаемый уровень заголовка для вставки раздела в качестве дополнительного усложнения.

Я вставляю полученный .odt в основной документ, используя insert section внутри открытого офиса. Обратите внимание, что основной документ не является мастер-документом, так как я не смог найти способ создания мастер-документа без автоматического разделения файла по границам h1.

У меня есть две основные проблемы, которые нужно решить с помощью этой настройки. Я хотел бы добавить заголовки в документ asciidoc как перекрестные ссылки, а также создать для них записи в алфавитном указателе (на самом деле первого заголовка будет достаточно). Есть ли способ сделать это? Маркеры индекса в asciidoc не приводят к созданию записей в файле .odt.

Я могу делать перекрестные ссылки на контент во вставленном разделе, используя «вставить ссылку / заголовок» и ссылаясь на заголовок с уникальным именем. Однако всякий раз, когда я использую «обновить все», эти перекрестные ссылки становятся недействительными. Они отображаются как «Ошибка: источник ссылки не найден».

[В отдельной заметке я также хотел бы иметь способ автоматически находить неработающие перекрестные ссылки]

В настоящее время я использую libreoffice - Версия: 4.3.7.2

Я не против переключения версии или вкусов (например, apache), если одна из них ведет себя лучше, чем другая.

Я не уверен, находится ли ответ в части цепочки asciidoc или docbook. Я бы принял ответ, который автоматически вставляет индексную запись в начало вставленного раздела (вверху файла .adoc / docbook).

Я также готов изменить свой набор инструментов на что-то, что будет работать. Например, я попробовал бэкэнд asciidoc-odt и столкнулся с https://github.com/dagwieers/asciidoc-odf/issues/47, не внушающий доверия. Используя asciidoc-odt, мне не нужно создавать промежуточный файл docbook. Однако я все еще не могу заставить появиться якорь.

Я могу получить макрос для создания привязки, но в настоящее время я не понял, как запустить макрос из командной строки.


person Bruce Adams    schedule 20.07.2016    source источник


Ответы (1)


Чтобы создать привязку в DocBook, сделайте встроенную привязку в файле .adoc. Например, присвоив это asciidoctor:

[[X1]]Section1
---------------

произвел это:

<title>
    <anchor xml:id="X1" xreflabel="[X1]"/>
    Section1
</title>

И наоборот, размещение этого в отдельных строках не привело к созданию тега anchor в моем тесте:

[[X1]]
Section 1

А теперь плохие новости. Из Руководства пользователя Pandoc:

В настоящее время внутренние ссылки поддерживаются для форматов HTML (включая слайд-шоу HTML и EPUB), LaTeX и ConTeXt.

Я интерпретирую это как то, что в настоящее время Pandoc не создает внутренних ссылок в Writer. Когда я попробовал, ссылку проигнорировали.

Примечание. Похоже, я не ответил на все ваши вопросы. Если вы хотите узнать больше о перекрестных ссылках и заголовках LibreOffice (большой жирный абзац в конце вопроса), возможно, вы могли бы задать отдельный вопрос только для этой части.

person Jim K    schedule 21.07.2016