scrjura 和 tex4ht:标题问题

scrjura 和 tex4ht:标题问题

scrjura.sty 是 KOMA 脚本包的一部分。我用它来起草合同。

我经常需要交付一个 word 文件。因此,我使用 tex4ht 从我的 *.tex 文件中生成它。假设 tex 文件的名称为 contract.tex,此 MWE:

\documentclass[pagesize, ngerman, fontsize=12pt, parskip=half]{scrartcl}
\usepackage[T1]{fontenc}\usepackage[utf8]{inputenc}
\usepackage{babel, scrjura}
  \usepackage{lmodern}
  \usepackage{microtype}

\title{Sicherheitsbestellung}
\subtitle{gag}

\begin{document}
\maketitle

\begin{contract}
  \Clause{title=Eine Paragraphenüberschrift}
  \label{CLA:erster-Par}

  Dieser Paragraph hat nur einen Absatz und der Text ist kurz.

  \Clause{title=Zweite Überschrift}
\label{CLA:titl-uberschr}

Dieser Paragraph hat zwei Absätze, dieser Satz hier ist der erste.

Und hier haben wir den zweiten Absatz. 

\end{contract}


\end{document}

然后我调用 tex4ht:

htlatex contract.tex "scrjura" " -cunihtf"

一位友善的灵魂scrjura.cfg几年前写道,这是一个小文件:

\catcode`\:=11
\makeatletter

\Preamble{html,charset=utf-8}

\begin{document} 

\def\qtchr{\expandafter\@gobble\string\"}
\
\ConfigureList{contract}
  {\HCode{<div class=\qtchr contract\qtchr>}}
  {\HCode{</div>}}
  {}{}

\append:def\contract@paragraph@font{\a:contract@paragraph@font} 
\append:def\contract@paragraph@font{\b:contract@paragraph@font} 

\NewConfigure{contract@paragraph@font}{2}
\Configure{contract@paragraph@font}
  {\HCode{<div class=\qtchr paragraph\qtchr>}}
  {\Tg</div>}

 \pend:def\parformat{\a:parformat} 
 \append:def\parformat{\b:parformat} 

 \NewConfigure{parformat}{2}
 \Configure{parformat}
   {\EndP\HCode{<p class=\qtchr para\qtchr>
    <span class=\qtchr sentence\qtchr>}}
   {\Tg</span>}

 \Css{.sentence{margin-left:2em; padding-top: .5em;}}
 \Css{.paragraph{margin: 1em;}}
 \Css{.para{margin: .5em;}}

\EndPreamble 

\catcode`\:=12
\makeatother

\endinput

问题是:如果条款仅由标题和一个段落组成,则标题和正文之间没有衔接\par。此屏幕截图取自 contract.html:

显示两个条款的图像

德文文本中“段落”一词的用法令人困惑,请忽略它。

问题:如何更改 scrjura.cfg 以\par在标题和段落之间获得一个,即使该条款仅由一个标题和一个段落组成。

您需要知道一件事:如果条款只有一个段落,scrjura.sty则不会对其进行枚举。如果条款有多个段落,则会对其进行编号。

我真的希望我已经清楚地描述了我的愿望。如果有疑问,请询问!

答案1

MWE 中的配置文件与在 html 页面上创建段落的parformat插入<p>和标签挂钩。 (打印句子编号)不用于单句段落,因此在这种情况下不会插入 html 标签。<span>parformat

一个可能的解决方案是连接到\Clause或到,\par但这只作为练习(即我不知道如何做到这一点)。

一种解决方法是在所有情况下稍微修改一下scrjura.stycall parformat。为了保持当前输出(单个句子没有数字),parformat还应修改其自身的定义以显示参数,允许使用空参数调用单个句子,使用句子编号调用多个句子。

修改时parformat,必须在 中指示参数的使用scrjura.cfg,通过使用defI而不是def

梅威瑟:

scrjura.sty

\newcommand*{\parformat}[1]{#1} % was: \newcommand*{\parformat}{(\thepar)}
[...]
\ifnum \@tempcnta>\@ne    %at the end of \newcommand*{\contract@everypar}
    {\usekomafont{parnumber}{\parformat{(\thepar)}\nobreakspace}}% % modified %
\else
  \def\reserved@a{\relax}%
  \ifx\@tempa\reserved@a
    \parformat{}% % modified/added (originally empty clause) %
  \else
    {\usekomafont{parnumber}{\parformat{(\thepar)}\nobreakspace}}% % modified %
  \fi
\fi

scrjura.cfg

[...]
\pend:defI\parformat{\a:parformat} 
\append:defI\parformat{\b:parformat} 
[...]

结果:

在此处输入图片描述

相关内容