summaryrefslogtreecommitdiff
path: root/docutils/test/functional
diff options
context:
space:
mode:
authormilde <milde@929543f6-e4f2-0310-98a6-ba3bd3dd1d04>2020-11-25 23:06:44 +0000
committermilde <milde@929543f6-e4f2-0310-98a6-ba3bd3dd1d04>2020-11-25 23:06:44 +0000
commit942f798c4a444f3c0f69947914fa450e1cabc84b (patch)
treebfd14a946e49cd80ec68d9781ad267970dc12224 /docutils/test/functional
parente917fa1d35fe0a9c8c03d68b1d9b062152d3bd68 (diff)
downloaddocutils-942f798c4a444f3c0f69947914fa450e1cabc84b.tar.gz
Apply patch #175 "Fix alignment of nested tables".
Thanks to John Thorvald Wodder II for the patch. Additional fixes to table alignment. Expand LaTeX writer test for nested tables. git-svn-id: https://svn.code.sf.net/p/docutils/code/trunk@8577 929543f6-e4f2-0310-98a6-ba3bd3dd1d04
Diffstat (limited to 'docutils/test/functional')
-rw-r--r--docutils/test/functional/expected/latex_cornercases.tex154
-rw-r--r--docutils/test/functional/expected/latex_literal_block.tex6
-rw-r--r--docutils/test/functional/expected/latex_literal_block_fancyvrb.tex6
-rw-r--r--docutils/test/functional/expected/latex_literal_block_listings.tex6
-rw-r--r--docutils/test/functional/expected/latex_literal_block_verbatim.tex6
-rw-r--r--docutils/test/functional/expected/latex_literal_block_verbatimtab.tex6
-rw-r--r--docutils/test/functional/expected/latex_memoir.tex52
-rw-r--r--docutils/test/functional/expected/standalone_rst_latex.tex52
-rw-r--r--docutils/test/functional/expected/standalone_rst_xetex.tex52
-rw-r--r--docutils/test/functional/input/latex_cornercases.txt47
10 files changed, 270 insertions, 117 deletions
diff --git a/docutils/test/functional/expected/latex_cornercases.tex b/docutils/test/functional/expected/latex_cornercases.tex
index ce61abbfb..bc9ef36af 100644
--- a/docutils/test/functional/expected/latex_cornercases.tex
+++ b/docutils/test/functional/expected/latex_cornercases.tex
@@ -4,6 +4,7 @@
\usepackage{ifthen}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
+\usepackage{booktabs}
\usepackage{graphicx}
\usepackage{multirow}
\setcounter{secnumdepth}{0}
@@ -125,8 +126,8 @@ Therefore, visit\_entry() is only called for the remaining cells and the
LaTeX writer needs bookkeeping to write out the required number of extra
'\&'s.
-\setlength{\DUtablewidth}{\linewidth}
-\begin{longtable*}[c]{|p{0.075\DUtablewidth}|p{0.133\DUtablewidth}|p{0.133\DUtablewidth}|p{0.086\DUtablewidth}|}
+\setlength{\DUtablewidth}{\linewidth}%
+\begin{longtable*}{|p{0.075\DUtablewidth}|p{0.133\DUtablewidth}|p{0.133\DUtablewidth}|p{0.086\DUtablewidth}|}
\hline
11
@@ -167,8 +168,8 @@ LaTeX writer needs bookkeeping to write out the required number of extra
\hline
\end{longtable*}
-\setlength{\DUtablewidth}{\linewidth}
-\begin{longtable*}[c]{|p{0.098\DUtablewidth}|p{0.098\DUtablewidth}|p{0.063\DUtablewidth}|}
+\setlength{\DUtablewidth}{\linewidth}%
+\begin{longtable*}{|p{0.098\DUtablewidth}|p{0.098\DUtablewidth}|p{0.063\DUtablewidth}|}
\hline
11
@@ -192,8 +193,8 @@ LaTeX writer needs bookkeeping to write out the required number of extra
\hline
\end{longtable*}
-\setlength{\DUtablewidth}{\linewidth}
-\begin{longtable*}[c]{|p{0.098\DUtablewidth}|p{0.063\DUtablewidth}|}
+\setlength{\DUtablewidth}{\linewidth}%
+\begin{longtable*}{|p{0.098\DUtablewidth}|p{0.063\DUtablewidth}|}
\hline
11
@@ -213,8 +214,8 @@ LaTeX writer needs bookkeeping to write out the required number of extra
\hline
\end{longtable*}
-\setlength{\DUtablewidth}{\linewidth}
-\begin{longtable*}[c]{|p{0.063\DUtablewidth}|p{0.110\DUtablewidth}|p{0.063\DUtablewidth}|}
+\setlength{\DUtablewidth}{\linewidth}%
+\begin{longtable*}{|p{0.063\DUtablewidth}|p{0.110\DUtablewidth}|p{0.063\DUtablewidth}|}
\hline
11
@@ -241,8 +242,8 @@ LaTeX writer needs bookkeeping to write out the required number of extra
\hline
\end{longtable*}
-\setlength{\DUtablewidth}{\linewidth}
-\begin{longtable*}[c]{|p{0.063\DUtablewidth}|p{0.110\DUtablewidth}|}
+\setlength{\DUtablewidth}{\linewidth}%
+\begin{longtable*}{|p{0.063\DUtablewidth}|p{0.110\DUtablewidth}|}
\hline
11
@@ -262,8 +263,8 @@ LaTeX writer needs bookkeeping to write out the required number of extra
\hline
\end{longtable*}
-\setlength{\DUtablewidth}{\linewidth}
-\begin{longtable*}[c]{|p{0.063\DUtablewidth}|p{0.110\DUtablewidth}|}
+\setlength{\DUtablewidth}{\linewidth}%
+\begin{longtable*}{|p{0.063\DUtablewidth}|p{0.110\DUtablewidth}|}
\hline
11
@@ -283,8 +284,8 @@ LaTeX writer needs bookkeeping to write out the required number of extra
\hline
\end{longtable*}
-\setlength{\DUtablewidth}{\linewidth}
-\begin{longtable*}[c]{|p{0.063\DUtablewidth}|p{0.156\DUtablewidth}|p{0.110\DUtablewidth}|}
+\setlength{\DUtablewidth}{\linewidth}%
+\begin{longtable*}{|p{0.063\DUtablewidth}|p{0.156\DUtablewidth}|p{0.110\DUtablewidth}|}
\hline
11
@@ -300,8 +301,8 @@ LaTeX writer needs bookkeeping to write out the required number of extra
\hline
\end{longtable*}
-\setlength{\DUtablewidth}{\linewidth}
-\begin{longtable*}[c]{|p{0.098\DUtablewidth}|p{0.063\DUtablewidth}|p{0.110\DUtablewidth}|}
+\setlength{\DUtablewidth}{\linewidth}%
+\begin{longtable*}{|p{0.098\DUtablewidth}|p{0.063\DUtablewidth}|p{0.110\DUtablewidth}|}
\hline
\multirow{2}{0.10\DUtablewidth}{%
1/2 3
@@ -317,8 +318,8 @@ LaTeX writer needs bookkeeping to write out the required number of extra
\hline
\end{longtable*}
-\setlength{\DUtablewidth}{\linewidth}
-\begin{longtable*}[c]{|p{0.098\DUtablewidth}|p{0.063\DUtablewidth}|}
+\setlength{\DUtablewidth}{\linewidth}%
+\begin{longtable*}{|p{0.098\DUtablewidth}|p{0.063\DUtablewidth}|}
\hline
\multirow{2}{0.10\DUtablewidth}{%
1/2 3
@@ -346,8 +347,8 @@ LaTeX writer needs bookkeeping to write out the required number of extra
TODO:
Set alignment of nested tables without creating too much vertical space.
-\setlength{\DUtablewidth}{\linewidth}
-\begin{longtable*}[c]{|p{0.493\DUtablewidth}|p{0.214\DUtablewidth}|}
+\setlength{\DUtablewidth}{\linewidth}%
+\begin{longtable*}{|p{0.493\DUtablewidth}|p{0.214\DUtablewidth}|}
\hline
Lorem ipsum dolor sit amet, consectetur
@@ -356,8 +357,8 @@ adipisicing elit
\\
\hline
-\setlength{\DUtablewidth}{\linewidth}
-\begin{tabular}[r]{|p{0.075\DUtablewidth}|p{0.075\DUtablewidth}|}
+\setlength{\DUtablewidth}{\linewidth}%
+\begin{tabular}{|p{0.075\DUtablewidth}|p{0.075\DUtablewidth}|}
\hline
1
@@ -371,8 +372,9 @@ cell 1, 2
\\
\hline
-\setlength{\DUtablewidth}{\linewidth}
-\begin{tabular}[r]{|p{0.075\DUtablewidth}|p{0.075\DUtablewidth}|}
+\noindent\makebox[\linewidth][l]{%
+\setlength{\DUtablewidth}{\linewidth}%
+\begin{tabular}{|p{0.075\DUtablewidth}|p{0.075\DUtablewidth}|}
\hline
1
@@ -381,6 +383,58 @@ cell 1, 2
\\
\hline
\end{tabular}
+}
+ &
+cell 1, 2
+ \\
+\hline
+
+\noindent\makebox[\linewidth][c]{%
+\setlength{\DUtablewidth}{\linewidth}%
+\begin{tabular}{|p{0.075\DUtablewidth}|p{0.075\DUtablewidth}|}
+\hline
+
+1
+ &
+2
+ \\
+\hline
+\end{tabular}
+}
+ &
+cell 1, 2
+ \\
+\hline
+
+\noindent\makebox[\linewidth][r]{%
+\setlength{\DUtablewidth}{\linewidth}%
+\begin{tabular}{|p{0.075\DUtablewidth}|p{0.075\DUtablewidth}|}
+\hline
+
+1
+ &
+2
+ \\
+\hline
+\end{tabular}
+}
+ &
+cell 1, 2
+ \\
+\hline
+
+\noindent\makebox[\linewidth][r]{%
+\setlength{\DUtablewidth}{\linewidth}%
+\begin{tabular}{|p{0.075\DUtablewidth}|p{0.075\DUtablewidth}|}
+\hline
+
+1
+ &
+2
+ \\
+\hline
+\end{tabular}
+}
\begin{description}
\item[{definition:}] \leavevmode
@@ -397,4 +451,56 @@ cell 3, 2
\hline
\end{longtable*}
+\setlength{\DUtablewidth}{\linewidth}%
+\begin{longtable*}{p{0.493\DUtablewidth}p{0.214\DUtablewidth}}
+\toprule
+
+Lorem ipsum dolor sit amet, consectetur
+ &
+adipisicing elit
+ \\
+
+\noindent\makebox[\linewidth][r]{%
+\setlength{\DUtablewidth}{\linewidth}%
+\begin{tabular}{|p{0.075\DUtablewidth}|p{0.075\DUtablewidth}|}
+\hline
+
+1
+ &
+2
+ \\
+\hline
+\end{tabular}
+}
+ &
+cell 1, 2
+ \\
+
+\noindent\makebox[\linewidth][r]{%
+\setlength{\DUtablewidth}{\linewidth}%
+\begin{tabular}{|p{0.075\DUtablewidth}|p{0.075\DUtablewidth}|}
+\hline
+
+1
+ &
+2
+ \\
+\hline
+\end{tabular}
+}
+
+\begin{description}
+\item[{definition:}] \leavevmode
+list
+
+\end{description}
+ &
+cell 2, 2
+ \\
+ &
+cell 3, 2
+ \\
+\bottomrule
+\end{longtable*}
+
\end{document}
diff --git a/docutils/test/functional/expected/latex_literal_block.tex b/docutils/test/functional/expected/latex_literal_block.tex
index 426f02100..f93dabfbc 100644
--- a/docutils/test/functional/expected/latex_literal_block.tex
+++ b/docutils/test/functional/expected/latex_literal_block.tex
@@ -71,8 +71,8 @@ $\textbackslash{}sin^2(x)$ and $\textbackslash{}cos^2(x)$ equals one:
A literal block in a table:
-\setlength{\DUtablewidth}{\linewidth}
-\begin{longtable*}[c]{|p{0.063\DUtablewidth}|p{0.145\DUtablewidth}|p{0.063\DUtablewidth}|}
+\setlength{\DUtablewidth}{\linewidth}%
+\begin{longtable*}{|p{0.063\DUtablewidth}|p{0.145\DUtablewidth}|p{0.063\DUtablewidth}|}
\hline
test
@@ -90,7 +90,7 @@ test
A literal block in a table with auto-width columns:
-\begin{longtable*}[c]{|l|l|l|}
+\begin{longtable*}{|l|l|l|}
\hline
test &
\ttfamily\raggedright
diff --git a/docutils/test/functional/expected/latex_literal_block_fancyvrb.tex b/docutils/test/functional/expected/latex_literal_block_fancyvrb.tex
index ba2c6faae..a334e03d0 100644
--- a/docutils/test/functional/expected/latex_literal_block_fancyvrb.tex
+++ b/docutils/test/functional/expected/latex_literal_block_fancyvrb.tex
@@ -71,8 +71,8 @@ $\sin^2(x)$ and $\cos^2(x)$ equals one:
A literal block in a table:
-\setlength{\DUtablewidth}{\linewidth}
-\begin{longtable*}[c]{|p{0.063\DUtablewidth}|p{0.145\DUtablewidth}|p{0.063\DUtablewidth}|}
+\setlength{\DUtablewidth}{\linewidth}%
+\begin{longtable*}{|p{0.063\DUtablewidth}|p{0.145\DUtablewidth}|p{0.063\DUtablewidth}|}
\hline
test
@@ -90,7 +90,7 @@ test
A literal block in a table with auto-width columns:
-\begin{longtable*}[c]{|l|l|l|}
+\begin{longtable*}{|l|l|l|}
\hline
test &
\ttfamily\raggedright
diff --git a/docutils/test/functional/expected/latex_literal_block_listings.tex b/docutils/test/functional/expected/latex_literal_block_listings.tex
index dac7476a4..61bf6e54d 100644
--- a/docutils/test/functional/expected/latex_literal_block_listings.tex
+++ b/docutils/test/functional/expected/latex_literal_block_listings.tex
@@ -73,8 +73,8 @@ $\sin^2(x)$ and $\cos^2(x)$ equals one:
A literal block in a table:
-\setlength{\DUtablewidth}{\linewidth}
-\begin{longtable*}[c]{|p{0.063\DUtablewidth}|p{0.145\DUtablewidth}|p{0.063\DUtablewidth}|}
+\setlength{\DUtablewidth}{\linewidth}%
+\begin{longtable*}{|p{0.063\DUtablewidth}|p{0.145\DUtablewidth}|p{0.063\DUtablewidth}|}
\hline
test
@@ -93,7 +93,7 @@ test
A literal block in a table with auto-width columns:
-\begin{longtable*}[c]{|l|l|l|}
+\begin{longtable*}{|l|l|l|}
\hline
test &
\lstset{xleftmargin=0pt}
diff --git a/docutils/test/functional/expected/latex_literal_block_verbatim.tex b/docutils/test/functional/expected/latex_literal_block_verbatim.tex
index c40501575..823651730 100644
--- a/docutils/test/functional/expected/latex_literal_block_verbatim.tex
+++ b/docutils/test/functional/expected/latex_literal_block_verbatim.tex
@@ -70,8 +70,8 @@ $\sin^2(x)$ and $\cos^2(x)$ equals one:
A literal block in a table:
-\setlength{\DUtablewidth}{\linewidth}
-\begin{longtable*}[c]{|p{0.063\DUtablewidth}|p{0.145\DUtablewidth}|p{0.063\DUtablewidth}|}
+\setlength{\DUtablewidth}{\linewidth}%
+\begin{longtable*}{|p{0.063\DUtablewidth}|p{0.145\DUtablewidth}|p{0.063\DUtablewidth}|}
\hline
test
@@ -89,7 +89,7 @@ test
A literal block in a table with auto-width columns:
-\begin{longtable*}[c]{|l|l|l|}
+\begin{longtable*}{|l|l|l|}
\hline
test &
\ttfamily\raggedright
diff --git a/docutils/test/functional/expected/latex_literal_block_verbatimtab.tex b/docutils/test/functional/expected/latex_literal_block_verbatimtab.tex
index cfbc8161d..2da4fde8b 100644
--- a/docutils/test/functional/expected/latex_literal_block_verbatimtab.tex
+++ b/docutils/test/functional/expected/latex_literal_block_verbatimtab.tex
@@ -71,8 +71,8 @@ $\sin^2(x)$ and $\cos^2(x)$ equals one:
A literal block in a table:
-\setlength{\DUtablewidth}{\linewidth}
-\begin{longtable*}[c]{|p{0.063\DUtablewidth}|p{0.145\DUtablewidth}|p{0.063\DUtablewidth}|}
+\setlength{\DUtablewidth}{\linewidth}%
+\begin{longtable*}{|p{0.063\DUtablewidth}|p{0.145\DUtablewidth}|p{0.063\DUtablewidth}|}
\hline
test
@@ -90,7 +90,7 @@ test
A literal block in a table with auto-width columns:
-\begin{longtable*}[c]{|l|l|l|}
+\begin{longtable*}{|l|l|l|}
\hline
test &
\ttfamily\raggedright
diff --git a/docutils/test/functional/expected/latex_memoir.tex b/docutils/test/functional/expected/latex_memoir.tex
index ce552b44d..f8cc79366 100644
--- a/docutils/test/functional/expected/latex_memoir.tex
+++ b/docutils/test/functional/expected/latex_memoir.tex
@@ -884,8 +884,8 @@ layout.
\noindent\makebox[\linewidth][c]{\includegraphics[width=258bp]{../../../docs/user/rst/images/title.png}}
\caption{Plaintext markup syntax and parser system.}
\begin{DUlegend}
-\setlength{\DUtablewidth}{\linewidth}
-\begin{longtable*}[c]{|p{0.156\DUtablewidth}|p{0.563\DUtablewidth}|}
+\setlength{\DUtablewidth}{\linewidth}%
+\begin{longtable*}{|p{0.156\DUtablewidth}|p{0.563\DUtablewidth}|}
\hline
re
@@ -974,7 +974,7 @@ upon the style sheet and the browser or rendering software used.
Tables may be given titles and additional arguments with the \emph{table}
directive:
-\setlength{\DUtablewidth}{\linewidth}
+\setlength{\DUtablewidth}{\linewidth}%
\begin{longtable}[l]{|p{0.075\DUtablewidth}|p{0.075\DUtablewidth}|}
\caption{left-aligned table}\\
\hline
@@ -1011,7 +1011,7 @@ False
\hline
\end{longtable}
-\setlength{\DUtablewidth}{\linewidth}
+\setlength{\DUtablewidth}{\linewidth}%
\begin{longtable}[c]{|p{0.075\DUtablewidth}|p{0.075\DUtablewidth}|}
\caption{center-aligned table}\\
\hline
@@ -1048,7 +1048,7 @@ False
\hline
\end{longtable}
-\setlength{\DUtablewidth}{\linewidth}
+\setlength{\DUtablewidth}{\linewidth}%
\begin{longtable}[r]{|p{0.075\DUtablewidth}|p{0.075\DUtablewidth}|}
\caption{right-aligned table}\\
\hline
@@ -1089,7 +1089,7 @@ With the \textquotedbl{}widths\textquotedbl{} argument \textquotedbl{}auto\textq
column widths are determined by the backend (if supported by the
writer/backend).
-\begin{longtable*}[c]{|l|l|l|}
+\begin{longtable*}{|l|l|l|}
\hline
\textbf{A} & \textbf{B} & \textbf{A or B} \\
\hline
@@ -1329,8 +1329,8 @@ Compound 5, block 3 (a paragraph).
Compound 7, tests the inclusion of various block-level
elements in one logical paragraph. First a table,
-\setlength{\DUtablewidth}{\linewidth}
-\begin{longtable*}[c]{|p{0.249\DUtablewidth}|p{0.249\DUtablewidth}|p{0.249\DUtablewidth}|}
+\setlength{\DUtablewidth}{\linewidth}%
+\begin{longtable*}{|p{0.249\DUtablewidth}|p{0.249\DUtablewidth}|p{0.249\DUtablewidth}|}
\hline
Left cell, first
@@ -1538,8 +1538,8 @@ paragraph 2
This table has a cell spanning two columns:
-\setlength{\DUtablewidth}{\linewidth}
-\begin{longtable*}[c]{|p{0.075\DUtablewidth}|p{0.075\DUtablewidth}|p{0.086\DUtablewidth}|}
+\setlength{\DUtablewidth}{\linewidth}%
+\begin{longtable*}{|p{0.075\DUtablewidth}|p{0.075\DUtablewidth}|p{0.086\DUtablewidth}|}
\hline
\multicolumn{2}{|p{0.15\DUtablewidth}|}{\textbf{%
Inputs
@@ -1616,8 +1616,8 @@ True
Here's a table with cells spanning several rows:
-\setlength{\DUtablewidth}{\linewidth}
-\begin{longtable*}[c]{|p{0.296\DUtablewidth}|p{0.156\DUtablewidth}|p{0.226\DUtablewidth}|}
+\setlength{\DUtablewidth}{\linewidth}%
+\begin{longtable*}{|p{0.296\DUtablewidth}|p{0.156\DUtablewidth}|p{0.226\DUtablewidth}|}
\hline
\textbf{%
Header row, column 1
@@ -1676,8 +1676,8 @@ body row 3
Here's a list table exercising all features:
\begin{DUclass}{test}
-\setlength{\DUtablewidth}{40em}
-\begin{longtable}[c]{|p{0.133\DUtablewidth}|p{0.249\DUtablewidth}|p{0.365\DUtablewidth}|}
+\setlength{\DUtablewidth}{40em}%
+\begin{longtable}{|p{0.133\DUtablewidth}|p{0.249\DUtablewidth}|p{0.365\DUtablewidth}|}
\caption{list table with integral header}\\
\hline
\textbf{%
@@ -1840,8 +1840,8 @@ physical system changes in time.
\begin{description}
\item[{Math-Accents:}] \leavevmode
-\setlength{\DUtablewidth}{\linewidth}
-\begin{longtable*}[c]{p{0.315\DUtablewidth}p{0.315\DUtablewidth}p{0.315\DUtablewidth}}
+\setlength{\DUtablewidth}{\linewidth}%
+\begin{longtable*}{p{0.315\DUtablewidth}p{0.315\DUtablewidth}p{0.315\DUtablewidth}}
$\acute{a}$ \texttt{\textbackslash{}acute\{a\}}
&
@@ -2072,8 +2072,8 @@ writer for image, table, and line block elements.
A table with multi-paragraph multicolumn cells:
-\setlength{\DUtablewidth}{\linewidth}
-\begin{longtable*}[c]{|p{0.133\DUtablewidth}|p{0.179\DUtablewidth}|p{0.179\DUtablewidth}|p{0.110\DUtablewidth}|p{0.121\DUtablewidth}|p{0.145\DUtablewidth}|}
+\setlength{\DUtablewidth}{\linewidth}%
+\begin{longtable*}{|p{0.133\DUtablewidth}|p{0.179\DUtablewidth}|p{0.179\DUtablewidth}|p{0.110\DUtablewidth}|p{0.121\DUtablewidth}|p{0.145\DUtablewidth}|}
\hline
test
@@ -2132,7 +2132,7 @@ limitation (see \url{https://sourceforge.net/p/docutils/bugs/225/}).
A table with multirow header and column-widths set by LaTeX:
-\begin{longtable*}[c]{|l|l|}
+\begin{longtable*}{|l|l|}
\hline
\multirow{2}{*}{\textbf{XXX}} & \textbf{Variable Summary} \\
\cline{2-2}
@@ -2155,7 +2155,7 @@ A table with multirow header and column-widths set by LaTeX:
In a table with column-widths set by LaTeX, each cell has just one line.
Paragraphs are merged (a warning is given).
-\begin{longtable*}[c]{|l|l|}
+\begin{longtable*}{|l|l|}
\hline
11 & first paragraph
second paragraph
@@ -2220,8 +2220,8 @@ width as the third line.
Punctuation and footnote symbols
-\setlength{\DUtablewidth}{\linewidth}
-\begin{longtable*}[c]{|p{0.028\DUtablewidth}|p{0.424\DUtablewidth}|}
+\setlength{\DUtablewidth}{\linewidth}%
+\begin{longtable*}{|p{0.028\DUtablewidth}|p{0.424\DUtablewidth}|}
\hline
@@ -2329,8 +2329,8 @@ left-right double arrow
The \DUroletitlereference{Latin-1 extended} Unicode block
-\setlength{\DUtablewidth}{\linewidth}
-\begin{longtable*}[c]{|p{0.051\DUtablewidth}|p{0.028\DUtablewidth}|p{0.028\DUtablewidth}|p{0.028\DUtablewidth}|p{0.028\DUtablewidth}|p{0.028\DUtablewidth}|p{0.028\DUtablewidth}|p{0.028\DUtablewidth}|p{0.028\DUtablewidth}|p{0.028\DUtablewidth}|p{0.028\DUtablewidth}|}
+\setlength{\DUtablewidth}{\linewidth}%
+\begin{longtable*}{|p{0.051\DUtablewidth}|p{0.028\DUtablewidth}|p{0.028\DUtablewidth}|p{0.028\DUtablewidth}|p{0.028\DUtablewidth}|p{0.028\DUtablewidth}|p{0.028\DUtablewidth}|p{0.028\DUtablewidth}|p{0.028\DUtablewidth}|p{0.028\DUtablewidth}|p{0.028\DUtablewidth}|}
\hline
%
@@ -2673,8 +2673,8 @@ In LaTeX, we must set an explicit anchor (\texttt{\textbackslash{}phantomsection
\phantomsection\label{hypertarget-in-plain-text}hypertarget in plain text or in a figure but not in a longtable or
caption:
-\setlength{\DUtablewidth}{\linewidth}
-\begin{longtable}[c]{|p{0.075\DUtablewidth}|p{0.075\DUtablewidth}|p{0.075\DUtablewidth}|}
+\setlength{\DUtablewidth}{\linewidth}%
+\begin{longtable}{|p{0.075\DUtablewidth}|p{0.075\DUtablewidth}|p{0.075\DUtablewidth}|}
\caption{Table with %
\label{hypertarget-in-table-title}hypertarget in table title.}\\
\hline
diff --git a/docutils/test/functional/expected/standalone_rst_latex.tex b/docutils/test/functional/expected/standalone_rst_latex.tex
index 1e15381e3..3b4b9b159 100644
--- a/docutils/test/functional/expected/standalone_rst_latex.tex
+++ b/docutils/test/functional/expected/standalone_rst_latex.tex
@@ -888,8 +888,8 @@ layout.
\noindent\makebox[\linewidth][c]{\includegraphics[width=258bp]{../../../docs/user/rst/images/title.png}}
\caption{Plaintext markup syntax and parser system.}
\begin{DUlegend}
-\setlength{\DUtablewidth}{\linewidth}
-\begin{longtable*}[c]{|p{0.156\DUtablewidth}|p{0.563\DUtablewidth}|}
+\setlength{\DUtablewidth}{\linewidth}%
+\begin{longtable*}{|p{0.156\DUtablewidth}|p{0.563\DUtablewidth}|}
\hline
re
@@ -978,7 +978,7 @@ upon the style sheet and the browser or rendering software used.
Tables may be given titles and additional arguments with the \emph{table}
directive:
-\setlength{\DUtablewidth}{\linewidth}
+\setlength{\DUtablewidth}{\linewidth}%
\begin{longtable}[l]{|p{0.075\DUtablewidth}|p{0.075\DUtablewidth}|}
\caption{left-aligned table}\\
\hline
@@ -1015,7 +1015,7 @@ False
\hline
\end{longtable}
-\setlength{\DUtablewidth}{\linewidth}
+\setlength{\DUtablewidth}{\linewidth}%
\begin{longtable}[c]{|p{0.075\DUtablewidth}|p{0.075\DUtablewidth}|}
\caption{center-aligned table}\\
\hline
@@ -1052,7 +1052,7 @@ False
\hline
\end{longtable}
-\setlength{\DUtablewidth}{\linewidth}
+\setlength{\DUtablewidth}{\linewidth}%
\begin{longtable}[r]{|p{0.075\DUtablewidth}|p{0.075\DUtablewidth}|}
\caption{right-aligned table}\\
\hline
@@ -1093,7 +1093,7 @@ With the “widths” argument “auto” (or “class” value “colwidths-aut
column widths are determined by the backend (if supported by the
writer/backend).
-\begin{longtable*}[c]{|l|l|l|}
+\begin{longtable*}{|l|l|l|}
\hline
\textbf{A} & \textbf{B} & \textbf{A or B} \\
\hline
@@ -1333,8 +1333,8 @@ Compound 5, block 3 (a paragraph).
Compound 7, tests the inclusion of various block-level
elements in one logical paragraph. First a table,
-\setlength{\DUtablewidth}{\linewidth}
-\begin{longtable*}[c]{|p{0.249\DUtablewidth}|p{0.249\DUtablewidth}|p{0.249\DUtablewidth}|}
+\setlength{\DUtablewidth}{\linewidth}%
+\begin{longtable*}{|p{0.249\DUtablewidth}|p{0.249\DUtablewidth}|p{0.249\DUtablewidth}|}
\hline
Left cell, first
@@ -1542,8 +1542,8 @@ paragraph 2
This table has a cell spanning two columns:
-\setlength{\DUtablewidth}{\linewidth}
-\begin{longtable*}[c]{|p{0.075\DUtablewidth}|p{0.075\DUtablewidth}|p{0.086\DUtablewidth}|}
+\setlength{\DUtablewidth}{\linewidth}%
+\begin{longtable*}{|p{0.075\DUtablewidth}|p{0.075\DUtablewidth}|p{0.086\DUtablewidth}|}
\hline
\multicolumn{2}{|p{0.15\DUtablewidth}|}{\textbf{%
Inputs
@@ -1620,8 +1620,8 @@ True
Here’s a table with cells spanning several rows:
-\setlength{\DUtablewidth}{\linewidth}
-\begin{longtable*}[c]{|p{0.296\DUtablewidth}|p{0.156\DUtablewidth}|p{0.226\DUtablewidth}|}
+\setlength{\DUtablewidth}{\linewidth}%
+\begin{longtable*}{|p{0.296\DUtablewidth}|p{0.156\DUtablewidth}|p{0.226\DUtablewidth}|}
\hline
\textbf{%
Header row, column 1
@@ -1680,8 +1680,8 @@ body row 3
Here’s a list table exercising all features:
\begin{DUclass}{test}
-\setlength{\DUtablewidth}{40em}
-\begin{longtable}[c]{|p{0.133\DUtablewidth}|p{0.249\DUtablewidth}|p{0.365\DUtablewidth}|}
+\setlength{\DUtablewidth}{40em}%
+\begin{longtable}{|p{0.133\DUtablewidth}|p{0.249\DUtablewidth}|p{0.365\DUtablewidth}|}
\caption{list table with integral header}\\
\hline
\textbf{%
@@ -1844,8 +1844,8 @@ physical system changes in time.
\begin{description}
\item[{Math-Accents:}] \leavevmode
-\setlength{\DUtablewidth}{\linewidth}
-\begin{longtable*}[c]{p{0.315\DUtablewidth}p{0.315\DUtablewidth}p{0.315\DUtablewidth}}
+\setlength{\DUtablewidth}{\linewidth}%
+\begin{longtable*}{p{0.315\DUtablewidth}p{0.315\DUtablewidth}p{0.315\DUtablewidth}}
$\acute{a}$ \texttt{\textbackslash{}acute\{a\}}
&
@@ -2076,8 +2076,8 @@ writer for image, table, and line block elements.
A table with multi-paragraph multicolumn cells:
-\setlength{\DUtablewidth}{\linewidth}
-\begin{longtable*}[c]{|p{0.133\DUtablewidth}|p{0.179\DUtablewidth}|p{0.179\DUtablewidth}|p{0.110\DUtablewidth}|p{0.121\DUtablewidth}|p{0.145\DUtablewidth}|}
+\setlength{\DUtablewidth}{\linewidth}%
+\begin{longtable*}{|p{0.133\DUtablewidth}|p{0.179\DUtablewidth}|p{0.179\DUtablewidth}|p{0.110\DUtablewidth}|p{0.121\DUtablewidth}|p{0.145\DUtablewidth}|}
\hline
test
@@ -2136,7 +2136,7 @@ limitation (see \url{https://sourceforge.net/p/docutils/bugs/225/}).
A table with multirow header and column-widths set by LaTeX:
-\begin{longtable*}[c]{|l|l|}
+\begin{longtable*}{|l|l|}
\hline
\multirow{2}{*}{\textbf{XXX}} & \textbf{Variable Summary} \\
\cline{2-2}
@@ -2159,7 +2159,7 @@ A table with multirow header and column-widths set by LaTeX:
In a table with column-widths set by LaTeX, each cell has just one line.
Paragraphs are merged (a warning is given).
-\begin{longtable*}[c]{|l|l|}
+\begin{longtable*}{|l|l|}
\hline
11 & first paragraph
second paragraph
@@ -2224,8 +2224,8 @@ width as the third line.
Punctuation and footnote symbols
-\setlength{\DUtablewidth}{\linewidth}
-\begin{longtable*}[c]{|p{0.028\DUtablewidth}|p{0.424\DUtablewidth}|}
+\setlength{\DUtablewidth}{\linewidth}%
+\begin{longtable*}{|p{0.028\DUtablewidth}|p{0.424\DUtablewidth}|}
\hline
@@ -2333,8 +2333,8 @@ left-right double arrow
The \DUroletitlereference{Latin-1 extended} Unicode block
-\setlength{\DUtablewidth}{\linewidth}
-\begin{longtable*}[c]{|p{0.051\DUtablewidth}|p{0.028\DUtablewidth}|p{0.028\DUtablewidth}|p{0.028\DUtablewidth}|p{0.028\DUtablewidth}|p{0.028\DUtablewidth}|p{0.028\DUtablewidth}|p{0.028\DUtablewidth}|p{0.028\DUtablewidth}|p{0.028\DUtablewidth}|p{0.028\DUtablewidth}|}
+\setlength{\DUtablewidth}{\linewidth}%
+\begin{longtable*}{|p{0.051\DUtablewidth}|p{0.028\DUtablewidth}|p{0.028\DUtablewidth}|p{0.028\DUtablewidth}|p{0.028\DUtablewidth}|p{0.028\DUtablewidth}|p{0.028\DUtablewidth}|p{0.028\DUtablewidth}|p{0.028\DUtablewidth}|p{0.028\DUtablewidth}|p{0.028\DUtablewidth}|}
\hline
%
@@ -2677,8 +2677,8 @@ In LaTeX, we must set an explicit anchor (\texttt{\textbackslash{}phantomsection
\phantomsection\label{hypertarget-in-plain-text}hypertarget in plain text or in a figure but not in a longtable or
caption:
-\setlength{\DUtablewidth}{\linewidth}
-\begin{longtable}[c]{|p{0.075\DUtablewidth}|p{0.075\DUtablewidth}|p{0.075\DUtablewidth}|}
+\setlength{\DUtablewidth}{\linewidth}%
+\begin{longtable}{|p{0.075\DUtablewidth}|p{0.075\DUtablewidth}|p{0.075\DUtablewidth}|}
\caption{Table with %
\label{hypertarget-in-table-title}hypertarget in table title.}\\
\hline
diff --git a/docutils/test/functional/expected/standalone_rst_xetex.tex b/docutils/test/functional/expected/standalone_rst_xetex.tex
index fcb16d637..260576c58 100644
--- a/docutils/test/functional/expected/standalone_rst_xetex.tex
+++ b/docutils/test/functional/expected/standalone_rst_xetex.tex
@@ -749,8 +749,8 @@ layout.
\noindent\makebox[\linewidth][c]{\includegraphics[width=258bp]{../../../docs/user/rst/images/title.png}}
\caption{Plaintext markup syntax and parser system.}
\begin{DUlegend}
-\setlength{\DUtablewidth}{\linewidth}
-\begin{longtable*}[c]{|p{0.156\DUtablewidth}|p{0.563\DUtablewidth}|}
+\setlength{\DUtablewidth}{\linewidth}%
+\begin{longtable*}{|p{0.156\DUtablewidth}|p{0.563\DUtablewidth}|}
\hline
re
@@ -839,7 +839,7 @@ upon the style sheet and the browser or rendering software used.
Tables may be given titles and additional arguments with the \emph{table}
directive:
-\setlength{\DUtablewidth}{\linewidth}
+\setlength{\DUtablewidth}{\linewidth}%
\begin{longtable}[l]{|p{0.075\DUtablewidth}|p{0.075\DUtablewidth}|}
\caption{left-aligned table}\\
\hline
@@ -876,7 +876,7 @@ False
\hline
\end{longtable}
-\setlength{\DUtablewidth}{\linewidth}
+\setlength{\DUtablewidth}{\linewidth}%
\begin{longtable}[c]{|p{0.075\DUtablewidth}|p{0.075\DUtablewidth}|}
\caption{center-aligned table}\\
\hline
@@ -913,7 +913,7 @@ False
\hline
\end{longtable}
-\setlength{\DUtablewidth}{\linewidth}
+\setlength{\DUtablewidth}{\linewidth}%
\begin{longtable}[r]{|p{0.075\DUtablewidth}|p{0.075\DUtablewidth}|}
\caption{right-aligned table}\\
\hline
@@ -954,7 +954,7 @@ With the “widths” argument “auto” (or “class” value “colwidths-aut
column widths are determined by the backend (if supported by the
writer/backend).
-\begin{longtable*}[c]{|l|l|l|}
+\begin{longtable*}{|l|l|l|}
\hline
\textbf{A} & \textbf{B} & \textbf{A or B} \\
\hline
@@ -1218,8 +1218,8 @@ Compound 5, block 3 (a paragraph).
Compound 7, tests the inclusion of various block-level
elements in one logical paragraph. First a table,
-\setlength{\DUtablewidth}{\linewidth}
-\begin{longtable*}[c]{|p{0.249\DUtablewidth}|p{0.249\DUtablewidth}|p{0.249\DUtablewidth}|}
+\setlength{\DUtablewidth}{\linewidth}%
+\begin{longtable*}{|p{0.249\DUtablewidth}|p{0.249\DUtablewidth}|p{0.249\DUtablewidth}|}
\hline
Left cell, first
@@ -1428,8 +1428,8 @@ paragraph 2
This table has a cell spanning two columns:
-\setlength{\DUtablewidth}{\linewidth}
-\begin{longtable*}[c]{|p{0.075\DUtablewidth}|p{0.075\DUtablewidth}|p{0.086\DUtablewidth}|}
+\setlength{\DUtablewidth}{\linewidth}%
+\begin{longtable*}{|p{0.075\DUtablewidth}|p{0.075\DUtablewidth}|p{0.086\DUtablewidth}|}
\hline
\multicolumn{2}{|p{0.15\DUtablewidth}|}{\textbf{%
Inputs
@@ -1506,8 +1506,8 @@ True
Here’s a table with cells spanning several rows:
-\setlength{\DUtablewidth}{\linewidth}
-\begin{longtable*}[c]{|p{0.296\DUtablewidth}|p{0.156\DUtablewidth}|p{0.226\DUtablewidth}|}
+\setlength{\DUtablewidth}{\linewidth}%
+\begin{longtable*}{|p{0.296\DUtablewidth}|p{0.156\DUtablewidth}|p{0.226\DUtablewidth}|}
\hline
\textbf{%
Header row, column 1
@@ -1566,8 +1566,8 @@ body row 3
Here’s a list table exercising all features:
\begin{DUclass}{test}
-\setlength{\DUtablewidth}{40em}
-\begin{longtable}[c]{|p{0.133\DUtablewidth}|p{0.249\DUtablewidth}|p{0.365\DUtablewidth}|}
+\setlength{\DUtablewidth}{40em}%
+\begin{longtable}{|p{0.133\DUtablewidth}|p{0.249\DUtablewidth}|p{0.365\DUtablewidth}|}
\caption{list table with integral header}\\
\hline
\textbf{%
@@ -1730,8 +1730,8 @@ physical system changes in time.
\begin{description}
\item[{Math-Accents:}] \leavevmode
-\setlength{\DUtablewidth}{\linewidth}
-\begin{longtable*}[c]{p{0.315\DUtablewidth}p{0.315\DUtablewidth}p{0.315\DUtablewidth}}
+\setlength{\DUtablewidth}{\linewidth}%
+\begin{longtable*}{p{0.315\DUtablewidth}p{0.315\DUtablewidth}p{0.315\DUtablewidth}}
$\acute{a}$ \texttt{\textbackslash{}acute\{a\}}
&
@@ -1962,8 +1962,8 @@ writer for image, table, and line block elements.
A table with multi-paragraph multicolumn cells:
-\setlength{\DUtablewidth}{\linewidth}
-\begin{longtable*}[c]{|p{0.133\DUtablewidth}|p{0.179\DUtablewidth}|p{0.179\DUtablewidth}|p{0.110\DUtablewidth}|p{0.121\DUtablewidth}|p{0.145\DUtablewidth}|}
+\setlength{\DUtablewidth}{\linewidth}%
+\begin{longtable*}{|p{0.133\DUtablewidth}|p{0.179\DUtablewidth}|p{0.179\DUtablewidth}|p{0.110\DUtablewidth}|p{0.121\DUtablewidth}|p{0.145\DUtablewidth}|}
\hline
test
@@ -2022,7 +2022,7 @@ limitation (see \url{https://sourceforge.net/p/docutils/bugs/225/}).
A table with multirow header and column-widths set by LaTeX:
-\begin{longtable*}[c]{|l|l|}
+\begin{longtable*}{|l|l|}
\hline
\multirow{2}{*}{\textbf{XXX}} & \textbf{Variable Summary} \\
\cline{2-2}
@@ -2045,7 +2045,7 @@ A table with multirow header and column-widths set by LaTeX:
In a table with column-widths set by LaTeX, each cell has just one line.
Paragraphs are merged (a warning is given).
-\begin{longtable*}[c]{|l|l|}
+\begin{longtable*}{|l|l|}
\hline
11 & first paragraph
second paragraph
@@ -2110,8 +2110,8 @@ width as the third line.
Punctuation and footnote symbols
-\setlength{\DUtablewidth}{\linewidth}
-\begin{longtable*}[c]{|p{0.028\DUtablewidth}|p{0.424\DUtablewidth}|}
+\setlength{\DUtablewidth}{\linewidth}%
+\begin{longtable*}{|p{0.028\DUtablewidth}|p{0.424\DUtablewidth}|}
\hline
@@ -2219,8 +2219,8 @@ left-right double arrow
The \DUroletitlereference{Latin-1 extended} Unicode block
-\setlength{\DUtablewidth}{\linewidth}
-\begin{longtable*}[c]{|p{0.051\DUtablewidth}|p{0.028\DUtablewidth}|p{0.028\DUtablewidth}|p{0.028\DUtablewidth}|p{0.028\DUtablewidth}|p{0.028\DUtablewidth}|p{0.028\DUtablewidth}|p{0.028\DUtablewidth}|p{0.028\DUtablewidth}|p{0.028\DUtablewidth}|p{0.028\DUtablewidth}|}
+\setlength{\DUtablewidth}{\linewidth}%
+\begin{longtable*}{|p{0.051\DUtablewidth}|p{0.028\DUtablewidth}|p{0.028\DUtablewidth}|p{0.028\DUtablewidth}|p{0.028\DUtablewidth}|p{0.028\DUtablewidth}|p{0.028\DUtablewidth}|p{0.028\DUtablewidth}|p{0.028\DUtablewidth}|p{0.028\DUtablewidth}|p{0.028\DUtablewidth}|}
\hline
%
@@ -2563,8 +2563,8 @@ In LaTeX, we must set an explicit anchor (\texttt{\textbackslash{}phantomsection
\phantomsection\label{hypertarget-in-plain-text}hypertarget in plain text or in a figure but not in a longtable or
caption:
-\setlength{\DUtablewidth}{\linewidth}
-\begin{longtable}[c]{|p{0.075\DUtablewidth}|p{0.075\DUtablewidth}|p{0.075\DUtablewidth}|}
+\setlength{\DUtablewidth}{\linewidth}%
+\begin{longtable}{|p{0.075\DUtablewidth}|p{0.075\DUtablewidth}|p{0.075\DUtablewidth}|}
\caption{Table with %
\label{hypertarget-in-table-title}hypertarget in table title.}\\
\hline
diff --git a/docutils/test/functional/input/latex_cornercases.txt b/docutils/test/functional/input/latex_cornercases.txt
index 311a8d2ab..095d835e1 100644
--- a/docutils/test/functional/input/latex_cornercases.txt
+++ b/docutils/test/functional/input/latex_cornercases.txt
@@ -147,6 +147,26 @@ Set alignment of nested tables without creating too much vertical space.
| Lorem ipsum dolor sit amet, consectetur | adipisicing elit|
+-----------------------------------------+-----------------+
| .. table:: | cell 1, 2 |
+| | |
+| +-----+-----+ | |
+| | 1 | 2 | | |
+| +-----+-----+ | |
++-----------------------------------------+-----------------+
+| .. table:: | cell 1, 2 |
+| :align: left | |
+| | |
+| +-----+-----+ | |
+| | 1 | 2 | | |
+| +-----+-----+ | |
++-----------------------------------------+-----------------+
+| .. table:: | cell 1, 2 |
+| :align: center | |
+| | |
+| +-----+-----+ | |
+| | 1 | 2 | | |
+| +-----+-----+ | |
++-----------------------------------------+-----------------+
+| .. table:: | cell 1, 2 |
| :align: right | |
| | |
| +-----+-----+ | |
@@ -165,3 +185,30 @@ Set alignment of nested tables without creating too much vertical space.
+-----------------------------------------+-----------------+
| | cell 3, 2 |
+-----------------------------------------+-----------------+
+
+.. table::
+ :class: booktabs
+
+ +-----------------------------------------+-----------------+
+ | Lorem ipsum dolor sit amet, consectetur | adipisicing elit|
+ +-----------------------------------------+-----------------+
+ | .. table:: | cell 1, 2 |
+ | :align: right | |
+ | | |
+ | +-----+-----+ | |
+ | | 1 | 2 | | |
+ | +-----+-----+ | |
+ +-----------------------------------------+-----------------+
+ | .. table:: | cell 2, 2 |
+ | :align: right | |
+ | | |
+ | +-----+-----+ | |
+ | | 1 | 2 | | |
+ | +-----+-----+ | |
+ | | |
+ | definition: | |
+ | list | |
+ +-----------------------------------------+-----------------+
+ | | cell 3, 2 |
+ +-----------------------------------------+-----------------+
+