summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/latex/pstricks-examples-en/10-07-2.ltx
blob: 609f09a1bf76cc49b660be311d8b16c0021b8898 (plain)
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
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
%% 
%%  A DANTE-Edition example
%% 
%%  Example 10-07-2 on page 120.
%% 
%%  Copyright (C) 2011 Herbert Voss
%% 
%%  It may be distributed and/or modified under the conditions
%%  of the LaTeX Project Public License, either version 1.3
%%  of this license or (at your option) any later version.
%% 
%%  See http://www.latex-project.org/lppl.txt for details.
%% 
%% 
%% ==== 
% Show page(s) 1
%% 
\documentclass[]{article}
\pagestyle{empty}
\setlength\textwidth{375.57637pt}

\usepackage{pstricks,pst-grad}
\setlength\parindent{0pt}
\makeatletter % Box of a pentagon form built using the code of \psframebox
\newdimen\pspentagonsep
\def\pspentagonbox{\pst@object{pspentagonbox}}
\def\pspentagonbox@i{\pst@makebox\pspentagonbox@ii}
\def\pspentagonbox@ii{%
  \begingroup
  \pst@useboxpar
  \pst@dima=\pslinewidth
  \advance\pst@dima by \psframesep
  \pst@dimc=\wd\pst@hbox\advance\pst@dimc by \pst@dima
  \pst@dimb=\dp\pst@hbox\advance\pst@dimb by \pst@dima
  \pst@dimd=\ht\pst@hbox\advance\pst@dimd by \pst@dima
  \setbox\pst@hbox=\hbox{%
    \ifpsboxsep\kern\pst@dima\fi
    \begin@ClosedObj
      \addto@pscode{%
\psk@cornersize
\pst@number\pst@dima neg
\pst@number\pst@dimb neg
\pst@number\pst@dimc
\pst@number\pst@dimd
        .5
\tx@pentagonA
      }%
      \def\pst@linetype{2}%
      \showpointsfalse
    \end@ClosedObj
    \box\pst@hbox
    \ifpsboxsep\kern\pst@dima\fi%
  }%
  \ifpsboxsep\dp\pst@hbox=\pst@dimb\ht\pst@hbox=\pst@dimd\fi
  \leavevmode
  \box\pst@hbox
  \endgroup%
  \ignorespaces%
}
% From the Frame PostScript macro
\pst@def{pentagonA}<{%
% .5 dimd dimc -dimb -dima cornersize
  CLW mul
  /a ED   % .5*currentlinewidth
  3 -1 roll
  2 copy gt { exch } if
  a sub
  /y2 ED
  a add
  /y1 ED
  2 copy gt { exch } if
  a sub /x2 ED
  a add /x1 ED
  1 index 0 eq {pop pop \tx@pentagon } { OvalFrame } ifelse
}>
\pst@def{pentagon}<{%
  x2 x1 sub 2 div /dx exch def
  y2 y1 sub 2 div /dy exch def
  x1 dx add y1 dy add translate
  dx dup mul dy dup mul add sqrt /radius exch def
  0 radius moveto
  /alpha 90 def
  5 { /alpha alpha 72 add def
      radius alpha cos mul
      radius alpha sin mul
      lineto
    } repeat
  closepath
}>
%
\newsavebox\pstBox
\newlength\pstWidth
\newlength\pstHeight
\def\psLBox{\@ifnextchar[{\psLBox@i}{\psLBox[]}}
\def\psLBox@i[#1]#2{{%
  \psset{linearc=0.4,shadow=true,shadowsize=0.2,%
      fillstyle=solid,fillcolor=white}
  \ifx#1\empty\else\psset{#1}\fi
  \sbox\pstBox{#2}
  \pstWidth=\wd\pstBox
  \pstHeight=\ht\pstBox
  \advance\pstHeight by \dp\pstBox
  \advance\pstHeight by \pslinearc
  \advance\pstWidth by \pslinearc
  \begin{pspicture}(\pstWidth,\pstHeight)
    \psline(\pstWidth,0)(0,0)(0,\pstHeight)(\pstWidth,\pstHeight)%
    \psline[shadow=false](\pstWidth,\pstHeight)(\pstWidth,0)
    \rput(0.5\pstWidth,0.5\pstHeight){#2}
  \end{pspicture}}}
\makeatother
\newlength\postercolwidth
\setlength\postercolwidth{0.3\textwidth}
\newpsstyle{boxstyle}{framearc=0.2,fillstyle=solid,fillcolor=black!15,framesep=4mm}
\newsavebox\PBox
\def\myBox#1#2#3{%
 \sbox\PBox{\psframebox[style=boxstyle]{\parbox{#1}{#3}}}%
 \begin{pspicture}(0,-\ht\PBox)(\wd\PBox,1.2\ht\PBox)%\psgrid
   \rput[l](0,0){\usebox\PBox}
   \rput[l](5\fboxsep,\ht\PBox){\colorbox{yellow}{#2\hspace{\fboxsep}}}
 \end{pspicture}%
}

\begin{document}
\hspace{10mm}\myBox{\postercolwidth}{\Large Abstract}{%
   Lorem ipsum dolor sit amet, urna augue. Luctus sollicitudin,
   accusantium nostrum. Scelerisque duis eget nonummy, rhoncus}
%
\hspace{10mm}\myBox{\postercolwidth}{\Large Abstract}{%
   Lorem ipsum dolor sit amet, urna augue. Luctus sollicitudin,
   accusantium nostrum. Scelerisque duis eget nonummy, rhoncus
   Lorem ipsum dolor sit amet, urna augue. Luctus sollicitudin,
   accusantium nostrum. Scelerisque duis eget nonummy, rhoncus}

\bigskip
\psLBox{Some text in a box}\qquad
\psLBox[fillcolor=lightgray]{%
\parbox{3cm}{Some text in a box with linearcs only
    on the left side}
}

\bigskip\Large
\pspentagonbox{T}\hfill
\pspentagonbox[framesep=0]{T}\hfill
\pspentagonbox[framesep=0.6]{T}\hfill
\pspentagonbox[framesep=1,fillstyle=gradient,gradmidpoint=0.5]{T}

\vspace{1cm}
\pspentagonbox[shadow=true]{Text}\hfill
\pspentagonbox[doubleline=true,linecolor=red]{\psscalebox{5}{1}}\hfill
\pspentagonbox[linecolor=red,fillstyle=solid,fillcolor=cyan,
              doubleline=true,framesep=0.2]{Text}

\vspace{1cm}
\pspentagonbox[shadow=true]{Long text}\hfill
\pspentagonbox[framesep=0.5,fillstyle=hlines]{Long text}\hfill
\pspentagonbox{\shortstack{Text\\Text\\Text}}\hfill
\end{document}