Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
47 changes: 23 additions & 24 deletions lib/LaTeXML/Engine/latex_constructs.pool.ltxml
Original file line number Diff line number Diff line change
Expand Up @@ -1500,13 +1500,17 @@ sub setEnumerationStyle {
return; }

# End paragraphs, like \par, but only if within an item's text
our %QNamesForItems = map { $_ => 1 } ('ltx:itemize', 'ltx:enumerate',
'ltx:description', 'inline-itemize', 'inline-enumerate', 'inline-description');
DefConstructorI('\preitem@par', undef, sub {
my ($document, %props) = @_;
if (!$props{inPreamble} && !$document->getNodeQName($document->getElement(), 'ltx:itemize')) {
return if $props{inPreamble};
my $qname = $document->getNodeQName($document->getElement()) || 'ltx:itemize';
if (!$QNamesForItems{$qname}) {
$document->maybeCloseElement('ltx:p');
$document->maybeCloseElement('ltx:para'); } },
$document->maybeCloseElement('ltx:para');
} },
alias => '\par');

# id, but NO refnum (et.al) attributes on itemize \item ...
# unless the optional tag argument was given!
# We'll make the <ltx:tag> from either the optional arg, or from \labelitemi..
Expand Down Expand Up @@ -1536,23 +1540,20 @@ DefConstructor('\inline@description@item OptionalUndigested',

DefEnvironment('{itemize}',
"<ltx:itemize xml:id='#id'>#body</ltx:itemize>",
mode => 'internal_vertical',
properties => sub { beginItemize('itemize', '@item'); },
beforeDigestEnd => sub { Digest('\par'); },
locked => 1);
mode => 'internal_vertical',
properties => sub { beginItemize('itemize', '@item'); },
locked => 1);
DefEnvironment('{enumerate}',
"<ltx:enumerate xml:id='#id'>#body</ltx:enumerate>",
mode => 'internal_vertical',
properties => sub { beginItemize('enumerate', 'enum'); },
beforeDigestEnd => sub { Digest('\par'); },
locked => 1);
mode => 'internal_vertical',
properties => sub { beginItemize('enumerate', 'enum'); },
locked => 1);
DefEnvironment('{description}',
"<ltx:description xml:id='#id'>#body</ltx:description>",
mode => 'internal_vertical',
beforeDigest => sub { Let('\makelabel', '\descriptionlabel'); },
properties => sub { beginItemize('description', '@desc'); },
beforeDigestEnd => sub { Digest('\par'); },
locked => 1);
mode => 'internal_vertical',
beforeDigest => sub { Let('\makelabel', '\descriptionlabel'); },
properties => sub { beginItemize('description', '@desc'); },
locked => 1);

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

DefRegister('\topsep' => Glue(0));
DefRegister('\partopsep' => Glue(0));
DefRegister('\lx@default@itemsep' => Glue(0));
DefRegister('\itemsep' => Glue(0));
DefRegister('\parsep' => Glue(0));
DefRegister('\topsep' => Glue('8pt plus 2pt minus 4pt'));
DefRegister('\partopsep' => Glue('2pt plus 1pt minus 1pt'));
DefRegister('\lx@default@itemsep' => Glue('4pt plus 2pt minus 1pt'));
DefRegister('\itemsep' => Glue('4pt plus 2pt minus 1pt'));
DefRegister('\parsep' => Glue('4pt plus 2pt minus 1pt'));
DefRegister('\@topsep' => Glue(0));
DefRegister('\@topsepadd' => Glue(0));
DefRegister('\@outerparskip' => Glue(0));
Expand Down Expand Up @@ -6008,4 +6008,3 @@ EOL

#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1;

19 changes: 8 additions & 11 deletions lib/LaTeXML/Package/IEEEtran.cls.ltxml
Original file line number Diff line number Diff line change
Expand Up @@ -350,20 +350,17 @@ DefMacro('\IEEEiedlabeljustifyr', '');
# also, we skip the internal @-named variants for now.
DefEnvironment('{IEEEitemize}[]',
"<ltx:itemize xml:id='#id'>#body</ltx:itemize>",
properties => sub { beginItemize('itemize', '@item'); },
beforeDigestEnd => sub { Digest('\par'); },
locked => 1, mode => 'internal_vertical');
properties => sub { beginItemize('itemize', '@item'); },
locked => 1, mode => 'internal_vertical');
DefEnvironment('{IEEEenumerate}[]',
"<ltx:enumerate xml:id='#id'>#body</ltx:enumerate>",
properties => sub { beginItemize('enumerate', 'enum'); },
beforeDigestEnd => sub { Digest('\par'); },
locked => 1, mode => 'internal_vertical');
properties => sub { beginItemize('enumerate', 'enum'); },
locked => 1, mode => 'internal_vertical');
DefEnvironment('{IEEEdescription}[]',
"<ltx:description xml:id='#id'>#body</ltx:description>",
beforeDigest => sub { Let('\makelabel', '\descriptionlabel'); },
properties => sub { beginItemize('description', '@desc'); },
beforeDigestEnd => sub { Digest('\par'); },
locked => 1, mode => 'internal_vertical');
beforeDigest => sub { Let('\makelabel', '\descriptionlabel'); },
properties => sub { beginItemize('description', '@desc'); },
locked => 1, mode => 'internal_vertical');

