DocBook: force paragraphs in HTML cells to allow for nested tables.

CALS still invalid because it forbids nested tables.
This commit is contained in:
Thibaut Cuvelier 2021-02-17 23:32:23 +01:00
parent da92c9a950
commit 6df4597e02
3 changed files with 1032 additions and 1 deletions

View File

@ -0,0 +1,890 @@
#LyX 2.4 created this file. For more info see https://www.lyx.org/
\lyxformat 606
\begin_document
\begin_header
\save_transient_properties true
\origin unavailable
\textclass book
\begin_preamble
\date{Janvier 2021}
%espacement horizontal contrôlé TDM/TOC empêche chevauchement
\usepackage{tocloft}
\setlength{\cftfignumwidth}{3.5em}
\cftsetindents{section}{0em}{2.8em}
\cftsetindents{subsection}{2.4em}{3.7em}
%
\usepackage{xcolor}
\colorlet{BLUE}{blue}
%liens en gris TDM/TDF/TDT + hyperlien + citations biblio
\hypersetup{urlcolor=gray}
\hypersetup{linkcolor=gray}
\hypersetup{citecolor=gray}
% ???
\usepackage{alltt}
\usepackage{upquote}
\newcommand{\nospace}[1]{\texttt{#1}}
% faire apparaître les chapitres*
\let\newchapter\chapter
\long\def\chapter{\addtocontents{toc}{\penalty-3000}\newchapter}
\usepackage{newtxmath}
% tableau dans encadré TeX
\usepackage{tabularx}
% évite la numérotation des pages vides et met le numérotation i, ii, iii, iv, etc
% pour les pages avant les chapitres (numérotés arabian)
\usepackage{emptypage}
\usepackage{etoolbox}
% Fixing the appearance of the footer in the empty pages in between chapters.
\let\origdoublepage\cleardoublepage
\renewcommand{\cleardoublepage}{%
\clearpage
{\pagestyle{empty}\origdoublepage}%
}
% Finished fixing appearance
% empêche que les pages incomplètes incorporent des espaces verticaux
\raggedbottom
% citations comme [1-4] au lieu de [1,2,3,4]
\usepackage{cite}
% pour l'index
\usepackage{latexsym}
\usepackage{textgreek}
% séparation texte / notes de bas de page si page pas pleine
%\addtolength{\skip\footins}{5pt}
\usepackage[bottom]{footmisc}
\end_preamble
\use_default_options true
\begin_modules
theorems-ams
eqs-within-sections
figs-within-sections
\end_modules
\maintain_unincluded_children no
\language french
\language_package default
\inputencoding auto-legacy
\fontencoding auto
\font_roman "times" "default"
\font_sans "default" "default"
\font_typewriter "default" "default"
\font_math "auto" "auto"
\font_default_family default
\use_non_tex_fonts false
\font_sc false
\font_roman_osf false
\font_sans_osf false
\font_typewriter_osf false
\font_sf_scale 100 100
\font_tt_scale 100 100
\use_microtype false
\use_dash_ligatures true
\graphics default
\default_output_format default
\output_sync 0
\bibtex_command default
\index_command default
\float_placement class
\float_alignment class
\paperfontsize default
\spacing single
\use_hyperref true
\pdf_bookmarks true
\pdf_bookmarksnumbered true
\pdf_bookmarksopen false
\pdf_bookmarksopenlevel 1
\pdf_breaklinks true
\pdf_pdfborder true
\pdf_colorlinks true
\pdf_backref false
\pdf_pdfusetitle true
\papersize b5
\use_geometry false
\use_package amsmath 1
\use_package amssymb 1
\use_package cancel 1
\use_package esint 1
\use_package mathdots 1
\use_package mathtools 1
\use_package mhchem 1
\use_package stackrel 1
\use_package stmaryrd 1
\use_package undertilde 1
\cite_engine basic
\cite_engine_type default
\biblio_style plain
\use_bibtopic false
\use_indices true
\paperorientation portrait
\suppress_date false
\justification true
\use_refstyle 1
\use_minted 0
\use_lineno 0
\backgroundcolor #ffffff
\fontcolor #000000
\index Index
\shortcut idx
\color #008000
\end_index
\index Index des fonctions extrinsèques
\shortcut ind
\color #008000
\end_index
\paperwidth 175cm
\paperheight 240mm
\secnumdepth 2
\tocdepth 2
\paragraph_separation indent
\paragraph_indentation default
\is_math_indent 0
\math_numbering_side default
\quotes_style swiss
\dynamic_quotes 0
\papercolumns 1
\papersides 2
\paperpagestyle headings
\tablestyle default
\tracking_changes false
\output_changes false
\change_bars false
\postpone_fragile_content false
\html_math_output 0
\html_css_as_file 0
\html_be_strict false
\docbook_table_output 0
\end_header
\begin_body
\begin_layout Title
\series bold
\noun on
Think Julia
\end_layout
\begin_layout Chapter
Droits associés à la version française
\end_layout
\begin_layout Standard
En vertu de la licence Creative Commons (
\begin_inset CommandInset href
LatexCommand href
name "CC BY-NC-SA 3.0 FR"
target "https://creativecommons.org/licenses/by-nc-sa/3.0/fr/"
literal "false"
\end_inset
;
\emph on
Attribution - Pas dUtilisation Commerciale - Partage dans les Mêmes Conditions
3.0 FR
\emph default
), vous êtes autorisé à partager (copier, distribuer et communiquer le matériel
par tous moyens et sous tous formats) et adapter (remixer, transformer
et créer à partir du matériel) selon les conditions suivantes:
\end_layout
\begin_layout Itemize
\emph on
Attribution
\emph default
— Vous devez créditer le document, intégrer un lien vers la licence (en
l'occurrence:
\begin_inset CommandInset href
LatexCommand href
name "CC BY-NC-SA 3.0 FR"
target "https://creativecommons.org/licenses/by-nc-sa/3.0/fr/legalcode"
literal "false"
\end_inset
) et indiquer si des modifications ont été effectuées au document.
Vous devez indiquer ces informations par tous les moyens raisonnables,
sans toutefois suggérer que le présent auteur vous soutient ou soutient
la façon dont vous avez utilisé son travail.
\end_layout
\begin_layout Itemize
\emph on
Pas dutilisation commerciale
\emph default
— Vous n'êtes pas autorisé à faire un usage commercial du présent document,
tout ou partie du matériel le composant.
\end_layout
\begin_layout Itemize
\emph on
Partage dans les mêmes conditions —
\emph default
Dans le cas où vous effectuez un remix, que vous transformez, ou créez à
partir du matériel composant le document original, vous devez diffuser
le document modifié dans les mêmes conditions, c'est-à-dire avec la même
licence avec laquelle le document original a été diffusé.
\end_layout
\begin_layout Standard
Vous n'êtes pas autorisé à appliquer des conditions légales ou des mesures
techniques qui restreindraient légalement autrui à utiliser le document
dans les conditions décrites par la
\begin_inset CommandInset href
LatexCommand href
name "licence"
target "https://creativecommons.org/licenses/by-nc-sa/3.0/fr/legalcode"
literal "false"
\end_inset
.
\end_layout
\begin_layout Chapter
Table
\end_layout
\begin_layout Standard
Si vous appliquez l'appel
\color blue
histogram("brontosaure")
\color inherit
, le programme retourne la valeur de
\color blue
d
\color inherit
sous cette forme:
\end_layout
\begin_layout Standard
\begin_inset Tabular
<lyxtabular version="3" rows="1" columns="1">
<features tabularvalignment="middle">
<column alignment="left" valignment="top" width="110mm">
<row>
<cell alignment="left" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\begin_layout Plain Layout
\size small
\color lightgray
Dict{Any,Any} with 9 entries
\begin_inset ERT
status open
\begin_layout Plain Layout
\backslash
string:
\end_layout
\end_inset
\end_layout
\begin_layout Plain Layout
\begin_inset Tabular
<lyxtabular version="3" rows="9" columns="3">
<features tabularvalignment="middle">
<column alignment="center" valignment="top" width="0pt">
<column alignment="center" valignment="top" width="3mm">
<column alignment="center" valignment="top" width="3mm">
<row>
<cell alignment="center" valignment="top" usebox="none">
\begin_inset Text
\begin_layout Plain Layout
\color lightgray
\begin_inset ERT
status open
\begin_layout Plain Layout
\backslash
textquotesingle
\end_layout
\end_inset
n
\begin_inset ERT
status open
\begin_layout Plain Layout
\backslash
textquotesingle
\end_layout
\end_inset
\end_layout
\end_inset
</cell>
<cell alignment="center" valignment="top" usebox="none">
\begin_inset Text
\begin_layout Plain Layout
\size small
\color lightgray
=>
\end_layout
\end_inset
</cell>
<cell alignment="center" valignment="top" usebox="none">
\begin_inset Text
\begin_layout Plain Layout
\size small
\color lightgray
1
\end_layout
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" usebox="none">
\begin_inset Text
\begin_layout Plain Layout
\color lightgray
\begin_inset ERT
status open
\begin_layout Plain Layout
\backslash
textquotesingle
\end_layout
\end_inset
s
\begin_inset ERT
status open
\begin_layout Plain Layout
\backslash
textquotesingle
\end_layout
\end_inset
\end_layout
\end_inset
</cell>
<cell alignment="center" valignment="top" usebox="none">
\begin_inset Text
\begin_layout Plain Layout
\size small
\color lightgray
=>
\end_layout
\end_inset
</cell>
<cell alignment="center" valignment="top" usebox="none">
\begin_inset Text
\begin_layout Plain Layout
\size small
\color lightgray
1
\end_layout
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" usebox="none">
\begin_inset Text
\begin_layout Plain Layout
\color lightgray
\begin_inset ERT
status open
\begin_layout Plain Layout
\backslash
textquotesingle
\end_layout
\end_inset
a
\begin_inset ERT
status open
\begin_layout Plain Layout
\backslash
textquotesingle
\end_layout
\end_inset
\end_layout
\end_inset
</cell>
<cell alignment="center" valignment="top" usebox="none">
\begin_inset Text
\begin_layout Plain Layout
\size small
\color lightgray
=>
\end_layout
\end_inset
</cell>
<cell alignment="center" valignment="top" usebox="none">
\begin_inset Text
\begin_layout Plain Layout
\size small
\color lightgray
1
\end_layout
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" usebox="none">
\begin_inset Text
\begin_layout Plain Layout
\color lightgray
\begin_inset ERT
status open
\begin_layout Plain Layout
\backslash
textquotesingle
\end_layout
\end_inset
r
\begin_inset ERT
status open
\begin_layout Plain Layout
\backslash
textquotesingle
\end_layout
\end_inset
\end_layout
\end_inset
</cell>
<cell alignment="center" valignment="top" usebox="none">
\begin_inset Text
\begin_layout Plain Layout
\size small
\color lightgray
=>
\end_layout
\end_inset
</cell>
<cell alignment="center" valignment="top" usebox="none">
\begin_inset Text
\begin_layout Plain Layout
\size small
\color lightgray
2
\end_layout
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" usebox="none">
\begin_inset Text
\begin_layout Plain Layout
\color lightgray
\begin_inset ERT
status open
\begin_layout Plain Layout
\backslash
textquotesingle
\end_layout
\end_inset
t
\begin_inset ERT
status open
\begin_layout Plain Layout
\backslash
textquotesingle
\end_layout
\end_inset
\end_layout
\end_inset
</cell>
<cell alignment="center" valignment="top" usebox="none">
\begin_inset Text
\begin_layout Plain Layout
\size small
\color lightgray
=>
\end_layout
\end_inset
</cell>
<cell alignment="center" valignment="top" usebox="none">
\begin_inset Text
\begin_layout Plain Layout
\size small
\color lightgray
1
\end_layout
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" usebox="none">
\begin_inset Text
\begin_layout Plain Layout
\color lightgray
\begin_inset ERT
status open
\begin_layout Plain Layout
\backslash
textquotesingle
\end_layout
\end_inset
o
\begin_inset ERT
status open
\begin_layout Plain Layout
\backslash
textquotesingle
\end_layout
\end_inset
\end_layout
\end_inset
</cell>
<cell alignment="center" valignment="top" usebox="none">
\begin_inset Text
\begin_layout Plain Layout
\size small
\color lightgray
=>
\end_layout
\end_inset
</cell>
<cell alignment="center" valignment="top" usebox="none">
\begin_inset Text
\begin_layout Plain Layout
\size small
\color lightgray
2
\end_layout
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" usebox="none">
\begin_inset Text
\begin_layout Plain Layout
\color lightgray
\begin_inset ERT
status open
\begin_layout Plain Layout
\backslash
textquotesingle
\end_layout
\end_inset
u
\begin_inset ERT
status open
\begin_layout Plain Layout
\backslash
textquotesingle
\end_layout
\end_inset
\end_layout
\end_inset
</cell>
<cell alignment="center" valignment="top" usebox="none">
\begin_inset Text
\begin_layout Plain Layout
\size small
\color lightgray
=>
\end_layout
\end_inset
</cell>
<cell alignment="center" valignment="top" usebox="none">
\begin_inset Text
\begin_layout Plain Layout
\size small
\color lightgray
1
\end_layout
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" usebox="none">
\begin_inset Text
\begin_layout Plain Layout
\color lightgray
\begin_inset ERT
status open
\begin_layout Plain Layout
\backslash
textquotesingle
\end_layout
\end_inset
e
\begin_inset ERT
status open
\begin_layout Plain Layout
\backslash
textquotesingle
\end_layout
\end_inset
\end_layout
\end_inset
</cell>
<cell alignment="center" valignment="top" usebox="none">
\begin_inset Text
\begin_layout Plain Layout
\size small
\color lightgray
=>
\end_layout
\end_inset
</cell>
<cell alignment="center" valignment="top" usebox="none">
\begin_inset Text
\begin_layout Plain Layout
\size small
\color lightgray
1
\end_layout
\end_inset
</cell>
</row>
<row>
<cell alignment="center" valignment="top" usebox="none">
\begin_inset Text
\begin_layout Plain Layout
\color lightgray
\begin_inset ERT
status open
\begin_layout Plain Layout
\backslash
textquotesingle
\end_layout
\end_inset
b
\begin_inset ERT
status open
\begin_layout Plain Layout
\backslash
textquotesingle
\end_layout
\end_inset
\end_layout
\end_inset
</cell>
<cell alignment="center" valignment="top" usebox="none">
\begin_inset Text
\begin_layout Plain Layout
\size small
\color lightgray
=>
\end_layout
\end_inset
</cell>
<cell alignment="center" valignment="top" usebox="none">
\begin_inset Text
\begin_layout Plain Layout
\size small
\color lightgray
1
\end_layout
\end_inset
</cell>
</row>
</lyxtabular>
\end_inset
\end_layout
\end_inset
</cell>
</row>
</lyxtabular>
\end_inset
\end_layout
\end_body
\end_document

View File

@ -0,0 +1,138 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- This DocBook file was created by LyX 2.4.0dev
See https://www.lyx.org/ for more information -->
<book xml:lang="fr_FR" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:xi="http://www.w3.org/2001/XInclude" version="5.2">
<title><personname><emphasis role='bold'>Think Julia</emphasis></personname></title>
<chapter>
<title>Droits associés à la version française</title>
<para>En vertu de la licence Creative Commons (<link xlink:href="https://creativecommons.org/licenses/by-nc-sa/3.0/fr/">CC BY-NC-SA 3.0 FR</link>; <emphasis>Attribution - Pas dUtilisation Commerciale - Partage dans les Mêmes Conditions 3.0 FR</emphasis>), vous êtes autorisé à partager (copier, distribuer et communiquer le matériel par tous moyens et sous tous formats) et adapter (remixer, transformer et créer à partir du matériel) selon les conditions suivantes:</para>
<itemizedlist>
<listitem>
<para><emphasis>Attribution</emphasis> — Vous devez créditer le document, intégrer un lien vers la licence (en l'occurrence: <link xlink:href="https://creativecommons.org/licenses/by-nc-sa/3.0/fr/legalcode">CC BY-NC-SA 3.0 FR</link>) et indiquer si des modifications ont été effectuées au document. Vous devez indiquer ces informations par tous les moyens raisonnables, sans toutefois suggérer que le présent auteur vous soutient ou soutient la façon dont vous avez utilisé son travail. </para>
</listitem>
<listitem>
<para><emphasis>Pas dutilisation commerciale</emphasis> — Vous n'êtes pas autorisé à faire un usage commercial du présent document, tout ou partie du matériel le composant. </para>
</listitem>
<listitem>
<para><emphasis>Partage dans les mêmes conditions —</emphasis> Dans le cas où vous effectuez un remix, que vous transformez, ou créez à partir du matériel composant le document original, vous devez diffuser le document modifié dans les mêmes conditions, c'est-à-dire avec la même licence avec laquelle le document original a été diffusé. </para>
</listitem>
</itemizedlist>
<para>Vous n'êtes pas autorisé à appliquer des conditions légales ou des mesures techniques qui restreindraient légalement autrui à utiliser le document dans les conditions décrites par la <link xlink:href="https://creativecommons.org/licenses/by-nc-sa/3.0/fr/legalcode">licence</link>.</para>
</chapter>
<chapter>
<title>Table</title>
<para>Si vous appliquez l'appel histogram("brontosaure"), le programme retourne la valeur de d sous cette forme:</para>
<informaltable>
<tbody>
<tr>
<td style="width: 110mm;" align='left' valign='top'>
<para><emphasis role='size_small'>Dict{Any,Any} with 9 entries<!-- \string: --></emphasis></para>
<informaltable>
<tbody>
<tr>
<td align='center' valign='top'>
<para><!-- \textquotesingle --> n<!-- \textquotesingle --></para>
</td>
<td style="width: 3mm;" align='center' valign='top'>
<para><emphasis role='size_small'>=&gt;</emphasis></para>
</td>
<td style="width: 3mm;" align='center' valign='top'>
<para><emphasis role='size_small'>1</emphasis> </para>
</td>
</tr>
<tr>
<td align='center' valign='top'>
<para><!-- \textquotesingle --> s<!-- \textquotesingle --></para>
</td>
<td style="width: 3mm;" align='center' valign='top'>
<para><emphasis role='size_small'>=&gt;</emphasis></para>
</td>
<td style="width: 3mm;" align='center' valign='top'>
<para><emphasis role='size_small'>1</emphasis> </para>
</td>
</tr>
<tr>
<td align='center' valign='top'>
<para><!-- \textquotesingle --> a<!-- \textquotesingle --></para>
</td>
<td style="width: 3mm;" align='center' valign='top'>
<para><emphasis role='size_small'>=&gt;</emphasis></para>
</td>
<td style="width: 3mm;" align='center' valign='top'>
<para><emphasis role='size_small'>1</emphasis> </para>
</td>
</tr>
<tr>
<td align='center' valign='top'>
<para><!-- \textquotesingle --> r<!-- \textquotesingle --></para>
</td>
<td style="width: 3mm;" align='center' valign='top'>
<para><emphasis role='size_small'>=&gt;</emphasis></para>
</td>
<td style="width: 3mm;" align='center' valign='top'>
<para><emphasis role='size_small'>2</emphasis> </para>
</td>
</tr>
<tr>
<td align='center' valign='top'>
<para><!-- \textquotesingle --> t<!-- \textquotesingle --></para>
</td>
<td style="width: 3mm;" align='center' valign='top'>
<para><emphasis role='size_small'>=&gt;</emphasis></para>
</td>
<td style="width: 3mm;" align='center' valign='top'>
<para><emphasis role='size_small'>1</emphasis> </para>
</td>
</tr>
<tr>
<td align='center' valign='top'>
<para><!-- \textquotesingle --> o<!-- \textquotesingle --></para>
</td>
<td style="width: 3mm;" align='center' valign='top'>
<para><emphasis role='size_small'>=&gt;</emphasis></para>
</td>
<td style="width: 3mm;" align='center' valign='top'>
<para><emphasis role='size_small'>2</emphasis> </para>
</td>
</tr>
<tr>
<td align='center' valign='top'>
<para><!-- \textquotesingle --> u<!-- \textquotesingle --></para>
</td>
<td style="width: 3mm;" align='center' valign='top'>
<para><emphasis role='size_small'>=&gt;</emphasis></para>
</td>
<td style="width: 3mm;" align='center' valign='top'>
<para><emphasis role='size_small'>1</emphasis> </para>
</td>
</tr>
<tr>
<td align='center' valign='top'>
<para><!-- \textquotesingle --> e<!-- \textquotesingle --></para>
</td>
<td style="width: 3mm;" align='center' valign='top'>
<para><emphasis role='size_small'>=&gt;</emphasis></para>
</td>
<td style="width: 3mm;" align='center' valign='top'>
<para><emphasis role='size_small'>1</emphasis> </para>
</td>
</tr>
<tr>
<td align='center' valign='top'>
<para><!-- \textquotesingle --> b<!-- \textquotesingle --></para>
</td>
<td style="width: 3mm;" align='center' valign='top'>
<para><emphasis role='size_small'>=&gt;</emphasis></para>
</td>
<td style="width: 3mm;" align='center' valign='top'>
<para><emphasis role='size_small'>1</emphasis> </para>
</td>
</tr>
</tbody>
</informaltable>
</td>
</tr>
</tbody>
</informaltable>
</chapter>
</book>

View File

@ -3611,8 +3611,11 @@ void Tabular::docbookRowAsHTML(XMLStream & xs, row_type row,
else if (isMultiRow(cell))
attr << " rowspan='" << rowSpan(cell) << "'";
OutputParams rp = runparams;
rp.docbook_in_par = false;
rp.docbook_force_pars = true;
xs << xml::StartTag(celltag, attr.str(), true);
cellInset(cell)->docbook(xs, runparams);
cellInset(cell)->docbook(xs, rp);
xs << xml::EndTag(celltag);
xs << xml::CR();
++cell;