This file is indexed.

/usr/share/perl5/LaTeXML/Package/article.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
112
113
114
115
116
117
118
119
120
121
# -*- mode: Perl -*-
# /=====================================================================\ #
# |  article                                                            | #
# | 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.     | #
# |---------------------------------------------------------------------| #
# | 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;

LoadPool('LaTeX');
#**********************************************************************
# Option handling
foreach my $option (qw(10pt 11pt 12pt
  letterpaper legalpaper executivepaper a4paper a5paper b5paper
  landscape
  final draft
  oneside twoside
  openright openany
  onecolumn twocolumn
  notitlepage titlepage)) {
  DeclareOption($option, undef); }

DeclareOption('openbib', sub {
    RequireResource(undef, type => 'text/css', content => '.ltx_bibblock{display:block;}'); });
DeclareOption('leqno', sub { AssignMapping('DOCUMENT_CLASSES', ltx_leqno => 1); });
DeclareOption('fleqn', sub { AssignMapping('DOCUMENT_CLASSES', ltx_fleqn => 1); });

ProcessOptions();

#**********************************************************************
# Document structure.
RelaxNGSchema("LaTeXML");
RequireResource('ltx-article.css');

# This makes the authors appear on 1 line;
# for derived classes with multiple lines, map this to undef and add ltx_authors_multiline

AddToMacro(T_CS('\maketitle'), T_CS('\ltx@authors@oneline'));

DefMacro('\@ptsize', '0');    # should depend on options...
RawTeX(<<'EOTeX');
\newif\if@restonecol
\newif\if@titlepage
\@titlepagefalse
EOTeX

#**********************************************************************
# The core sectioning commands are defined in LaTeX.pm
# but the counter setup, etc, depends on article
SetCounter('secnumdepth', Number(3));
NewCounter('part',          'document',      idprefix => 'Pt',  nested => ['section']);
NewCounter('section',       'document',      idprefix => 'S',   nested => ['subsection']);
NewCounter('subsection',    'section',       idprefix => 'SS',  nested => ['subsubsection']);
NewCounter('subsubsection', 'subsection',    idprefix => 'SSS', nested => ['paragraph']);
NewCounter('paragraph',     'subsubsection', idprefix => 'P',   nested => ['subparagraph']);
NewCounter('subparagraph', 'paragraph', idprefix => 'SP', nested => ['equation', 'figure', 'table']);

DefMacro('\thepart',          '\Roman{part}');
DefMacro('\thesection',       '\arabic{section}');
DefMacro('\thesubsection',    '\thesection.\arabic{subsection}');
DefMacro('\thesubsubsection', '\thesubsection.\arabic{subsubsection}');
DefMacro('\theparagraph',     '');
DefMacro('\thesubparagraph',  '');
SetCounter(tocdepth => Number(3));

NewCounter('equation',       'document', idprefix => 'E',  idwithin => 'section');
NewCounter('@equationgroup', 'document', idprefix => 'EG', idwithin => 'section');
NewCounter('figure',         'document', idprefix => 'F',  idwithin => 'section');
NewCounter('table',          'document', idprefix => 'T',  idwithin => 'section');

DefMacro('\theequation', '\arabic{equation}');
DefMacro('\thefigure',   '\arabic{figure}');
DefMacro('\thetable',    '\arabic{table}');

NewCounter('@itemizei',   'document',    idprefix => 'I');
NewCounter('@itemizeii',  '@itemizei',   idprefix => 'I');
NewCounter('@itemizeiii', '@itemizeii',  idprefix => 'I');
NewCounter('@itemizeiv',  '@itemizeiii', idprefix => 'I');
NewCounter('@itemizev',   '@itemizeiv',  idprefix => 'I');
NewCounter('@itemizevi',  '@itemizev',   idprefix => 'I');

NewCounter('enumi',   '@itemizei',   idprefix => 'i');
NewCounter('enumii',  '@itemizeii',  idprefix => 'i');
NewCounter('enumiii', '@itemizeiii', idprefix => 'i');
NewCounter('enumiv',  '@itemizeiv',  idprefix => 'i');
# A couple of more levels, since we use these for ID's!
NewCounter('enumv',  '@itemizev',  idprefix => 'i');
NewCounter('enumvi', '@itemizevi', idprefix => 'i');

DefMacro('\theenumi',   '\arabic{enumi}');
DefMacro('\theenumii',  '\alph{enumii}');
DefMacro('\theenumiii', '\roman{enumiii}');
DefMacro('\theenumiv',  '\Alph{enumiv}');

DefMacro('\refname', 'References');

Tag('ltx:appendix', autoClose => 1);
# Actually we should be using section counter
AssignValue(counter_for_appendix => 'section');
DefMacro('\appendix@section', '\@startsection{appendix}{1}{}{}{}{}');
DefMacro('\appendix',         '\@appendix');
DefPrimitive('\@appendix', sub {
    NewCounter('section', 'document', idprefix => 'A', nested => ['subsection']);
    DefMacro('\thesection', '\Alph{section}', scope => 'global');
    DefMacroI('\theappendix', undef, '\thesection', scope => 'global');
    Let('\section',   '\appendix@section', 'global');
    Let('\@appendix', '\relax',            'global');
    if (LookupDefinition(T_CS('\appendixname'))) {
      Let('\sectionname', '\appendixname', 'global'); }
    return; });

#**********************************************************************
1;