#page-break #dita #dita-ot
Вопрос:
DITA 3.6
Кислородный XML-редактор 23.1
Ни книга «ДИТА для печати», ни какой-либо другой источник до сих пор не помогли мне создать pdf-файл, в котором темы указаны последовательно, а не на пустой странице после них. К каждой теме в ditamap я добавил outputclass=»Разрыв страницы-избегайте». К каждому элементу темы в каждом файле я добавил outputclass=»избегать разрыва страницы».
Должен ли я добавить что-то в файл xsl? Можете ли вы указать мне на ответ?
Ответ №1:
Пустая страница создается на основе свойства определения fo:page-sequence/@force-page-number
.
Чтобы изменить, чтобы не генерировать пустую страницу, вы можете переопределить org.dita.pdf2/cfg/fo/attrs/commons-attr.xsl
.
<xsl:attribute-set name="__force__page__count">
<xsl:attribute name="force-page-count">
<xsl:choose>
<xsl:when test="/*[contains(@class, ' bookmap/bookmap ')]">
<xsl:value-of select="'even'"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="'auto'"/>
</xsl:otherwise>
</xsl:choose>
</xsl:attribute>
</xsl:attribute-set>
Измените значение even
в auto
соответствии с вашими потребностями.
Шаги по настройке
Я не знаком с подключаемым модулем PDF2. Так что это может быть не стандартный способ. Но я мог бы настроить его, выполнив следующие действия.
- Сделайте файл XSL для настройки
[DITA-OT]/плагины/org.dita.pdf2/Настройка/fo/attrs/commons-attr.xsl
<?xml version='1.0'?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:fo="http://www.w3.org/1999/XSL/Format"
xmlns:rx="http://www.renderx.com/XSL/Extensions"
version="2.0">
<xsl:attribute-set name="__force__page__count">
<xsl:attribute name="force-page-count">
<xsl:choose>
<xsl:when test="/*[contains(@class, ' bookmap/bookmap ')]">
<xsl:value-of select="'auto'"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="'auto'"/>
</xsl:otherwise>
</xsl:choose>
</xsl:attribute>
</xsl:attribute-set>
</xsl:stylesheet>
- Включите его в [DITA-OT]/плагины/org.dita.pdf2/Настройка/fo/attrs/custom.xsl
<?xml version='1.0'?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:fo="http://www.w3.org/1999/XSL/Format"
version="2.0">
<xsl:include href="commons-attr.xsl"/>
</xsl:stylesheet>
- Настройка [DITA-OT]/plugins/org.dita.pdf2/Customization/catalog.xml
<?xml version="1.0" encoding="utf-8"?>
<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog" prefer="system">
<!-- Custom attributes entry -->
<uri name="cfg:fo/attrs/custom.xsl" uri="fo/attrs/custom.xsl"/>
</catalog>
- Укажите
customization.dir
свойство с[DITA-OT]pluginsorg.dita.pdf2Customization
в сценарии преобразования кислорода.
- Примените сценарий трансформации из кислорода.
- У меня есть следующее
temp/topic.fo
.fo:page-sequence/@force-page-count
Ставшийauto
и в результате PDF-файл, лишние пустые страницы удаляются.
Комментарии:
1. Спасибо, что поделились этим. Однако это не работает. Я сохранил файл commons-attr.xsl в папке Настройки/fo/attrs. Я работаю в редакторе XML Oxygen 23.1, DITA 3.3.
2. @n3v3r8g81n Я добавил примеры шагов настройки. Я также работаю с новейшим редактором XML Oxygen 23.1.
3. Идеальный. спасибо вам за дополнительные шаги. ты хороший писатель. к сожалению, до сих пор не удается. Я также работаю с Дитой для печатной книги. Видишь drive.google.com/file/d/1WlhNj40JHWXH1yIOLa4Qn9SxgSyJcKYp/. … И могу ли я выразить свою благодарность, отправив немного долларов?
4. @n3v3r8g81n Если вам все еще не удается получить желаемый результат, сообщите мне все, что вы заметили в своей настройке. Я всегда готов воспроизвести ваши рабочие шаги, потому что вы используете ту же версию кислорода.
5. @n3v3r8g81n Ваша настройка, похоже, верна. Если возможно, не могли бы вы выслать мне
temp/topic.fo
файловый архив во временную папку?