Logarithmisches Kästchenpapier – realisiert mit Postscript



Logartihmisches Kästchenpapier kann man in vielen Zusammenhängen gebrauchen. Durch die Codierung in Postscript kann es den jeweiligen Bedürfnissen flexibel angepasst werden. Anbei der Postscript-Code für das (näherungsweise) abgebildete a4-Papier

Postscript mit seiner umgekehrten polnischen Notation erscheint zunächst gewöhnungsbedürftig. Z.B. schreibt sich der Ausdruck (2+3)*5 so: 2 3 add 5 mul . Mit Hilfe der eingestreuten Kommentare hoffe ich jedoch, die Möglichkeit eröffnet zu haben, den Code für eigene Zwecke anzupassen.
Postscript kann man mit Hilfe der Open-Source-Programme Ghostscript und Ghostview am Bildschirm darstellen und in andere Graphikformate exportieren. Man erhält sie z.B. unter http://www.haw-hamburg.de/pers/Lueddecke/ghost/



logarithmische Einteilung


%!PS-Adobe-2.0
%%Title: logpapier
%%EndComments

/MM
{
2.83464567 mul
} bind def

/MyPageHeight
{
297 MM round
} bind def

/MyPageWidth
{
210 MM round
} bind def

% number of cycles for logarthmic division
/MyCycleNumber
{
4
} bind def

% stretchfator for logs
/MyStretch
{
280 MyCycleNumber div
} bind def

% distance between parallels
/MyIncrement
{
5 MM
} bind def

/MyLinewidth
{
0.08 MM setlinewidth
} bind def

statusdict begin
MyPageWidth MyPageHeight 0 1 setpageparams
%% pageparams PP = PP = PP = PP =
end

/DrawLogParallels
{
gsave
MyLinewidth
0 MyStretch sub 0 translate
1 1 MyCycleNumber
{
MyStretch 0 translate
1 1 10
{
dup
log MyStretch mul 0 moveto
log MyStretch mul MyPageHeight lineto
stroke
} bind for
} bind for
grestore
gsave
} bind def


/DrawParallels
{
gsave
0 MM 0 MM translate
1 1 MyPageWidth
{
MyLinewidth
pop
0 MyIncrement translate
0 0 moveto
MyPageWidth 0 lineto
stroke
} bind for
grestore
gsave
} bind def
%%EndProlog

gsave

DrawLogParallels
grestore

DrawParallels
grestore

showpage
%%Trailer