# override LaTeX's default IED lists
Let('\itemize', '\IEEEitemize');
Expand Down Expand Up @@ -429,7 +426,7 @@ DefMacro('\qed', '\ltx@qed');
DefConstructor('\ltx@qed',
"?#isMath(<ltx:XMTok role='PUNCT'>\x{220E}</ltx:XMTok>)(\x{220E})",
enterHorizontal => 1,
reversion => '\qed');
reversion => '\qed');
Let('\proof', '\IEEEproof');
Let('\endproof', '\endIEEEproof');
# V1.8 no longer support biography or biographynophoto
Expand Down
12 changes: 6 additions & 6 deletions lib/LaTeXML/Package/elsarticle.cls.ltxml
Original file line number Diff line number Diff line change
Expand Up @@ -57,13 +57,13 @@ DefMacro('\biboptions{}', '\setcitestyle{#1}');
# (not even sure what the intended effect is)
DefEnvironment('{enumerate}[]',
"<ltx:enumerate xml:id='#id'>#body</ltx:enumerate>",
properties => sub { beginItemize('enumerate', 'enum'); },
beforeDigestEnd => sub { Digest('\par'); },
locked => 1, mode => 'internal_vertical');
properties => sub { beginItemize('enumerate', 'enum'); },
mode => 'internal_vertical',
locked => 1, mode => 'internal_vertical');
DefEnvironment('{itemize}[]',
"<ltx:itemize xml:id='#id'>#body</ltx:itemize>",
properties => sub { beginItemize('itemize', 'enum'); },
beforeDigestEnd => sub { Digest('\par'); },
locked => 1, mode => 'internal_vertical');
properties => sub { beginItemize('itemize', 'enum'); },
mode => 'internal_vertical',
locked => 1, mode => 'internal_vertical');

