summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/stex/mikoslides/mikoslides.cls.ltxml
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/latex/stex/mikoslides/mikoslides.cls.ltxml')
-rw-r--r--Master/texmf-dist/tex/latex/stex/mikoslides/mikoslides.cls.ltxml96
1 files changed, 96 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/stex/mikoslides/mikoslides.cls.ltxml b/Master/texmf-dist/tex/latex/stex/mikoslides/mikoslides.cls.ltxml
new file mode 100644
index 00000000000..a8870d52036
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/stex/mikoslides/mikoslides.cls.ltxml
@@ -0,0 +1,96 @@
+# -*- CPERL -*-
+package LaTeXML::Package::Pool;
+use strict;
+use LaTeXML::Package;
+RawTeX('\newif\ifnotes\notesfalse');
+RawTeX('\newif\ifproblems\problemsfalse');
+LoadClass('omdoc');
+RequirePackage('stex');
+RequirePackage('latexml');
+RequirePackage('amssymb');
+RequirePackage('graphicx');
+RequirePackage('tikz');
+RequirePackage('amsmath');
+DefRegister('\slidewidth' => Dimension('13.5cm'));
+DefRegister('\slideheight' => Dimension('9cm'));
+DefEnvironment('{note}','#body');
+DefEnvironment('{frame}[]',
+ "<omdoc:omgroup layout='slide' ?#locator(stex:srcref='#locator')()>"
+ . "#body\n"
+ ."</omdoc:omgroup>\n\n",
+ afterDigestBegin=>sub {
+ $_[1]->setProperty(theory=>LookupValue('current_module')); });
+DefConstructor('\frametitle{}',
+ "\n<omdoc:metadata ?#locator(stex:srcref='#locator')()><dc:title>#1</dc:title></omdoc:metadata>");
+DefEnvironment('{problems}','#body');
+#DefMacro('\defemph{}','{\textcolor{magenta}{#1}}');
+#DefMacro('\notemph{}','{\textcolor{magenta}{#1}}');
+DefMacro('\textwarning',"");
+DefEnvironment('{titleslide}',"");
+DefEnvironment('{titleslide}',"<omdoc:omgroup ?#locator(stex:srcref='#locator')()>#body</omdoc:omgroup>");
+DefEnvironment('{ttitle}', "\n<Title>#body</Title>");
+DefConstructor('\hateq',"=\x{03C2}");
+DefConstructor('\textleadsto',"=\x{219D}");
+DefEnvironment('{columns}','#body');
+DefEnvironment('{column}{}','#body');
+DefConstructor('\uncover','#1');
+#Define a Beamer Overlay Parameter type
+ DefParameterType('BeamerOverlay', sub {
+ my ($gullet) = @_;
+ my $tok = $gullet->readXToken;
+ if (ref $tok && ToString($tok) eq '<') {
+ $gullet->readUntil(T_OTHER('>'));
+ } else {
+ $gullet->unread($tok) if ref $tok;
+ undef; }},
+ reversion=> sub {
+ (T_OTHER('<'), $_[0]->revert, T_OTHER('>'));
+ });
+
+#Take the "from" field of the overlay range
+sub overlayFrom {
+ return "" unless defined $_[0];
+ my $overlay=ToString($_[0]); $overlay =~ /^(\d+)/; $1;}
+
+#Reuse the CMP itemizations, only adjust the \item constructors.
+DefMacro('\beamer@group@item[] OptionalBeamerOverlay IfBeginFollows', sub {
+ my($gullet,$tag,$overlay,$needwrapper)=@_;
+ $overlay=$overlay||T_OTHER("");
+ ( T_CS('\group@item@maybe@unwrap'),
+ ($needwrapper ? (Invocation(T_CS('\beamer@group@item@wrap'),$tag,$overlay)->unlist) : ()) ); });
+DefConstructor('\beamer@group@item@wrap {} OptionalBeamerOverlay',
+ "<omdoc:omtext ?#locator(stex:srcref='#locator')() ?#2(overlay='&overlayFrom(#2)')()>"
+ . "?#1(<dc:title>#1</dc:title>)()"
+ . "<omdoc:CMP ?#locator(stex:srcref='#locator')()><omdoc:p ?#locator(stex:srcref='#locator')()>",
+ beforeDigest=>sub {
+ Let('\group@item@maybe@unwrap','\group@item@unwrap');
+ #$_[0]->bgroup;
+ useCMPItemizations();
+ return; },
+ properties=>sub{ RefStepItemCounter(); });
+
+DefConstructor('\beamer@itemize@item[] OptionalBeamerOverlay',
+ "<omdoc:li ?#locator(stex:srcref='#locator')() ?#2(overlay='&overlayFrom(#2)')() >"
+ . "?#1(<dc:title ?#locator(stex:srcref='#locator')()>#1</dc:title>)()",
+ properties=>sub{ RefStepItemCounter(); });
+DefConstructor('\beamer@enumerate@item[] OptionalBeamerOverlay',
+ "<omdoc:li ?#locator(stex:srcref='#locator')() ?#2(overlay='&overlayFrom(#2)')() >"
+ . "?#1(<dc:title ?#locator(stex:srcref='#locator')()>#1</dc:title>)()",
+ properties=>sub{ RefStepItemCounter(); });
+DefConstructor('\beamer@description@item[] OptionalBeamerOverlay',
+ "<omdoc:di ?#locator(stex:srcref='#locator')() ?#2(overlay='&overlayFrom(#2)')() >"
+ . "?#1(<omdoc:dt ?#locator(stex:srcref='#locator')()>#1</omdoc:dt>)()<omdoc:dd>", # trust di and dt to autoclose
+ properties=>sub{ RefStepItemCounter(); });
+
+#We ALWAYS use the beamer itemizations for the slides:
+Let('\CMP@itemize@item'=>'\beamer@itemize@item');
+Let('\CMP@enumerate@item'=> '\beamer@enumerate@item');
+Let('\CMP@description@item'=> '\beamer@description@item');
+Let('\group@item' =>'\beamer@group@item');
+Let('\itemize@item'=>'\beamer@group@item');
+Let('\enumerate@item'=>'\beamer@group@item');
+Let('\description@item'=>'\beamer@group@item');
+Let('\only'=>'\beamer@group@item');
+DefMacro('\putgraphicsat{}{}{}','\mygraphics[#2]{#3}');
+DefMacro('\putat{}{}','#2');
+1;