Skip to content

Commit 16a4a71

Browse files
committed
update list environments to internal_vertical
1 parent 3875cd6 commit 16a4a71

File tree

7 files changed

+65
-57
lines changed

7 files changed

+65
-57
lines changed

lib/LaTeXML/Engine/latex_constructs.pool.ltxml

Lines changed: 23 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1500,13 +1500,17 @@ sub setEnumerationStyle {
15001500
return; }
15011501

15021502
# End paragraphs, like \par, but only if within an item's text
1503+
our %QNamesForItems = map { $_ => 1 } ('ltx:itemize', 'ltx:enumerate',
1504+
'ltx:description', 'inline-itemize', 'inline-enumerate', 'inline-description');
15031505
DefConstructorI('\preitem@par', undef, sub {
15041506
my ($document, %props) = @_;
1505-
if (!$props{inPreamble} && !$document->getNodeQName($document->getElement(), 'ltx:itemize')) {
1507+
return if $props{inPreamble};
1508+
my $qname = $document->getNodeQName($document->getElement()) || 'ltx:itemize';
1509+
if (!$QNamesForItems{$qname}) {
15061510
$document->maybeCloseElement('ltx:p');
1507-
$document->maybeCloseElement('ltx:para'); } },
1511+
$document->maybeCloseElement('ltx:para');
1512+
} },
15081513
alias => '\par');
1509-
15101514
# id, but NO refnum (et.al) attributes on itemize \item ...
15111515
# unless the optional tag argument was given!
15121516
# We'll make the <ltx:tag> from either the optional arg, or from \labelitemi..
@@ -1536,23 +1540,20 @@ DefConstructor('\inline@description@item OptionalUndigested',
15361540

15371541
DefEnvironment('{itemize}',
15381542
"<ltx:itemize xml:id='#id'>#body</ltx:itemize>",
1539-
mode => 'internal_vertical',
1540-
properties => sub { beginItemize('itemize', '@item'); },
1541-
beforeDigestEnd => sub { Digest('\par'); },
1542-
locked => 1);
1543+
mode => 'internal_vertical',
1544+
properties => sub { beginItemize('itemize', '@item'); },
1545+
locked => 1);
15431546
DefEnvironment('{enumerate}',
15441547
"<ltx:enumerate xml:id='#id'>#body</ltx:enumerate>",
1545-
mode => 'internal_vertical',
1546-
properties => sub { beginItemize('enumerate', 'enum'); },
1547-
beforeDigestEnd => sub { Digest('\par'); },
1548-
locked => 1);
1548+
mode => 'internal_vertical',
1549+
properties => sub { beginItemize('enumerate', 'enum'); },
1550+
locked => 1);
15491551
DefEnvironment('{description}',
15501552
"<ltx:description xml:id='#id'>#body</ltx:description>",
1551-
mode => 'internal_vertical',
1552-
beforeDigest => sub { Let('\makelabel', '\descriptionlabel'); },
1553-
properties => sub { beginItemize('description', '@desc'); },
1554-
beforeDigestEnd => sub { Digest('\par'); },
1555-
locked => 1);
1553+
mode => 'internal_vertical',
1554+
beforeDigest => sub { Let('\makelabel', '\descriptionlabel'); },
1555+
properties => sub { beginItemize('description', '@desc'); },
1556+
locked => 1);
15561557

15571558
DefMacro('\makelabel{}', '#1');
15581559
DefMacro('\@mklab{}', '\hfil #1');
@@ -1720,20 +1721,19 @@ DefConstructor('\trivlist',
17201721
mode => 'internal_vertical',
17211722
properties => sub { beginItemize('trivlist'); });
17221723
DefConstructor('\endtrivlist', sub {
1723-
$_[0]->maybeCloseElement('ltx:itemize'); },
1724-
beforeDigest => sub { Digest('\par'); });
1724+
$_[0]->maybeCloseElement('ltx:itemize'); });
17251725
DefMacro('\trivlist@item', '\preitem@par\trivlist@item@');
17261726
DefConstructor('\trivlist@item@ OptionalUndigested',
17271727
"<ltx:item xml:id='#id' itemsep='#itemsep'>"
17281728
. "<ltx:tags><ltx:tag>#tag</ltx:tag></ltx:tags>", # At least an empty tag! ?
17291729
properties => sub { ($_[1] ? (tag => Digest(Expand($_[1]))) : ()); });
17301730
DefMacro('\@trivlist', '\relax', locked => 1);
17311731

