Skip to content

Commit fa358d5

Browse files
committed
Move iniTeX code to Core.pm from latexml
1 parent 4fb641f commit fa358d5

File tree

2 files changed

+45
-31
lines changed

2 files changed

+45
-31
lines changed

bin/latexml

Lines changed: 1 addition & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -94,37 +94,7 @@ eval { # Catch errors
9494
$latexml->withState(sub {
9595
my ($state) = @_;
9696
if ($initfile) {
97-
my $request = $initfile;
98-
my ($dir, $name, $ext);
99-
if (my $pathname = pathname_find($request,
100-
paths => $state->lookupValue('SEARCHPATHS'))
101-
|| pathname_kpsewhich($request,
102-
paths => $state->lookupValue('SEARCHPATHS'))
103-
) {
104-
$request = $pathname;
105-
($dir, $name, $ext) = pathname_split($request); }
106-
else {
107-
Fatal('missing_file', $request, undef, "Can't find $mode file $request",
108-
LaTeXML::Package::maybeReportSearchPaths()); }
109-
ProgressSpinup("Digesting $mode $name");
110-
$latexml->initializeState("Base.pool"); #, @{ $$self{preload} || [] });
111-
$state->assignValue(SOURCEFILE => $request);
112-
$state->assignValue(SOURCEDIRECTORY => $dir) if defined $dir;
113-
$state->unshiftValue(SEARCHPATHS => $dir)
114-
if defined $dir && !grep { $_ eq $dir } @{ $state->lookupValue('SEARCHPATHS') };
115-
$state->unshiftValue(GRAPHICSPATHS => $dir)
116-
117-
if defined $dir && !grep { $_ eq $dir } @{ $state->lookupValue('GRAPHICSPATHS') };
118-
119-
$state->installDefinition(LaTeXML::Core::Definition::Expandable->new(LaTeXML::Core::Token::T_CS('\jobname'), undef,
120-
LaTeXML::Core::Tokens::Tokens(LaTeXML::Package::Explode($name))));
121-
# Reverse order, since last opened is first read!
122-
##$self->loadPostamble($options{postamble}) if $options{postamble};
123-
##LaTeXML::Package::InputContent($request);
124-
##$self->loadPreamble($options{preamble}) if $options{preamble};
125-
LaTeXML::Package::Pool::DumpFile($request);
126-
$digested = $latexml->finishDigestion;
127-
ProgressSpindown("Digesting $mode $name"); }
97+
$latexml->iniTeX($initfile); }
12898
else {
12999
# ========================================
130100
# First read and digest whatever we're given.

lib/LaTeXML/Core.pm

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -160,6 +160,50 @@ sub digestFile {
160160
return $list; });
161161
}
162162

163+
sub iniTeX {
164+
my ($self, $request, %options) = @_;
165+
my ($dir, $name, $ext);
166+
my $mode = $options{mode} || 'Base'; # normally, w/o TeX (plain) itself
167+
if (pathname_is_literaldata($request)) {
168+
$dir = undef; $ext = 'tex';
169+
$name = "Anonymous String"; }
170+
elsif (pathname_is_url($request)) {
171+
$dir = undef; $ext = 'tex';
172+
$name = $request; }
173+
else {
174+
if (my $pathname = pathname_find($request, types => ['tex','ltx'],
175+
paths => $$self{state}->lookupValue('SEARCHPATHS'))
176+
|| pathname_kpsewhich($request, types => ['tex','ltx'],
177+
paths => $$self{state}->lookupValue('SEARCHPATHS'))) {
178+
$request = $pathname;
179+
($dir, $name, $ext) = pathname_split($request); }
180+
else {
181+
$self->withState(sub {
182+
Fatal('missing_file', $request, undef, "Can't find $mode file $request",
183+
LaTeXML::Package::maybeReportSearchPaths()
184+
); }); } }
185+
return
186+
$self->withState(sub {
187+
my ($state) = @_;
188+
ProgressSpinup("Digesting $mode $name");
189+
# Not so sure if preloads are a good idea yet...
190+
$self->initializeState($mode . ".pool", @{ $$self{preload} || [] }) unless $options{noinitialize};
191+
$state->assignValue(SOURCEFILE => $request) if (!pathname_is_literaldata($request));
192+
$state->assignValue(SOURCEDIRECTORY => $dir) if defined $dir;
193+
$state->unshiftValue(SEARCHPATHS => $dir)
194+
if defined $dir && !grep { $_ eq $dir } @{ $state->lookupValue('SEARCHPATHS') };
195+
$state->unshiftValue(GRAPHICSPATHS => $dir)
196+
197+
if defined $dir && !grep { $_ eq $dir } @{ $state->lookupValue('GRAPHICSPATHS') };
198+
199+
$state->installDefinition(LaTeXML::Core::Definition::Expandable->new(T_CS('\jobname'), undef,
200+
Tokens(Explode($name))));
201+
LaTeXML::Package::Pool::DumpFile($request);
202+
$self->finishDigestion;
203+
ProgressSpindown("Digesting $mode $name");
204+
return; });
205+
}
206+
163207
sub finishDigestion {
164208
my ($self) = @_;
165209
my $state = $$self{state};

0 commit comments

Comments
 (0)