/usr/share/perl5/LaTeXML/Package/OmniBus.cls.ltxml is in latexml 0.8.1-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 | # -*- mode: Perl -*-
# /=====================================================================\ #
# | OmniBus.cls | #
# | Implementation for LaTeXML | #
# |=====================================================================| #
# | Part of LaTeXML: | #
# | Public domain software, produced as part of work done by the | #
# | United States Government & not subject to copyright in the US. | #
# |---------------------------------------------------------------------| #
# | Thanks to Catalin David <c.david@jacobs-university.de> | #
# | of the arXMLiv group for initial implementation | #
# | http://arxmliv.kwarc.info/ | #
# | Released to the Public Domain | #
# |---------------------------------------------------------------------| #
# | Bruce Miller <bruce.miller@nist.gov> #_# | #
# | http://dlmf.nist.gov/LaTeXML/ (o o) | #
# \=========================================================ooo==U==ooo=/ #
package LaTeXML::Package::Pool;
use strict;
use warnings;
use LaTeXML::Package;
#======================================================================
# This is the OmniBus class file.
# It is a stand-in for class files for which we have no binding.
# It attempts to define in fairly generic fashion most of the frontmatter
# commands that are commonly encountered.
# Of course having the "wrong" things defined
# or the right things defined wrongly may lead to other errors.
# But we're betting that we come out ahead.
#======================================================================
LoadClass('article');
ProcessOptions();
DefEnvironment('{frontmatter}', '#body');
DefMacro('\shorttitle{}', '\@add@frontmatter{ltx:toctitle}{#1}');
DefMacro('\shortauthor{}', '');
DefRegister('\titlerunning', Tokens());
DefRegister('\authorrunning', Tokens());
DefMacro('\runningtitle{}', Tokens());
DefMacro('\shortauthor{}', Tokens());
DefMacro('\authors{}', Tokens());
DefMacro('\shortauthors{}', Tokens());
DefConstructor('\@@@email{}{}', "^ <ltx:contact role='#2'>#1</ltx:contact>");
DefMacro('\email{}', '\@add@to@frontmatter{ltx:creator}{\@@@email{#1}{email}}');
DefMacro('\ead{}[email]', '\@add@to@frontmatter{ltx:creator}{\@@@email{#1}{#2}}');
DefMacro('\emailname', 'E-mail');
DefMacro('\speaker{}', '\@add@frontmatter{ltx:creator}[role=speaker]{\@personname{#1}}');
# \institute,, \inst from inst_support
RequirePackage('inst_support');
# like from aas
DefConstructor('\@@@affiliation{}', "^ <ltx:contact role='affiliation'>#1</ltx:contact>");
DefMacro('\affil{}', '\@add@to@frontmatter{ltx:creator}{\@@@affiliation{#1}}');
DefMacro('\altaffilmark{}', sub {
my ($gullet, $marks) = @_;
map { (T_CS('\@altaffilmark'), T_BEGIN, @$_, T_END) } SplitTokens($marks, T_OTHER(',')); });
DefConstructor('\@altaffilmark{}',
"<ltx:note role='affiliationmark' mark='#1'/> ");
DefConstructor('\altaffiltext{}{}',
"<ltx:note role='affiliationtext' mark='#1'>#2</ltx:note>");
DefConstructor('\@@@address{}', "^ <ltx:contact role='address'>#1</ltx:contact>");
DefMacro('\address[]{}', '\@add@to@frontmatter{ltx:creator}{\@@@address{#2}}');
DefMacro('\affiliation{}', '\@add@to@frontmatter{ltx:creator}{\@@@affiliation{#1}}');
# Comes as both macro with arg, and environment! w/ or w/o "s"!
DefMacro('\keyword{}', '\@add@frontmatter{ltx:keywords}{#1}');
DefMacro('\keywords{}', '\@add@frontmatter{ltx:keywords}{#1}');
# {keyword}, {keywords}
DefMacro('\classification{}', '\@add@frontmatter{ltx:classification}{#1}');
DefMacro('\pacs{}', '\@add@frontmatter{ltx:classification}[scheme=pacs]{#1}');
# \abstracts
# \editors
# Seems to come in different spellings and often misused!
DefConstructor('\acknowledgments', "<ltx:acknowledgements name='#name'>",
properties => sub { (name => Digest(T_CS('\acknowledgmentsname'))); });
DefConstructor('\endacknowledgments', "</ltx:acknowledgements>");
Tag("ltx:acknowledgements", autoClose => 1);
DefMacro('\acknowledgmentsname', 'Acknowledgements');
Let('\acknowledgements', '\acknowledgments');
Let('\endacknowledgements', '\endacknowledgments');
Let('\theacknowledgments', '\acknowledgments');
Let('\endtheacknowledgments', '\endacknowledgments');
DefMacro('\received{}', '\@add@frontmatter{ltx:date}[role=received]{#1}');
DefMacro('\revised{}', '\@add@frontmatter{ltx:date}[role=revised]{#1}');
DefMacro('\accepted{}', '\@add@frontmatter{ltx:date}[role=accepted]{#1}');
DefMacro('\pubyear', '\@add@frontmatter{ltx:date}[role=publication]{#1}');
DefMacro('\preprint{}', '\@add@frontmatter{ltx:note}[role=preprint]{#1}');
# work as environment or not...
DefConstructor('\references',
"<ltx:bibliography xml:id='#id' "
. "bibstyle='#bibstyle' citestyle='#citestyle' sort='#sort'>"
. "<ltx:title font='#titlefont' _force_font='true'>#title</ltx:title>"
. "<ltx:biblist>",
afterDigest => sub { beginBibliography($_[1]); });
DefConstructor('\endreferences',
"</ltx:biblist></ltx:bibliography>");
1;
|