1732-
DefRegister('\topsep' => Glue(0));
1733-
DefRegister('\partopsep' => Glue(0));
1734-
DefRegister('\lx@default@itemsep' => Glue(0));
1735-
DefRegister('\itemsep' => Glue(0));
1736-
DefRegister('\parsep' => Glue(0));
1732+
DefRegister('\topsep' => Glue('8pt plus 2pt minus 4pt'));
1733+
DefRegister('\partopsep' => Glue('2pt plus 1pt minus 1pt'));
1734+
DefRegister('\lx@default@itemsep' => Glue('4pt plus 2pt minus 1pt'));
1735+
DefRegister('\itemsep' => Glue('4pt plus 2pt minus 1pt'));
1736+
DefRegister('\parsep' => Glue('4pt plus 2pt minus 1pt'));
17371737
DefRegister('\@topsep' => Glue(0));
17381738
DefRegister('\@topsepadd' => Glue(0));
17391739
DefRegister('\@outerparskip' => Glue(0));
@@ -6008,4 +6008,3 @@ EOL
60086008

60096009
#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
60106010
1;
6011-

lib/LaTeXML/Package/IEEEtran.cls.ltxml

Lines changed: 8 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -350,20 +350,17 @@ DefMacro('\IEEEiedlabeljustifyr', '');
350350
# also, we skip the internal @-named variants for now.
351351
DefEnvironment('{IEEEitemize}[]',
352352
"<ltx:itemize xml:id='#id'>#body</ltx:itemize>",
353-
properties => sub { beginItemize('itemize', '@item'); },
354-
beforeDigestEnd => sub { Digest('\par'); },
355-
locked => 1, mode => 'internal_vertical');
353+
properties => sub { beginItemize('itemize', '@item'); },
354+
locked => 1, mode => 'internal_vertical');
356355
DefEnvironment('{IEEEenumerate}[]',
357356
"<ltx:enumerate xml:id='#id'>#body</ltx:enumerate>",
358-
properties => sub { beginItemize('enumerate', 'enum'); },
359-
beforeDigestEnd => sub { Digest('\par'); },
360-
locked => 1, mode => 'internal_vertical');
357+
properties => sub { beginItemize('enumerate', 'enum'); },
358+
locked => 1, mode => 'internal_vertical');
361359
DefEnvironment('{IEEEdescription}[]',
362360
"<ltx:description xml:id='#id'>#body</ltx:description>",
363-
beforeDigest => sub { Let('\makelabel', '\descriptionlabel'); },
364-
properties => sub { beginItemize('description', '@desc'); },
365-
beforeDigestEnd => sub { Digest('\par'); },
366-
locked => 1, mode => 'internal_vertical');
361+
beforeDigest => sub { Let('\makelabel', '\descriptionlabel'); },
362+
properties => sub { beginItemize('description', '@desc'); },
363+
locked => 1, mode => 'internal_vertical');
367364

368365
# override LaTeX's default IED lists
369366
Let('\itemize', '\IEEEitemize');
@@ -429,7 +426,7 @@ DefMacro('\qed', '\ltx@qed');
429426
DefConstructor('\ltx@qed',
430427
"?#isMath(<ltx:XMTok role='PUNCT'>\x{220E}</ltx:XMTok>)(\x{220E})",
431428
enterHorizontal => 1,
432-
reversion => '\qed');
429+
reversion => '\qed');
433430
Let('\proof', '\IEEEproof');
434431
Let('\endproof', '\endIEEEproof');
435432
# V1.8 no longer support biography or biographynophoto

lib/LaTeXML/Package/elsarticle.cls.ltxml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -57,13 +57,13 @@ DefMacro('\biboptions{}', '\setcitestyle{#1}');
5757
# (not even sure what the intended effect is)
5858
DefEnvironment('{enumerate}[]',
5959
"<ltx:enumerate xml:id='#id'>#body</ltx:enumerate>",
60-
properties => sub { beginItemize('enumerate', 'enum'); },
61-
beforeDigestEnd => sub { Digest('\par'); },
62-
locked => 1, mode => 'internal_vertical');
60+
properties => sub { beginItemize('enumerate', 'enum'); },
61+
mode => 'internal_vertical',
62+
locked => 1, mode => 'internal_vertical');
6363
DefEnvironment('{itemize}[]',
6464
"<ltx:itemize xml:id='#id'>#body</ltx:itemize>",
65-
properties => sub { beginItemize('itemize', 'enum'); },
66-
beforeDigestEnd => sub { Digest('\par'); },
67-
locked => 1, mode => 'internal_vertical');
65+
properties => sub { beginItemize('itemize', 'enum'); },
66+
mode => 'internal_vertical',
67+
locked => 1, mode => 'internal_vertical');
6868

