Origin: Here
define(`coord',
`Origin+((log(`$1')-log(tmin))/denh*horiz,(log(`$2')-log(vmin))/denv*vert)')
thinlines_
# Left axes and labels
psset_(linecolor=gray)
vm = log(vmin); if vm!=0 then { vm=rint(vm) }
vM = log(vmax); if vM!=0 then { vM=rint(vM) }
for i = vm to vM do {
move to coord(tmin,exp(i))
line right horiz
s_box(\sf %g,exp(i)) rjust at last line.start ifgpic(`-(0.05,0)')
if i < rint(log(vmax)) then {
for j = 2 to 9 do {
move to coord(tmin,j*exp(i))
line right horiz
if (j==2) || (j==5) then {
s_box(\sf %g,j*exp(i)) rjust at last line.start ifgpic(`-(0.05,0)') }
} } }
#Horizontal axis and labels
tm = log(tmin); if tm!=0 then { tm=rint(tm) }
tM = log(tmax); if tM!=0 then { tM=rint(tM) }
for t = tm to tM do {
move to coord(exp(t),vmin)
line up vert
s_box(\sf %g,exp(t)) below at last line.start ifgpic(`-(0,0.05)')
if t < rint(log(tmax)) then {
for j = 2 to 9 do { move to coord(j*exp(t),vmin)
line up vert
if (j==2) || (j==5) then {
s_box(\sf %g,j*exp(t)) below at last line.start ifgpic(`-(0,0.05)') }
} } }
psset_(linecolor=black)
# arrow from Origin up vert chop 0 chop -.1
line from Origin up vert
s_box($y(t)$) at Origin+(-.1,.5*vert) rjust
# arrow from Origin right horiz chop 0 chop -.1
line from Origin right horiz
s_box($t$) at Origin+(.5*horiz,-.1) below
thicklines_
alpha = 2.5
beta = 3.0
tm = max(tmin,(vmin/alpha)^(1/beta))
tM = min(tmax,(vmax/alpha)^(1/beta))
line from coord(tm,alpha*tm^beta) to coord(tM,alpha*tM^beta)
f_box(invis fill_(1),`$y(t) = %g\,t^{%g}$',alpha,beta) \
with .sw at coord(2.1,11)
alpha = 0.05
beta = 2.0
tm = max(tmin,(vmin/alpha)^(1/beta))
tM = min(tmax,(vmax/alpha)^(1/beta))
line from coord(tm,alpha*tm^beta) to coord(tM,alpha*tM^beta)
f_box(invis fill_(1),`$y(t) = %g\,t^{%g}$',alpha,beta) \
with .se at coord(4.6,1.1)
hatchbox(wid G.e.x-F.w.x ht F.ht,pitch) with .sw at F.sw
box invis fill_(1) ht ell wid E.e.x-F.w.x with .nw at F.nw
box wid G.e.x-F.w.x ht F.ht with .sw at F.sw thick linethick*3/2
foreach_(`B',
`B`'T: B.se + (-qmell,qmell)
line invis fill_(1) from B.se to (B.se,B`'T) then to B`'T then to B.se
line from (B.w,B`'T) to B`'T chop 0 chop -offset
line from B`'T up ell chop -offset chop 0
line from B`'T + (-r,0) up ell
line dashed from B`'T to B.se
"\large $0$" at B`'T + (-r/2,ell/2)
"\large $0$" at B`'T + (qmell/2,ell/2)
"$t$" at (B`'T,B.n) + (-offset/2,offset)
sprintf("$\overbrace{\phantom{\hbox to %gin{}}}^{\hbox{$k$}}$",kwid/scale) \
at B.nw + (kwid/2,0) above
hatchbox(wid kwid ht ell,pitch,,90) with .nw at B.nw
line from B.ne to B.se thick linethick*3/2
',F,E)
line from (G.w,ET) right G.wid
line from ET + (0,r) left ET.x-E.w.x
hatchbox(wid r ht r,pitch,,0) with .se at ET
"$q$" at F.sw + (-offset,offset/3)
"$\ell$" at (F.w,FT) + (-offset,offset/3)
"$n{+}p{+}m$" at G.ne + (0,offset)
foreach_(`B',`"\Large $B$" ht 0.2 with .n at B.s + (0,-offset/2)',F,E,G)
# extra left brace to avoid a psfrag problem (bug?)
sprintf(\
"$\vphantom{\{}\left.\vrule height %gin depth0pt width0pt\right\}r$",\
r/2*0.9) at ET + (offset,r/2)
# Adjust the bounding box without using s_box:
# move from F.nw+(-12bp__,21bp__) to G.se+(20bp__,-15bp__)
] with .sw at last [].se+(0.15,0)
PE