-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathpsclip2.tex
50 lines (40 loc) · 1.28 KB
/
psclip2.tex
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
\documentclass[a4paper]{article}
\usepackage{adjustbox}
\makeatletter
\def\OLD@clipbox#1#2#3#4#5{%
\@trimbox{#1}{#2}{#3}{#4}{#5}%
\sbox#5{%
\special{ps: gsave}%
\hbox{\special{ps: currentpoint pop /llx exch def}}%
\hbox to 0pt{\hskip\wd#5\special{ps: currentpoint pop /urx exch def}\hss}%
\raise-\dp#5\hbox{\special{ps: currentpoint /lly exch def pop}}%
\raise\ht#5\hbox{\special{ps: currentpoint /ury exch def pop}}%
\special{ps: llx lly urx llx sub ury lly sub rectclip}%
\box#5%
\special{ps: grestore}%
}%
}
\ifpdf\else
\def\@clipbox#1#2#3#4#5{%
\@trimbox{#1}{#2}{#3}{#4}{#5}%
\sbox#5{%
\special{ps: gsave}%
\hbox to 0pt{%
\raise-\dp#5\hbox{\special{ps: /llx currentpoint pop def /lly currentpoint exch pop def}}%
\hskip \wd#5%
\raise \ht#5\hbox{\special{ps: /urx currentpoint pop def /ury currentpoint exch pop def}}%
\hss
}%
\special{ps: llx lly urx llx sub ury lly sub rectclip}%
\box#5%
\special{ps: grestore}%
}%
}
\fi
\makeatother
\begin{document}
x\clipbox{0pt 0pt 0pt 0pt}{Foo q Bar \textit{i}}x\par
x\clipbox{1pt .5pt 1pt .5pt}{Foo q Bar \textit{i}}x\par
x\clipbox{0 {\depth} {.5\width} 0}{gXXXXg}x\par
\clipbox{1pt 1pt 1pt 1pt}{x\clipbox{0 {\depth} {.5\width} 0}{gXXXXg}x}\par
\end{document}