1;
4 changes: 0 additions & 4 deletions lib/LaTeXML/Package/enumitem.sty.ltxml
Original file line number Diff line number Diff line change
Expand Up @@ -144,22 +144,19 @@ if (!LookupValue('enumitem@loadonly')) {
DefEnvironment('{itemize} OptionalKeyVals:enumitem',
"<ltx:itemize xml:id='#id'>#body</ltx:itemize>",
properties => sub { beginEnumItemize('itemize', '@item', $_[1]); },
beforeDigestEnd => sub { Digest('\par'); },
afterDigestBody => sub { endEnumItemize($_[1]); },
mode => 'internal_vertical',
locked => 1);
DefEnvironment('{enumerate} OptionalKeyVals:enumitem',
"<ltx:enumerate xml:id='#id'>#body</ltx:enumerate>",
properties => sub { beginEnumItemize('enumerate', 'enum', $_[1]); },
beforeDigestEnd => sub { Digest('\par'); },
afterDigestBody => sub { endEnumItemize($_[1]); },
mode => 'internal_vertical',
locked => 1);
DefEnvironment('{description} OptionalKeyVals:enumitem',
"<ltx:description xml:id='#id'>#body</ltx:description>",
beforeDigest => sub { Let('\makelabel', '\descriptionlabel'); },
properties => sub { beginEnumItemize('description', '@desc', $_[1]); },
beforeDigestEnd => sub { Digest('\par'); },
afterDigestBody => sub { endEnumItemize($_[1]); },
mode => 'internal_vertical',
locked => 1);
Expand Down Expand Up @@ -199,7 +196,6 @@ DefPrimitive('\newlist{}{}{}', sub {
DefEnvironmentI($listname, "OptionalKeyVals:enumitem",
"<ltx:$elementname xml:id='#id'>#body</ltx:$elementname>",
properties => sub { beginEnumItemize($listname, $listname, $_[1]); },
beforeDigestEnd => sub { Digest('\par'); },
afterDigestBody => sub { endEnumItemize($_[1]); },
mode => 'internal_vertical',
locked => 1);
Expand Down
29 changes: 21 additions & 8 deletions lib/LaTeXML/Package/paralist.sty.ltxml
Original file line number Diff line number Diff line change
Expand Up @@ -83,22 +83,27 @@ DefMacro('\setdefaultenum{}{}{}{}', sub {

DefEnvironment('{inparaenum} OptionalUndigested',
"<ltx:inline-enumerate xml:id='#id'>#body</ltx:inline-enumerate>",
properties => sub { beginItemize('inline@enumerate', 'enum'); },
mode => 'internal_vertical',
properties => sub { beginItemize('inline@enumerate', 'enum'); },
afterDigestBegin => sub { setEnumerationStyle($_[1]->getArg(1)); });
DefEnvironment('{compactenum} OptionalUndigested',
"<ltx:enumerate xml:id='#id'>#body</ltx:enumerate>",
properties => sub { beginItemize('enumerate', 'enum'); },
mode => 'internal_vertical',
properties => sub { beginItemize('enumerate', 'enum'); },
afterDigestBegin => sub { setEnumerationStyle($_[1]->getArg(1)); });
DefEnvironment('{asparaenum} OptionalUndigested',
"<ltx:enumerate xml:id='#id'>#body</ltx:enumerate>",
properties => sub { beginItemize('enumerate', 'enum'); },
mode => 'internal_vertical',
properties => sub { beginItemize('enumerate', 'enum'); },
afterDigestBegin => sub { setEnumerationStyle($_[1]->getArg(1)); });

# Possibly redefine stock enumerate to take optional argument
if (IfCondition(T_CS('\if@plnewenum'))) {
DefEnvironment('{enumerate} OptionalUndigested',
"<ltx:enumerate xml:id='#id'>#body</ltx:enumerate>",
properties => sub { beginItemize('enumerate', 'enum'); },
mode => 'internal_vertical',

properties => sub { beginItemize('enumerate', 'enum'); },
afterDigestBegin => sub { setEnumerationStyle($_[1]->getArg(1)); }); }

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

DefEnvironment('{inparaitem} OptionalUndigested',
"<ltx:inline-itemize xml:id='#id'>#body</ltx:inline-itemize>",
properties => sub { beginItemize('inline@itemize', '@item'); },
mode => 'internal_vertical',
properties => sub { beginItemize('inline@itemize', '@item'); },
afterDigestBegin => sub { setItemizationStyle($_[1]->getArg(1)); });
DefEnvironment('{compactitem} OptionalUndigested',
"<ltx:itemize xml:id='#id'>#body</ltx:itemize>",
properties => sub { beginItemize('itemize', '@item'); },
mode => 'internal_vertical',
properties => sub { beginItemize('itemize', '@item'); },
afterDigestBegin => sub { setItemizationStyle($_[1]->getArg(1)); });
DefEnvironment('{asparaitem} OptionalUndigested',
"<ltx:itemize xml:id='#id'>#body</ltx:itemize>",
properties => sub { beginItemize('itemize', '@item'); },
mode => 'internal_vertical',
properties => sub { beginItemize('itemize', '@item'); },
afterDigestBegin => sub { setItemizationStyle($_[1]->getArg(1)); });

if (IfCondition(T_CS('\if@plnewitem'))) {
DefEnvironment('{itemize} OptionalUndigested',
"<ltx:itemize xml:id='#id'>#body</ltx:itemize>",
properties => sub { beginItemize('itemize', '@item'); },
mode => 'internal_vertical',

properties => sub { beginItemize('itemize', '@item'); },
afterDigestBegin => sub { setItemizationStyle($_[1]->getArg(1)); }); }

#======================================================================
# Descriptions
DefEnvironment('{inparadesc}',
"<ltx:inline-description xml:id='#id'>#body</ltx:inline-description>",
mode => 'internal_vertical',
properties => sub { beginItemize('inline@description', '@desc'); });

DefEnvironment('{compactdesc}',
"<ltx:description xml:id='#id'>#body</ltx:description>",
mode => 'internal_vertical',
properties => sub { beginItemize('description', '@desc'); });
DefEnvironment('{asparadesc}',
"<ltx:description xml:id='#id'>#body</ltx:description>",
mode => 'internal_vertical',
properties => sub { beginItemize('description', '@desc'); });
# \paradescriptionlabel{}

Expand Down
3 changes: 2 additions & 1 deletion lib/LaTeXML/Package/parskip.sty.ltxml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# -*- mode: Perl -*-
# /=====================================================================\ #
# | colordvi | #
# | parskip | #
# | Implementation for LaTeXML | #
# |=====================================================================| #
# | Part of LaTeXML: | #
Expand All @@ -17,5 +17,6 @@ use LaTeXML::Package;

#======================================================================
# Nothing to do here, really....
# TODO: But we may want to revise this if/when it is used in SVG contexts.
#======================================================================
1;
8 changes: 5 additions & 3 deletions lib/LaTeXML/Package/sv_support.sty.ltxml
Original file line number Diff line number Diff line change
Expand Up @@ -232,7 +232,7 @@ DefMacro('\qed', '\ltx@qed');
DefConstructor('\ltx@qed',
"?#isMath(<ltx:XMTok role='PUNCT'>\x{220E}</ltx:XMTok>)(\x{220E})",
enterHorizontal => 1,
reversion => '\qed');
reversion => '\qed');
Let('\smartqed', '\qed');
Let('\squareforqed', '\qed');

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

#======================================================================
1;
Loading