6969
1;

lib/LaTeXML/Package/enumitem.sty.ltxml

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -144,22 +144,19 @@ if (!LookupValue('enumitem@loadonly')) {
144144
DefEnvironment('{itemize} OptionalKeyVals:enumitem',
145145
"<ltx:itemize xml:id='#id'>#body</ltx:itemize>",
146146
properties => sub { beginEnumItemize('itemize', '@item', $_[1]); },
147-
beforeDigestEnd => sub { Digest('\par'); },
148147
afterDigestBody => sub { endEnumItemize($_[1]); },
149148
mode => 'internal_vertical',
150149
locked => 1);
151150
DefEnvironment('{enumerate} OptionalKeyVals:enumitem',
152151
"<ltx:enumerate xml:id='#id'>#body</ltx:enumerate>",
153152
properties => sub { beginEnumItemize('enumerate', 'enum', $_[1]); },
154-
beforeDigestEnd => sub { Digest('\par'); },
155153
afterDigestBody => sub { endEnumItemize($_[1]); },
156154
mode => 'internal_vertical',
157155
locked => 1);
158156
DefEnvironment('{description} OptionalKeyVals:enumitem',
159157
"<ltx:description xml:id='#id'>#body</ltx:description>",
160158
beforeDigest => sub { Let('\makelabel', '\descriptionlabel'); },
161159
properties => sub { beginEnumItemize('description', '@desc', $_[1]); },
162-
beforeDigestEnd => sub { Digest('\par'); },
163160
afterDigestBody => sub { endEnumItemize($_[1]); },
164161
mode => 'internal_vertical',
165162
locked => 1);
@@ -199,7 +196,6 @@ DefPrimitive('\newlist{}{}{}', sub {
199196
DefEnvironmentI($listname, "OptionalKeyVals:enumitem",
200197
"<ltx:$elementname xml:id='#id'>#body</ltx:$elementname>",
201198
properties => sub { beginEnumItemize($listname, $listname, $_[1]); },
202-
beforeDigestEnd => sub { Digest('\par'); },
203199
afterDigestBody => sub { endEnumItemize($_[1]); },
204200
mode => 'internal_vertical',
205201
locked => 1);

lib/LaTeXML/Package/paralist.sty.ltxml

Lines changed: 21 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -83,22 +83,27 @@ DefMacro('\setdefaultenum{}{}{}{}', sub {
8383

8484
DefEnvironment('{inparaenum} OptionalUndigested',
8585
"<ltx:inline-enumerate xml:id='#id'>#body</ltx:inline-enumerate>",
86-
properties => sub { beginItemize('inline@enumerate', 'enum'); },
86+
mode => 'internal_vertical',
87+
properties => sub { beginItemize('inline@enumerate', 'enum'); },
8788
afterDigestBegin => sub { setEnumerationStyle($_[1]->getArg(1)); });
8889
DefEnvironment('{compactenum} OptionalUndigested',
8990
"<ltx:enumerate xml:id='#id'>#body</ltx:enumerate>",
90-
properties => sub { beginItemize('enumerate', 'enum'); },
91+
mode => 'internal_vertical',
92+
properties => sub { beginItemize('enumerate', 'enum'); },
9193
afterDigestBegin => sub { setEnumerationStyle($_[1]->getArg(1)); });
9294
DefEnvironment('{asparaenum} OptionalUndigested',
9395
"<ltx:enumerate xml:id='#id'>#body</ltx:enumerate>",
94-
properties => sub { beginItemize('enumerate', 'enum'); },
96+
mode => 'internal_vertical',
97+
properties => sub { beginItemize('enumerate', 'enum'); },
9598
afterDigestBegin => sub { setEnumerationStyle($_[1]->getArg(1)); });
9699

97100
# Possibly redefine stock enumerate to take optional argument
98101
if (IfCondition(T_CS('\if@plnewenum'))) {
99102
DefEnvironment('{enumerate} OptionalUndigested',
100103
"<ltx:enumerate xml:id='#id'>#body</ltx:enumerate>",
101-
properties => sub { beginItemize('enumerate', 'enum'); },
104+
mode => 'internal_vertical',
105+
106+
properties => sub { beginItemize('enumerate', 'enum'); },
102107
afterDigestBegin => sub { setEnumerationStyle($_[1]->getArg(1)); }); }
103108

104109
#======================================================================
@@ -113,34 +118,42 @@ DefMacro('\setdefaultitem{}{}{}{}', sub {
113118

114119
DefEnvironment('{inparaitem} OptionalUndigested',
115120
"<ltx:inline-itemize xml:id='#id'>#body</ltx:inline-itemize>",
116-
properties => sub { beginItemize('inline@itemize', '@item'); },
121+
mode => 'internal_vertical',
122+
properties => sub { beginItemize('inline@itemize', '@item'); },
117123
afterDigestBegin => sub { setItemizationStyle($_[1]->getArg(1)); });
118124
DefEnvironment('{compactitem} OptionalUndigested',
119125
"<ltx:itemize xml:id='#id'>#body</ltx:itemize>",
120-
properties => sub { beginItemize('itemize', '@item'); },
126+
mode => 'internal_vertical',
127+
properties => sub { beginItemize('itemize', '@item'); },
121128
afterDigestBegin => sub { setItemizationStyle($_[1]->getArg(1)); });
122129
DefEnvironment('{asparaitem} OptionalUndigested',
123130
"<ltx:itemize xml:id='#id'>#body</ltx:itemize>",
124-
properties => sub { beginItemize('itemize', '@item'); },
131+
mode => 'internal_vertical',
132+
properties => sub { beginItemize('itemize', '@item'); },
125133
afterDigestBegin => sub { setItemizationStyle($_[1]->getArg(1)); });
126134

127135
if (IfCondition(T_CS('\if@plnewitem'))) {
128136
DefEnvironment('{itemize} OptionalUndigested',
129137
"<ltx:itemize xml:id='#id'>#body</ltx:itemize>",
130-
properties => sub { beginItemize('itemize', '@item'); },
138+
mode => 'internal_vertical',
139+
140+
properties => sub { beginItemize('itemize', '@item'); },
131141
afterDigestBegin => sub { setItemizationStyle($_[1]->getArg(1)); }); }
132142

133143
#======================================================================
134144
# Descriptions
135145
DefEnvironment('{inparadesc}',
136146
"<ltx:inline-description xml:id='#id'>#body</ltx:inline-description>",
147+
mode => 'internal_vertical',
137148
properties => sub { beginItemize('inline@description', '@desc'); });
138149

139150
DefEnvironment('{compactdesc}',
140151
"<ltx:description xml:id='#id'>#body</ltx:description>",
152+
mode => 'internal_vertical',
141153
properties => sub { beginItemize('description', '@desc'); });
142154
DefEnvironment('{asparadesc}',
143155
"<ltx:description xml:id='#id'>#body</ltx:description>",
156+
mode => 'internal_vertical',
144157
properties => sub { beginItemize('description', '@desc'); });
145158
# \paradescriptionlabel{}
146159

lib/LaTeXML/Package/parskip.sty.ltxml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# -*- mode: Perl -*-
22
# /=====================================================================\ #
3-
# | colordvi | #
3+
# | parskip | #
44
# | Implementation for LaTeXML | #
55
# |=====================================================================| #
66
# | Part of LaTeXML: | #
@@ -17,5 +17,6 @@ use LaTeXML::Package;
1717

1818
#======================================================================
1919
# Nothing to do here, really....
20+
# TODO: But we may want to revise this if/when it is used in SVG contexts.
2021
#======================================================================
2122
1;

lib/LaTeXML/Package/sv_support.sty.ltxml

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -232,7 +232,7 @@ DefMacro('\qed', '\ltx@qed');
232232
DefConstructor('\ltx@qed',
233233
"?#isMath(<ltx:XMTok role='PUNCT'>\x{220E}</ltx:XMTok>)(\x{220E})",
234234
enterHorizontal => 1,
235-
reversion => '\qed');
235+
reversion => '\qed');
236236
Let('\smartqed', '\qed');
237237
Let('\squareforqed', '\qed');
238238

@@ -285,8 +285,10 @@ DefMacro('\lastevenhead', Tokens());
285285
# Odd; they add an optional arg!
286286
DefEnvironment('{description}[]',
287287
"<ltx:description xml:id='#id'>#body</ltx:description>",
288-
properties => sub { beginItemize('description'); },
289-
locked => 1);
288+
properties => sub { beginItemize('description', '@desc'); },
289+
mode => 'internal_vertical',
290+
beforeDigest => sub { Let('\makelabel', '\descriptionlabel'); },
291+
locked => 1);
290292

291293
#======================================================================
292294
1;

0 commit comments

Comments
 (0)