You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
403 lines
9.2 KiB
403 lines
9.2 KiB
%%
|
|
%% This is file `l3backend-dvips.pro',
|
|
%% generated with the docstrip utility.
|
|
%%
|
|
%% The original source files were:
|
|
%%
|
|
%% l3backend-header.dtx (with options: `header,dvips')
|
|
%%
|
|
%% Copyright (C) 1990-2020 The LaTeX3 Project
|
|
%%
|
|
%% It may be distributed and/or modified under the conditions of
|
|
%% the LaTeX Project Public License (LPPL), either version 1.3c of
|
|
%% this license or (at your option) any later version. The latest
|
|
%% version of this license is in the file:
|
|
%%
|
|
%% https://www.latex-project.org/lppl.txt
|
|
%%
|
|
%% This file is part of the "l3backend bundle" (The Work in LPPL)
|
|
%% and all files in that bundle must be distributed together.
|
|
%%
|
|
%% File: l3backend-header.dtx
|
|
/color.sc { } def
|
|
/color.fc { } def
|
|
true setglobal
|
|
/pdf.globaldict 4 dict def
|
|
false setglobal
|
|
/pdf.cvs { 65534 string cvs } def
|
|
/pdf.dvi.pt { 72.27 mul Resolution div } def
|
|
/pdf.pt.dvi { 72.27 div Resolution mul } def
|
|
/pdf.rect.ht { dup 1 get neg exch 3 get add } def
|
|
/pdf.linkmargin { 1 pdf.pt.dvi } def
|
|
/pdf.linkdp.pad { 0 } def
|
|
/pdf.linkht.pad { 0 } def
|
|
/pdf.rect
|
|
{ /Rect [ pdf.llx pdf.lly pdf.urx pdf.ury ] } def
|
|
/pdf.save.ll
|
|
{
|
|
currentpoint
|
|
/pdf.lly exch def
|
|
/pdf.llx exch def
|
|
}
|
|
def
|
|
/pdf.save.ur
|
|
{
|
|
currentpoint
|
|
/pdf.ury exch def
|
|
/pdf.urx exch def
|
|
}
|
|
def
|
|
/pdf.save.linkll
|
|
{
|
|
currentpoint
|
|
pdf.linkmargin add
|
|
pdf.linkdp.pad add
|
|
/pdf.lly exch def
|
|
pdf.linkmargin sub
|
|
/pdf.llx exch def
|
|
}
|
|
def
|
|
/pdf.save.linkur
|
|
{
|
|
currentpoint
|
|
pdf.linkmargin sub
|
|
pdf.linkht.pad sub
|
|
/pdf.ury exch def
|
|
pdf.linkmargin add
|
|
/pdf.urx exch def
|
|
}
|
|
def
|
|
/pdf.dest.anchor
|
|
{
|
|
currentpoint exch
|
|
pdf.dvi.pt 72 add
|
|
/pdf.dest.x exch def
|
|
pdf.dvi.pt
|
|
vsize 72 sub exch sub
|
|
/pdf.dest.y exch def
|
|
}
|
|
def
|
|
/pdf.dest.point
|
|
{ pdf.dest.x pdf.dest.y } def
|
|
/pdf.dest2device
|
|
{
|
|
/pdf.dest.y exch def
|
|
/pdf.dest.x exch def
|
|
matrix currentmatrix
|
|
matrix defaultmatrix
|
|
matrix invertmatrix
|
|
matrix concatmatrix
|
|
cvx exec
|
|
/pdf.dev.y exch def
|
|
/pdf.dev.x exch def
|
|
/pdf.tmpd exch def
|
|
/pdf.tmpc exch def
|
|
/pdf.tmpb exch def
|
|
/pdf.tmpa exch def
|
|
pdf.dest.x pdf.tmpa mul
|
|
pdf.dest.y pdf.tmpc mul add
|
|
pdf.dev.x add
|
|
pdf.dest.x pdf.tmpb mul
|
|
pdf.dest.y pdf.tmpd mul add
|
|
pdf.dev.y add
|
|
}
|
|
def
|
|
/pdf.bordertracking false def
|
|
/pdf.bordertracking.begin
|
|
{
|
|
SDict /pdf.bordertracking true put
|
|
SDict /pdf.leftboundary undef
|
|
SDict /pdf.rightboundary undef
|
|
/a where
|
|
{
|
|
/a
|
|
{
|
|
currentpoint pop
|
|
SDict /pdf.rightboundary known dup
|
|
{
|
|
SDict /pdf.rightboundary get 2 index lt
|
|
{ not }
|
|
if
|
|
}
|
|
if
|
|
{ pop }
|
|
{ SDict exch /pdf.rightboundary exch put }
|
|
ifelse
|
|
moveto
|
|
currentpoint pop
|
|
SDict /pdf.leftboundary known dup
|
|
{
|
|
SDict /pdf.leftboundary get 2 index gt
|
|
{ not }
|
|
if
|
|
}
|
|
if
|
|
{ pop }
|
|
{ SDict exch /pdf.leftboundary exch put }
|
|
ifelse
|
|
}
|
|
put
|
|
}
|
|
if
|
|
}
|
|
def
|
|
/pdf.bordertracking.end
|
|
{
|
|
/a where { /a { moveto } put } if
|
|
/x where { /x { 0 exch rmoveto } put } if
|
|
SDict /pdf.leftboundary known
|
|
{ pdf.outerbox 0 pdf.leftboundary put }
|
|
if
|
|
SDict /pdf.rightboundary known
|
|
{ pdf.outerbox 2 pdf.rightboundary put }
|
|
if
|
|
SDict /pdf.bordertracking false put
|
|
}
|
|
def
|
|
/pdf.bordertracking.endpage
|
|
{
|
|
pdf.bordertracking
|
|
{
|
|
pdf.bordertracking.end
|
|
true setglobal
|
|
pdf.globaldict
|
|
/pdf.brokenlink.rect [ pdf.outerbox aload pop ] put
|
|
pdf.globaldict
|
|
/pdf.brokenlink.skip pdf.baselineskip put
|
|
pdf.globaldict
|
|
/pdf.brokenlink.dict
|
|
pdf.link.dict pdf.cvs put
|
|
false setglobal
|
|
mark pdf.link.dict cvx exec /Rect
|
|
[
|
|
pdf.llx
|
|
pdf.lly
|
|
pdf.outerbox 2 get pdf.linkmargin add
|
|
currentpoint exch pop
|
|
pdf.outerbox pdf.rect.ht sub pdf.linkmargin sub
|
|
]
|
|
/ANN pdf.pdfmark
|
|
}
|
|
if
|
|
}
|
|
def
|
|
/pdf.bordertracking.continue
|
|
{
|
|
/pdf.link.dict pdf.globaldict
|
|
/pdf.brokenlink.dict get def
|
|
/pdf.outerbox pdf.globaldict
|
|
/pdf.brokenlink.rect get def
|
|
/pdf.baselineskip pdf.globaldict
|
|
/pdf.brokenlink.skip get def
|
|
pdf.globaldict dup dup
|
|
/pdf.brokenlink.dict undef
|
|
/pdf.brokenlink.skip undef
|
|
/pdf.brokenlink.rect undef
|
|
currentpoint
|
|
/pdf.originy exch def
|
|
/pdf.originx exch def
|
|
/a where
|
|
{
|
|
/a
|
|
{
|
|
moveto
|
|
SDict
|
|
begin
|
|
currentpoint pdf.originy ne exch
|
|
pdf.originx ne or
|
|
{
|
|
pdf.save.linkll
|
|
/pdf.lly
|
|
pdf.lly pdf.outerbox 1 get sub def
|
|
pdf.bordertracking.begin
|
|
}
|
|
if
|
|
end
|
|
}
|
|
put
|
|
}
|
|
if
|
|
/x where
|
|
{
|
|
/x
|
|
{
|
|
0 exch rmoveto
|
|
SDict
|
|
begin
|
|
currentpoint
|
|
pdf.originy ne exch pdf.originx ne or
|
|
{
|
|
pdf.save.linkll
|
|
/pdf.lly
|
|
pdf.lly pdf.outerbox 1 get sub def
|
|
pdf.bordertracking.begin
|
|
}
|
|
if
|
|
end
|
|
}
|
|
put
|
|
}
|
|
if
|
|
}
|
|
def
|
|
/pdf.breaklink
|
|
{
|
|
pop
|
|
counttomark 2 mod 0 eq
|
|
{
|
|
counttomark /pdf.count exch def
|
|
{
|
|
pdf.count 0 eq { exit } if
|
|
counttomark 2 roll
|
|
1 index /Rect eq
|
|
{
|
|
dup 4 array copy
|
|
dup dup
|
|
1 get
|
|
pdf.outerbox pdf.rect.ht
|
|
pdf.linkmargin 2 mul add sub
|
|
3 exch put
|
|
dup
|
|
pdf.outerbox 2 get
|
|
pdf.linkmargin add
|
|
2 exch put
|
|
dup dup
|
|
3 get
|
|
pdf.outerbox pdf.rect.ht
|
|
pdf.linkmargin 2 mul add add
|
|
1 exch put
|
|
/pdf.currentrect exch def
|
|
pdf.breaklink.write
|
|
{
|
|
pdf.currentrect
|
|
dup
|
|
pdf.outerbox 0 get
|
|
pdf.linkmargin sub
|
|
0 exch put
|
|
dup
|
|
pdf.outerbox 2 get
|
|
pdf.linkmargin add
|
|
2 exch put
|
|
dup dup
|
|
1 get
|
|
pdf.baselineskip add
|
|
1 exch put
|
|
dup dup
|
|
3 get
|
|
pdf.baselineskip add
|
|
3 exch put
|
|
/pdf.currentrect exch def
|
|
pdf.breaklink.write
|
|
}
|
|
1 index 3 get
|
|
pdf.linkmargin 2 mul add
|
|
pdf.outerbox pdf.rect.ht add
|
|
2 index 1 get sub
|
|
pdf.baselineskip div round cvi 1 sub
|
|
exch
|
|
repeat
|
|
pdf.currentrect
|
|
dup
|
|
pdf.outerbox 0 get
|
|
pdf.linkmargin sub
|
|
0 exch put
|
|
dup dup
|
|
1 get
|
|
pdf.baselineskip add
|
|
1 exch put
|
|
dup dup
|
|
3 get
|
|
pdf.baselineskip add
|
|
3 exch put
|
|
dup 2 index 2 get 2 exch put
|
|
/pdf.currentrect exch def
|
|
pdf.breaklink.write
|
|
SDict /pdf.pdfmark.good false put
|
|
exit
|
|
}
|
|
{ pdf.count 2 sub /pdf.count exch def }
|
|
ifelse
|
|
}
|
|
loop
|
|
}
|
|
if
|
|
/ANN
|
|
}
|
|
def
|
|
/pdf.breaklink.write
|
|
{
|
|
counttomark 1 sub
|
|
index /_objdef eq
|
|
{
|
|
counttomark -2 roll
|
|
dup wcheck
|
|
{
|
|
readonly
|
|
counttomark 2 roll
|
|
}
|
|
{ pop pop }
|
|
ifelse
|
|
}
|
|
if
|
|
counttomark 1 add copy
|
|
pop pdf.currentrect
|
|
/ANN pdfmark
|
|
}
|
|
def
|
|
/pdf.pdfmark
|
|
{
|
|
SDict /pdf.pdfmark.good true put
|
|
dup /ANN eq
|
|
{
|
|
pdf.pdfmark.store
|
|
pdf.pdfmark.dict
|
|
begin
|
|
Subtype /Link eq
|
|
currentdict /Rect known and
|
|
SDict /pdf.outerbox known and
|
|
SDict /pdf.baselineskip known and
|
|
{
|
|
Rect 3 get
|
|
pdf.linkmargin 2 mul add
|
|
pdf.outerbox pdf.rect.ht add
|
|
Rect 1 get sub
|
|
pdf.baselineskip div round cvi 0 gt
|
|
{ pdf.breaklink }
|
|
if
|
|
}
|
|
if
|
|
end
|
|
SDict /pdf.outerbox undef
|
|
SDict /pdf.baselineskip undef
|
|
currentdict /pdf.pdfmark.dict undef
|
|
}
|
|
if
|
|
pdf.pdfmark.good
|
|
{ pdfmark }
|
|
{ cleartomark }
|
|
ifelse
|
|
}
|
|
def
|
|
/pdf.pdfmark.store
|
|
{
|
|
/pdf.pdfmark.dict 65534 dict def
|
|
counttomark 1 add copy
|
|
pop
|
|
{
|
|
dup mark eq
|
|
{
|
|
pop
|
|
exit
|
|
}
|
|
{
|
|
pdf.pdfmark.dict
|
|
begin def end
|
|
}
|
|
ifelse
|
|
}
|
|
loop
|
|
}
|
|
def
|
|
%%
|
|
%%
|
|
%% End of file `l3backend-dvips.pro'.
|
|
|