不\section

不\section

\section导致意外odtTeX4ht 创建的文档中段落和列表之间出现的空白行。\section但是,如果删除,则这些上下文中不会出现额外的空白行。

我的问题是:配置中的哪一段代码确实section 起到了这种作用?为什么?(请参见底部的代码。)

(我问这个问题是为了教育目的。我不是在报告错误。我也不是在处理现实世界的问题。我只是试图了解 TeX4ht 的工作原理。)

\section

\documentclass{article}
\begin{document}

  Paragraph.

    \begin{enumerate}
       \item List
    \end{enumerate}

\end{document}

良好的输出:

在此处输入图片描述

   <!------no section---------------->
   <text:p text:style-name="Text-body">Paragraph. </text:p>
   <!------no blank line---------------->
   <text:list xml:id="list1" text:style-name="Enumerate">
    <text:list-item>
     <text:p text:style-name="Inside-enumerate">List</text:p>
    </text:list-item>
   </text:list>

\section

\documentclass{article}
\begin{document}

  \section{My section}

  Paragraph.

    \begin{enumerate}
       \item List
    \end{enumerate}

\end{document}

错误输出:

在此处输入图片描述

我所说的“空行”是指:<text:p text:style-name="First-line-indent"/>第三行:

   <text:h text:style-name="Heading-2" text:outline-level="2">1 Section</text:h>
   <text:p text:style-name="Text-body">Paragraph. </text:p>
   <text:p text:style-name="First-line-indent"/>
   <text:list xml:id="list1" text:style-name="Enumerate">
    <text:list-item>
     <text:p text:style-name="Inside-enumerate">List</text:p>
    </text:list-item>
   </text:list>

请注意,标题后没有出现空白行。它出现稍后的,即在任何跟随列表的段落之后:

代码:

section以下是来自的配置texmf/tex/generic/tex4ht/ooffice.4ht(第 3460 行)

\ConfigureMark{section}
   {\ifnum \c:secnumdepth>\c@secnumdepth \expandafter\:gobble
    \else  \thesection\space\fi }
\Configure{section}
   {\IgnorePar\EndP \HCode{<!--start of section-->}}
   {\IgnorePar\EndP \HCode{<!--end of section-->}}
   {\HCode{<text:h text:style-name="\csname a:Heading-2\endcsname"
                   \text:outlinelevel="2"  ><text:span
                   text:style-name="section">}\TitleMark\space
    \HCode{</text:span>}\IgnoreIndent}
   {\HCode{</text:h>\Hnewline}\par\ShowPar}

相关内容