commit 10d2e7954946d06fb97679472308c06ea5f82184 Author: Kursmester Date: Sun Mar 9 16:02:52 2025 +0100 Move content from wiki diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..0fb86ee --- /dev/null +++ b/Makefile @@ -0,0 +1,15 @@ +MAIN=presentasjon +DEMOS=$(wildcard demo*) + +${MAIN}: + pdflatex ${MAIN} + # bibtex ${MAIN} + # pdflatex ${MAIN} + pdflatex ${MAIN} + +all: ${MAIN} + @for f in ${DEMOS}; do \ + (cd $$f; make); done + +clean: + rm *.aux *.gls *.idx *.ilg *.ind *.log *.nlo *.nls *.pdf diff --git a/README.md b/README.md new file mode 100644 index 0000000..f8bb5fd --- /dev/null +++ b/README.md @@ -0,0 +1,12 @@ +# Overlevelseskurs i LaTeX 2008 + +- **Tid:** Torsdag 9. oktober 2008, kl. 18:15 +- **Sted:** R3 +- **Kursholder:** Kjetil Ørbekk +- **Anbefalte forkunnskaper:** Ingen + +[LaTeX](https://www.latex-project.org/) er et system for å typesette dokumenter (f.eks. føre inn rapporter), og egner seg veldig godt til teknisk skriving. I motsetning til det grafiske grensesnittet til f.eks OpenOffice.org, har LaTeX et rent tekstbasert grensesnitt. Dette kan gjøre det vanskelig å komme i gang, men det skal vi prøve å hjelpe med i dette kurset. Det kreves ingen forkunnskaper utover at interessen er på plass. + +Kurset vil starte med en gjennomgang av litt av historien bak LaTeX, og hvorfor det fortsatt er relevant i dag. Så blir det en innføring i enkel bruk av LaTeX, med demonstrasjon av standardverktøyene som brukes for å produsere et ferdig dokument. Til slutt hopper vi over på mer avansert bruk: figurer, matematiske formler og annet snacks. + +Etter dette kurset vil du forhåpentligvis være forberedt på å skrive vakre tekniske dokumenter til hygge og glede. diff --git a/beamerthemeguru.sty b/beamerthemeguru.sty new file mode 100644 index 0000000..e2870d4 --- /dev/null +++ b/beamerthemeguru.sty @@ -0,0 +1,43 @@ +%% +% +% Gurutjenesten Beamer theme +% +%% + +\ProvidesPackage{beamerthemeguru} + +\RequirePackage{beamerbasethemes} + +\mode + +\usefonttheme{serif} +\usetheme{default} +%\setbeamersize{sidebar width left=0.1\paperwidth} + +% \setbeamercolor*{palette primary}{use=structure,fg=white,bg=structure.fg} +% \setbeamercolor*{palette secondary}{use=structure,fg=white,bg=structure.fg!75!black} +% \setbeamercolor*{palette tertiary}{use=structure,fg=white,bg=structure.fg!50!black} +% \setbeamercolor*{palette quaternary}{fg=white,bg=black} +% \setbeamercolor{titlelike}{parent=structure} + +\useinnertheme{rectangles} +\setbeamercolor{structure}{fg=black} + +\setbeamercolor{item}{bg=black,fg=black} +\setbeamercolor{item projected}{bg=white} +\setbeamercolor{section number projected}{parent=item,fg=white} +\setbeamercolor{subsection number projected}{parent=section number projected} +\setbeamercolor{subsubsection number projected}{parent=subsection number projected} + +\setbeamercolor{enumerate item}{fg=white,fg=white} +\setbeamercolor{enumerate subitem}{parent=enumerate item} +\setbeamercolor{enumerate subsubitem}{parent=enumerate subitem} + +\setbeamercolor*{frametitle}{bg=black!75!black,fg=white} +\setbeamercolor{block title}{fg=white} +\setbeamercolor{textlike}{fg=white} +%\setbeamercolor{block title}{use=structure,fg=gray,bg=black!75!black} + + + +\mode \ No newline at end of file diff --git a/demo01/Makefile b/demo01/Makefile new file mode 100644 index 0000000..f18aafd --- /dev/null +++ b/demo01/Makefile @@ -0,0 +1,5 @@ +TEXFILE=$(wildcard *.tex) +TARGET=${TEXFILE:.tex=} + +${TARGET}: + pdflatex $@ \ No newline at end of file diff --git a/demo01/demo01.pdf b/demo01/demo01.pdf new file mode 100644 index 0000000..c31fe06 Binary files /dev/null and b/demo01/demo01.pdf differ diff --git a/demo01/demo01.tex b/demo01/demo01.tex new file mode 100644 index 0000000..549010a --- /dev/null +++ b/demo01/demo01.tex @@ -0,0 +1,22 @@ +\documentclass[a4paper,11pt]{article} + +\usepackage[T1]{fontenc} +\usepackage[utf8]{inputenc} +\usepackage[norsk]{babel} +\usepackage{charter} % Computer Modern, meh + +\usepackage{hyperref} + +\begin{document} +Hello, World! Nå med æøå. \LaTeX{} ignorerer øverflødig whitespace. +Linjeskift blir også ignorert, med +mindre + du + har +to av dem. + +Da får du et nytt avsnitt. + +\end{document} + + diff --git a/demo02/Makefile b/demo02/Makefile new file mode 100644 index 0000000..f18aafd --- /dev/null +++ b/demo02/Makefile @@ -0,0 +1,5 @@ +TEXFILE=$(wildcard *.tex) +TARGET=${TEXFILE:.tex=} + +${TARGET}: + pdflatex $@ \ No newline at end of file diff --git a/demo02/demo02.pdf b/demo02/demo02.pdf new file mode 100644 index 0000000..e6c83fb Binary files /dev/null and b/demo02/demo02.pdf differ diff --git a/demo02/demo02.tex b/demo02/demo02.tex new file mode 100644 index 0000000..5e3ae74 --- /dev/null +++ b/demo02/demo02.tex @@ -0,0 +1,96 @@ +\documentclass[a4paper,11pt]{article} + +\usepackage[T1]{fontenc} +\usepackage[utf8]{inputenc} +\usepackage[norsk]{babel} +\usepackage{charter} % Computer Modern, meh + +\author{Kjetil Ørbekk} +\title{Demo 2} +\date{\today} + +\usepackage{hyperref} + +\begin{document} + +\maketitle +\tableofcontents + +\section{Donec ultricies} + +Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Fusce ac +quam sit amet ligula ultrices faucibus. Donec bibendum urna at +est. Aenean in nisi. Nullam non mauris. Vivamus quis mauris eu orci +faucibus molestie. Pellentesque habitant morbi tristique senectus et +netus et malesuada fames ac turpis egestas. + + +\subsection{Maecenas eros} + +Nullam leo. Suspendisse nisi purus, ultricies non, pellentesque ac, +mollis at, est. Morbi ante. Nam augue. Aenean adipiscing. Aenean +commodo. Donec vitae metus. Pellentesque habitant morbi tristique +senectus et netus et malesuada fames ac turpis egestas. Suspendisse +pulvinar dictum orci. Class aptent taciti sociosqu ad litora torquent +per conubia nostra, per inceptos himenaeos. + +\subsection{Duis pellentesque} + +Nunc placerat convallis leo. Pellentesque sed tortor. Fusce varius +nibh at turpis. Vestibulum faucibus, ipsum at dapibus mollis, nisl +magna auctor tortor, ut accumsan erat arcu a nibh. Duis sapien. Mauris +elementum tincidunt enim. Nam mauris libero, semper eget, tempus sed, +rhoncus vel, arcu. Mauris tellus mi, porttitor eget, malesuada eget, +feugiat in, pede. Sed turpis mauris, auctor at, luctus id, rhoncus ut, +tortor. Proin cursus semper libero. Suspendisse blandit sollicitudin +ipsum. + + +\section{Donec libero mauris} + +Ut ultricies venenatis pede. Maecenas tempus vulputate sem. Vestibulum +ullamcorper sem ut nisl. Vivamus tempor, dui vitae consectetuer +luctus, felis sapien viverra sapien, tincidunt tincidunt velit eros +vitae nunc. Sed vitae nisl ut nulla varius posuere. Phasellus ut leo +ac nunc suscipit ornare. Nam condimentum feugiat enim. Quisque +vestibulum. Integer aliquam dui sed ipsum. Ut id dui a enim faucibus +porta. Morbi magna. In hac habitasse platea dictumst. Nam pellentesque +tristique est. In et neque. Sed vel neque. + + +\subsection{Integer sodales} + +Nunc at augue tempor odio pellentesque rutrum. Sed venenatis luctus +nisi. Aliquam erat leo, aliquam vitae, rhoncus venenatis, dignissim +in, metus. Aliquam erat volutpat. Cras neque. Aliquam molestie +ultricies ante. Quisque quis est non turpis dictum ultrices. Sed +mi. + +\paragraph{Pellentesque} +Habitant morbi tristique senectus et netus et malesuada fames ac +turpis egestas. + +\paragraph{Phasellus} +Sollicitudin dolor in sapien. Donec pellentesque. + +\paragraph{In sed enim} +Curabitur at ligula. In aliquet, dui sed vestibulum congue, dui ante +sollicitudin dui, vel mollis lectus nibh ut mi. + +\section{Vestibulum, dignissim vitae, luctus id, faucibus ultricies} + +Proin adipiscing. Fusce eget purus. Vestibulum quis nisi. Vestibulum +interdum augue vehicula nisl. Morbi ornare malesuada tellus. Maecenas +a metus ut lorem malesuada faucibus. Donec massa eros, fringilla id, +posuere quis, ornare non, nibh. Pellentesque condimentum, sem at +molestie varius, lorem felis pulvinar metus, quis facilisis augue ante +eget libero. Nulla malesuada ipsum lobortis libero. Phasellus tempus, +dui eu convallis malesuada, dui eros lacinia purus, eu consequat est +nunc sit amet urna. Suspendisse et tellus. Suspendisse non sapien quis +lorem imperdiet iaculis. Nullam varius mauris sed dolor. Etiam +pharetra nunc eget elit. Vivamus mattis erat nec urna. Suspendisse +varius aliquam ipsum. Donec a odio in diam placerat +condimentum. Pellentesque habitant morbi tristique senectus et netus +et malesuada fames ac turpis egestas. + +\end{document} diff --git a/demo03/Makefile b/demo03/Makefile new file mode 100644 index 0000000..0e7257e --- /dev/null +++ b/demo03/Makefile @@ -0,0 +1,8 @@ +TEXFILE=$(wildcard *.tex) +TARGET=${TEXFILE:.tex=} + +${TARGET}: + pdflatex $@ + bibtex $@ + pdflatex $@ + pdflatex $@ diff --git a/demo03/demo03.pdf b/demo03/demo03.pdf new file mode 100644 index 0000000..b3cbf25 Binary files /dev/null and b/demo03/demo03.pdf differ diff --git a/demo03/demo03.tex b/demo03/demo03.tex new file mode 100644 index 0000000..1544d7c --- /dev/null +++ b/demo03/demo03.tex @@ -0,0 +1,14 @@ +\documentclass{article} + +\bibliographystyle{plain} +% or acm, alpha, abbrv, etc. + +\begin{document} + +The sun comes up just about as often as it goes down, in the long run, +but this doesn't make its motion random.\cite{knuth:1969} + +\bibliography{knuth.bib} + +\end{document} + diff --git a/demo03/knuth.bib b/demo03/knuth.bib new file mode 100644 index 0000000..0855b7f --- /dev/null +++ b/demo03/knuth.bib @@ -0,0 +1,7 @@ +@INBOOK{knuth:1969, + author = "Donald E. Knuth", + title = "Seminumerical Algorithms", + publisher = "Addison-Wesley", + year = "1979", + chapter = "3.3.2", +} diff --git a/glossary-index/Makefile b/glossary-index/Makefile new file mode 100644 index 0000000..e284161 --- /dev/null +++ b/glossary-index/Makefile @@ -0,0 +1,11 @@ +F=glossary-index + +${F}: + pdflatex ${F} + makeindex ${F} + makeindex ${F}.nlo -s nomencl.ist -o ${F}.nls + pdflatex ${F} + pdflatex ${F} + +clean: + rm *.aux *.gls *.idx *.ilg *.ind *.log *.nlo *.nls *.pdf diff --git a/glossary-index/glossary-index.pdf b/glossary-index/glossary-index.pdf new file mode 100644 index 0000000..ed32298 Binary files /dev/null and b/glossary-index/glossary-index.pdf differ diff --git a/glossary-index/glossary-index.tex b/glossary-index/glossary-index.tex new file mode 100644 index 0000000..0355998 --- /dev/null +++ b/glossary-index/glossary-index.tex @@ -0,0 +1,19 @@ +\documentclass{report} + +\usepackage{makeidx,nomencl} +\makeindex +\makenomenclature + +\begin{document} + +\tableofcontents + +Hei\index{hei}. \nomenclature{hei}{tullball} + +\printindex +\addcontentsline{toc}{section}{Index} + +\printnomenclature +\addcontentsline{toc}{section}{Nomenclature} + +\end{document} diff --git a/graf.eps b/graf.eps new file mode 100644 index 0000000..f6cddc6 --- /dev/null +++ b/graf.eps @@ -0,0 +1,1213 @@ +%%!PS-Adobe-3.0 EPSF-3.0 +%%Title: (graf.eps) +%%Creator: gnuplot 4.0 patchlevel 0 +%%CreationDate: Mon Nov 26 13:46:05 2007 +%%BoundingBox: 72 72 432 288 +%%EndComments +/Gpdict 100 dict def +Gpdict begin +/Color false def +/Dashed true def +/Gplinewidth 20.000 def +/hpt_ 100.000 def +/vpt_ 100.000 def + /hpt hpt_ def + /vpt vpt_ def + /Gppointsize_ 1 def + /Gplinewidth_ 1 def + + /ArrowDict 25 dict def + + /M /moveto load def + /L /lineto load def + /R /rmoveto load def + /V /rlineto load def + /N {newpath moveto} bind def + /f {rlineto fill} bind def + /ED { exch def} bind def + + /Atan {/atan load stopped {pop pop 0} if } def + /Div {dup 0 eq { pop } { div } ifelse } def + /Pyth {dup mul exch dup mul add sqrt} def + + %Sizes + /Gpsetlinewidth + { + dup + % /Gplinewidth_ ED %save + Gplinewidth mul setlinewidth + } def + + /Gpsetpointsize + { + dup + /Gppointsize_ ED %save + dup + vpt_ mul /vpt ED + hpt_ mul /hpt ED + } def + + %Color + /SetHsbColor { Color {sethsbcolor} {pop pop pop} ifelse } def + /SetCmykColor { Color {setcmykcolor} {pop pop pop pop} ifelse } def + /SimpleSetColor {6 div 1 1 SetHsbColor} def + /Black {0 0 0 0 SetCmykColor} def + /Red {0 SimpleSetColor} def + /Blue {1 1 0 0 SetCmykColor} def + /Cyan {1 0 0 0 SetCmykColor} def + /Magenta {0 1 0 0 SetCmykColor} def + + %Stroking + /PathLength@ % z = z + sqrt{(x-xlast)^2 + (y-ylast)^2} + { + /z + z + y ylast sub + x xlast sub + Pyth + add + def + /ylast y def + /xlast x def + } def + + /PathLength + { + flattenpath + /z 0 def + { %move + /ystart ED + /xstart ED + /xlast xstart def + /ylast ystart def + } + { %line + /y ED + /x ED + PathLength@ + } + { %curve + } + { %close + /x xstart def + /y ystart def + PathLength@ + } + /pathforall load + stopped {pop pop pop pop} if + z + } def + + %dotsep DotLine + /DotLine + { + PathLength /b ED + /z ED + /y currentlinewidth def + /z y z add def + [ 0 b b z Div round Div dup 0 le { pop 1 } if] 0 setdash + 1 setlinecap + } def + + /DashLine + { + PathLength /b ED + /x ED + /y ED + /z y x add def + b y sub z Div round z mul y add b exch Div + dup + y mul /y ED + x mul /x ED + x 0 gt y 0 gt and + { [ y x ] 0 } + { [ 1 0 ] 0 } + ifelse + setdash + } def + + /DashLineTwo + { + PathLength /b ED + /u ED + /v ED + /x ED + /y ED + /z y x add u add v add def + b y sub z Div round z mul y add b exch Div + dup + y mul /y ED + x mul /x ED + x 0 gt y 0 gt and + { [ y x v u] 0 } + { [ 1 0 ] 0 } + ifelse + setdash + } def + + + /DotLineStroke + { + gsave + Dashed {currentlinewidth 2 mul DotLine} if + stroke + grestore + } def + + /SolidLineStroke + { + gsave + [] 0 setdash + stroke + grestore + } def + + /DashLineStroke + { + gsave + Dashed {Gplinewidth 8 mul Gplinewidth 5 mul DashLine} if + stroke + grestore + } def + + /DashDotLineStroke + { + gsave + Dashed {Gplinewidth 8 mul Gplinewidth 5 mul 0 Gplinewidth 5 mul DashLineTwo} if + stroke + grestore + } def + + /DashShortLineStroke + { + gsave + Dashed {Gplinewidth 4 mul dup DashLine} if + stroke + grestore + } def + + /ArrowHead + { + currentlinewidth mul add dup 2 div /w ED + mul dup /h ED + mul /a ED + w neg h moveto + 0 0 L + w h L + w neg a neg rlineto + gsave fill grestore + } def + + %/DrawArrowHead {1 dup scale 0.2 1.4 50 3 ArrowHead} def + %%%%% + %inset length dim num + %arrowwidth = dim + num*linewidth + %arrowlength = length*arrowwidth + %arrowinset = width * inset + + /DrawArrowHead {0.2 1.4 Gplinewidth 3 mul 4 ArrowHead} def + + /Arrow + { + currentpoint + 4 2 roll + ArrowDict + begin + /@mtrx matrix currentmatrix def + gsave + 2 copy translate + 2 index sub neg exch + 3 index sub exch Atan + rotate + newpath + DrawArrowHead + @mtrx setmatrix + currentpoint + grestore + end %ArrowDicht + lineto + Gpstroke + } def + + %axis + /LTa + { + Gpstroke + newpath + 0 setgray + /Gpstroke {DotLineStroke newpath} def + } def + + %border + /LTb + { + Gpstroke + newpath + 0 setgray + /Gpstroke {SolidLineStroke newpath} def + } def + + /LT0 + { + Gpstroke + newpath + Red + /Gpstroke {SolidLineStroke newpath} def + } def + + /LT1 + { + Gpstroke + newpath + Blue + /Gpstroke {DashLineStroke newpath} def + } def + + /LT2 + { + Gpstroke + newpath + Cyan + /Gpstroke {DashShortLineStroke newpath} def + } def + + /LT3 + { + Gpstroke + newpath + Magenta + /Gpstroke {DashDotLineStroke newpath} def + } def + + /Pnt + { + gsave + [] 0 setdash + 1 setlinecap + Gplinewidth Gppointsize_ mul setlinewidth + M + 0 0 V + stroke + grestore + } def + + /DiaPath + { + [] 0 setdash + Gplinewidth setlinewidth + 2 copy + newpath + vpt add moveto + hpt neg vpt neg rlineto + hpt vpt neg rlineto + hpt vpt rlineto + hpt neg vpt rlineto + closepath + } def + + /Dia + { + gsave + DiaPath + stroke + grestore + } def + + /DaF + { + gsave + DiaPath + fill + grestore + } def + + /Crc + { + gsave + [] 0 setdash + Gplinewidth setlinewidth + newpath + vpt 0.85 mul 0 360 arc + closepath + stroke + grestore + } def + + + /Crs + { + gsave + [] 0 setdash + Gplinewidth setlinewidth + 0 setlinecap + newpath + vpt sub + moveto + 0 vpt 2 mul rlineto + hpt vpt neg rmoveto + hpt 2 mul neg 0 rlineto + stroke + grestore + } def + + /CrX + { + gsave + translate + 45 rotate + 0 0 Crs + grestore + } def + + /CcF + { + gsave + [] 0 setdash + Gplinewidth setlinewidth + newpath + vpt 0.85 mul 0 360 arc + closepath + fill + grestore + } def + + /Box + { + gsave + translate + 45 rotate + 0 0 DiaPath + stroke + grestore + } def + + /BxF + { + gsave + translate + 45 rotate + 0 0 DiaPath + fill + grestore + } def + + /Gpstroke {stroke} def + 1 setlinecap + 1 setlinejoin + % + % PostScript level 2 pattern fill definitions + % Ethan A Merritt April 2003 + % + % Level-1 compatible emulation for rectfill + /RF { gsave newpath 4 -2 roll moveto dup 0 exch rlineto + exch 0 rlineto neg 0 exch rlineto closepath fill grestore + } bind def + /BoxFill { gsave RF fill grestore } def + /Blank { 0 0 M 0 8 L 8 8 L 8 0 L 0 0 L + 1.0 setgray fill 0.0 setgray 0.5 setlinewidth } bind def + /Tile8x8 { /PaintType 1 def /PatternType 1 def /TilingType 1 def + /BBox [0 0 8 8] def /XStep 8 def /YStep 8 def + } bind def + /P1D 12 dict def P1D begin + Tile8x8 /PaintProc { Blank 0 0 M 8 8 L 0 8 M 8 0 L stroke } def + end P1D matrix makepattern + /Pattern1 exch def + /P2D 12 dict def P2D begin + Tile8x8 /PaintProc { Blank 0 0 M 8 8 L 0 8 M 8 0 L stroke + 0 4 M 4 8 L 8 4 L 4 0 L 0 4 L stroke } def + end P2D matrix makepattern + /Pattern2 exch def + /P3D 12 dict def P3D begin + Tile8x8 /PaintProc { Blank 0 0 M 0 8 L + 8 8 L 8 0 L 0 0 L fill } def + end P3D matrix makepattern + /Pattern3 exch def + /P4D 12 dict def P4D begin + Tile8x8 /PaintProc { Blank -4 8 M 8 -4 L + 0 12 M 12 0 L stroke } def + end P4D matrix makepattern + /Pattern4 exch def + /P5D 12 dict def P5D begin + Tile8x8 /PaintProc { Blank -4 0 M 8 12 L + 0 -4 M 12 8 L stroke } def + end P5D matrix makepattern + /Pattern5 exch def + /P6D 12 dict def P6D begin + Tile8x8 /PaintProc { Blank -2 8 M 4 -4 L + 0 12 M 8 -4 L 4 12 M 10 0 L stroke } def + end P6D matrix makepattern + /Pattern6 exch def + /P7D 12 dict def P7D begin + Tile8x8 /PaintProc { Blank -2 0 M 4 12 L + 0 -4 M 8 12 L 4 -4 M 10 8 L stroke } def + end P7D matrix makepattern + /Pattern7 exch def + /P8D 12 dict def P8D begin + Tile8x8 /PaintProc { Blank 8 -2 M -4 4 L + 12 0 M -4 8 L 12 4 M 0 10 L stroke } def + end P8D matrix makepattern + /Pattern8 exch def + /P9D 12 dict def P9D begin + Tile8x8 /PaintProc { Blank 0 -2 M 12 4 L + -4 0 M 12 8 L -4 4 M 8 10 L stroke } def + end P9D matrix makepattern + /Pattern9 exch def + +end +%%%%EndProlog +Gpdict begin +gsave +72 72 translate +0.0200 0.0200 scale +0 setgray +newpath +1.000 Gpsetpointsize +1.000 Gpsetlinewidth +1.000 Gpsetlinewidth +LTb +1925 1100 M +300 0 V +Gpstroke +17175 1100 M +-300 0 V +Gpstroke +1.000 Gpsetlinewidth +LTb +1925 2015 M +300 0 V +Gpstroke +17175 2015 M +-300 0 V +Gpstroke +1.000 Gpsetlinewidth +LTb +1925 2930 M +300 0 V +Gpstroke +17175 2930 M +-300 0 V +Gpstroke +1.000 Gpsetlinewidth +LTb +1925 3845 M +300 0 V +Gpstroke +17175 3845 M +-300 0 V +Gpstroke +1.000 Gpsetlinewidth +LTb +1925 4760 M +300 0 V +Gpstroke +17175 4760 M +-300 0 V +Gpstroke +1.000 Gpsetlinewidth +LTb +1925 5675 M +300 0 V +Gpstroke +17175 5675 M +-300 0 V +Gpstroke +1.000 Gpsetlinewidth +LTb +1925 6590 M +300 0 V +Gpstroke +17175 6590 M +-300 0 V +Gpstroke +1.000 Gpsetlinewidth +LTb +1925 7505 M +300 0 V +Gpstroke +17175 7505 M +-300 0 V +Gpstroke +1.000 Gpsetlinewidth +LTb +1925 8420 M +300 0 V +Gpstroke +17175 8420 M +-300 0 V +Gpstroke +1.000 Gpsetlinewidth +LTb +1925 9335 M +300 0 V +Gpstroke +17175 9335 M +-300 0 V +Gpstroke +1.000 Gpsetlinewidth +LTb +1925 10250 M +300 0 V +Gpstroke +17175 10250 M +-300 0 V +Gpstroke +1.000 Gpsetlinewidth +LTb +1925 1100 M +0 300 V +Gpstroke +1925 10250 M +0 -300 V +Gpstroke +1.000 Gpsetlinewidth +LTb +5738 1100 M +0 300 V +Gpstroke +5738 10250 M +0 -300 V +Gpstroke +1.000 Gpsetlinewidth +LTb +9550 1100 M +0 300 V +Gpstroke +9550 10250 M +0 -300 V +Gpstroke +1.000 Gpsetlinewidth +LTb +13363 1100 M +0 300 V +Gpstroke +13363 10250 M +0 -300 V +Gpstroke +1.000 Gpsetlinewidth +LTb +17175 1100 M +0 300 V +Gpstroke +17175 10250 M +0 -300 V +Gpstroke +1.000 Gpsetlinewidth +LTb +1.000 Gpsetlinewidth +LTb +1925 1100 M +15250 0 V +0 9150 V +-15250 0 V +0 -9150 V +1.000 Gpsetpointsize +Gpstroke +1.000 Gpsetlinewidth +LT0 +LTb +LT0 +15225 9675 M +1400 0 V +Gpstroke +1925 8164 M +154 -821 V +154 -889 V +154 -920 V +154 -915 V +154 -871 V +154 -794 V +154 -682 V +154 -545 V +154 -383 V +154 -208 V +154 -23 V +154 163 V +155 342 V +154 506 V +154 651 V +154 769 V +154 856 V +154 907 V +154 923 V +154 900 V +154 840 V +154 748 V +154 623 V +154 475 V +154 306 V +154 125 V +154 -61 V +154 -244 V +154 -418 V +154 -574 V +154 -708 V +154 -812 V +154 -883 V +154 -919 V +154 -917 V +154 -878 V +154 -803 V +155 -695 V +154 -559 V +154 -401 V +154 -226 V +154 -42 V +154 144 V +154 324 V +154 491 V +154 637 V +154 758 V +154 849 V +154 904 V +154 922 V +154 904 V +154 849 V +154 758 V +154 637 V +154 491 V +154 324 V +154 144 V +154 -42 V +154 -226 V +154 -401 V +154 -559 V +155 -695 V +154 -803 V +154 -878 V +154 -917 V +154 -919 V +154 -883 V +154 -812 V +154 -708 V +154 -574 V +154 -418 V +154 -244 V +154 -61 V +154 125 V +154 306 V +154 475 V +154 623 V +154 748 V +154 840 V +154 900 V +154 923 V +154 907 V +154 856 V +154 769 V +154 651 V +154 506 V +155 342 V +154 163 V +154 -23 V +154 -208 V +154 -383 V +154 -545 V +154 -682 V +154 -794 V +154 -871 V +154 -915 V +154 -920 V +154 -889 V +154 -821 V +Gpstroke +1.000 Gpsetlinewidth +LTb +1925 1100 M +15250 0 V +0 9150 V +-15250 0 V +0 -9150 V +1.000 Gpsetpointsize +Gpstroke +grestore +end +showpage +%%%%EOF +Gpdict begin +gsave +72 72 translate +0.0200 0.0200 scale +0 setgray +newpath +1.000 Gpsetpointsize +1.000 Gpsetlinewidth +1.000 Gpsetlinewidth +LTb +1925 1100 M +300 0 V +Gpstroke +17175 1100 M +-300 0 V +Gpstroke +1.000 Gpsetlinewidth +LTb +1925 2015 M +300 0 V +Gpstroke +17175 2015 M +-300 0 V +Gpstroke +1.000 Gpsetlinewidth +LTb +1925 2930 M +300 0 V +Gpstroke +17175 2930 M +-300 0 V +Gpstroke +1.000 Gpsetlinewidth +LTb +1925 3845 M +300 0 V +Gpstroke +17175 3845 M +-300 0 V +Gpstroke +1.000 Gpsetlinewidth +LTb +1925 4760 M +300 0 V +Gpstroke +17175 4760 M +-300 0 V +Gpstroke +1.000 Gpsetlinewidth +LTb +1925 5675 M +300 0 V +Gpstroke +17175 5675 M +-300 0 V +Gpstroke +1.000 Gpsetlinewidth +LTb +1925 6590 M +300 0 V +Gpstroke +17175 6590 M +-300 0 V +Gpstroke +1.000 Gpsetlinewidth +LTb +1925 7505 M +300 0 V +Gpstroke +17175 7505 M +-300 0 V +Gpstroke +1.000 Gpsetlinewidth +LTb +1925 8420 M +300 0 V +Gpstroke +17175 8420 M +-300 0 V +Gpstroke +1.000 Gpsetlinewidth +LTb +1925 9335 M +300 0 V +Gpstroke +17175 9335 M +-300 0 V +Gpstroke +1.000 Gpsetlinewidth +LTb +1925 10250 M +300 0 V +Gpstroke +17175 10250 M +-300 0 V +Gpstroke +1.000 Gpsetlinewidth +LTb +1925 1100 M +0 300 V +Gpstroke +1925 10250 M +0 -300 V +Gpstroke +1.000 Gpsetlinewidth +LTb +5738 1100 M +0 300 V +Gpstroke +5738 10250 M +0 -300 V +Gpstroke +1.000 Gpsetlinewidth +LTb +9550 1100 M +0 300 V +Gpstroke +9550 10250 M +0 -300 V +Gpstroke +1.000 Gpsetlinewidth +LTb +13363 1100 M +0 300 V +Gpstroke +13363 10250 M +0 -300 V +Gpstroke +1.000 Gpsetlinewidth +LTb +17175 1100 M +0 300 V +Gpstroke +17175 10250 M +0 -300 V +Gpstroke +1.000 Gpsetlinewidth +LTb +1.000 Gpsetlinewidth +LTb +1925 1100 M +15250 0 V +0 9150 V +-15250 0 V +0 -9150 V +1.000 Gpsetpointsize +Gpstroke +1.000 Gpsetlinewidth +LT0 +LTb +LT0 +15225 9675 M +1400 0 V +Gpstroke +1925 8164 M +154 -821 V +154 -889 V +154 -920 V +154 -915 V +154 -871 V +154 -794 V +154 -682 V +154 -545 V +154 -383 V +154 -208 V +154 -23 V +154 163 V +155 342 V +154 506 V +154 651 V +154 769 V +154 856 V +154 907 V +154 923 V +154 900 V +154 840 V +154 748 V +154 623 V +154 475 V +154 306 V +154 125 V +154 -61 V +154 -244 V +154 -418 V +154 -574 V +154 -708 V +154 -812 V +154 -883 V +154 -919 V +154 -917 V +154 -878 V +154 -803 V +155 -695 V +154 -559 V +154 -401 V +154 -226 V +154 -42 V +154 144 V +154 324 V +154 491 V +154 637 V +154 758 V +154 849 V +154 904 V +154 922 V +154 904 V +154 849 V +154 758 V +154 637 V +154 491 V +154 324 V +154 144 V +154 -42 V +154 -226 V +154 -401 V +154 -559 V +155 -695 V +154 -803 V +154 -878 V +154 -917 V +154 -919 V +154 -883 V +154 -812 V +154 -708 V +154 -574 V +154 -418 V +154 -244 V +154 -61 V +154 125 V +154 306 V +154 475 V +154 623 V +154 748 V +154 840 V +154 900 V +154 923 V +154 907 V +154 856 V +154 769 V +154 651 V +154 506 V +155 342 V +154 163 V +154 -23 V +154 -208 V +154 -383 V +154 -545 V +154 -682 V +154 -794 V +154 -871 V +154 -915 V +154 -920 V +154 -889 V +154 -821 V +Gpstroke +1.000 Gpsetlinewidth +LTb +1925 1100 M +15250 0 V +0 9150 V +-15250 0 V +0 -9150 V +1.000 Gpsetpointsize +Gpstroke +grestore +end +showpage +%%%%EOF +Gpdict begin +gsave +72 72 translate +0.0200 0.0200 scale +0 setgray +newpath +1.000 Gpsetpointsize +1.000 Gpsetlinewidth +1.000 Gpsetlinewidth +LTb +1925 1100 M +300 0 V +Gpstroke +17175 1100 M +-300 0 V +Gpstroke +1.000 Gpsetlinewidth +LTb +1925 3388 M +300 0 V +Gpstroke +17175 3388 M +-300 0 V +Gpstroke +1.000 Gpsetlinewidth +LTb +1925 5675 M +300 0 V +Gpstroke +17175 5675 M +-300 0 V +Gpstroke +1.000 Gpsetlinewidth +LTb +1925 7963 M +300 0 V +Gpstroke +17175 7963 M +-300 0 V +Gpstroke +1.000 Gpsetlinewidth +LTb +1925 10250 M +300 0 V +Gpstroke +17175 10250 M +-300 0 V +Gpstroke +1.000 Gpsetlinewidth +LTb +1925 1100 M +0 300 V +Gpstroke +1925 10250 M +0 -300 V +Gpstroke +1.000 Gpsetlinewidth +LTb +5738 1100 M +0 300 V +Gpstroke +5738 10250 M +0 -300 V +Gpstroke +1.000 Gpsetlinewidth +LTb +9550 1100 M +0 300 V +Gpstroke +9550 10250 M +0 -300 V +Gpstroke +1.000 Gpsetlinewidth +LTb +13363 1100 M +0 300 V +Gpstroke +13363 10250 M +0 -300 V +Gpstroke +1.000 Gpsetlinewidth +LTb +17175 1100 M +0 300 V +Gpstroke +17175 10250 M +0 -300 V +Gpstroke +1.000 Gpsetlinewidth +LTb +1.000 Gpsetlinewidth +LTb +1925 1100 M +15250 0 V +0 9150 V +-15250 0 V +0 -9150 V +1.000 Gpsetpointsize +Gpstroke +1.000 Gpsetlinewidth +LT0 +LTb +LT0 +15225 9675 M +1400 0 V +Gpstroke +1925 1825 M +154 51 V +154 52 V +154 54 V +154 55 V +154 57 V +154 58 V +154 60 V +154 61 V +154 63 V +154 64 V +154 65 V +154 66 V +155 68 V +154 69 V +154 70 V +154 72 V +154 72 V +154 74 V +154 75 V +154 76 V +154 77 V +154 78 V +154 79 V +154 80 V +154 81 V +154 82 V +154 82 V +154 84 V +154 84 V +154 85 V +154 86 V +154 86 V +154 87 V +154 88 V +154 88 V +154 89 V +154 89 V +155 90 V +154 90 V +154 90 V +154 91 V +154 91 V +154 92 V +154 92 V +154 92 V +154 92 V +154 92 V +154 92 V +154 93 V +154 92 V +154 93 V +154 92 V +154 92 V +154 92 V +154 92 V +154 92 V +154 92 V +154 91 V +154 91 V +154 90 V +154 90 V +155 90 V +154 89 V +154 89 V +154 88 V +154 88 V +154 87 V +154 86 V +154 86 V +154 85 V +154 84 V +154 84 V +154 82 V +154 82 V +154 81 V +154 80 V +154 79 V +154 78 V +154 77 V +154 76 V +154 75 V +154 74 V +154 72 V +154 72 V +154 70 V +154 69 V +155 68 V +154 66 V +154 65 V +154 64 V +154 63 V +154 61 V +154 60 V +154 58 V +154 57 V +154 55 V +154 54 V +154 52 V +154 51 V +Gpstroke +1.000 Gpsetlinewidth +LTb +1925 1100 M +15250 0 V +0 9150 V +-15250 0 V +0 -9150 V +1.000 Gpsetpointsize +Gpstroke +grestore +end +showpage +%%%%EOF diff --git a/graf.pdf b/graf.pdf new file mode 100644 index 0000000..849b1c4 Binary files /dev/null and b/graf.pdf differ diff --git a/graf.ps b/graf.ps new file mode 100644 index 0000000..50d7646 --- /dev/null +++ b/graf.ps @@ -0,0 +1,530 @@ +%!PS-Adobe-2.0 +%%Title: graf.ps +%%Creator: gnuplot 4.0 patchlevel 0 +%%CreationDate: Mon Nov 26 13:50:12 2007 +%%DocumentFonts: (atend) +%%BoundingBox: 50 50 554 770 +%%Orientation: Landscape +%%Pages: (atend) +%%EndComments +/gnudict 256 dict def +gnudict begin +/Color false def +/Solid false def +/gnulinewidth 5.000 def +/userlinewidth gnulinewidth def +/vshift -46 def +/dl {10.0 mul} def +/hpt_ 31.5 def +/vpt_ 31.5 def +/hpt hpt_ def +/vpt vpt_ def +/Rounded false def +/M {moveto} bind def +/L {lineto} bind def +/R {rmoveto} bind def +/V {rlineto} bind def +/N {newpath moveto} bind def +/C {setrgbcolor} bind def +/f {rlineto fill} bind def +/vpt2 vpt 2 mul def +/hpt2 hpt 2 mul def +/Lshow { currentpoint stroke M + 0 vshift R show } def +/Rshow { currentpoint stroke M + dup stringwidth pop neg vshift R show } def +/Cshow { currentpoint stroke M + dup stringwidth pop -2 div vshift R show } def +/UP { dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def + /hpt2 hpt 2 mul def /vpt2 vpt 2 mul def } def +/DL { Color {setrgbcolor Solid {pop []} if 0 setdash } + {pop pop pop 0 setgray Solid {pop []} if 0 setdash} ifelse } def +/BL { stroke userlinewidth 2 mul setlinewidth + Rounded { 1 setlinejoin 1 setlinecap } if } def +/AL { stroke userlinewidth 2 div setlinewidth + Rounded { 1 setlinejoin 1 setlinecap } if } def +/UL { dup gnulinewidth mul /userlinewidth exch def + dup 1 lt {pop 1} if 10 mul /udl exch def } def +/PL { stroke userlinewidth setlinewidth + Rounded { 1 setlinejoin 1 setlinecap } if } def +/LTw { PL [] 1 setgray } def +/LTb { BL [] 0 0 0 DL } def +/LTa { AL [1 udl mul 2 udl mul] 0 setdash 0 0 0 setrgbcolor } def +/LT0 { PL [] 1 0 0 DL } def +/LT1 { PL [4 dl 2 dl] 0 1 0 DL } def +/LT2 { PL [2 dl 3 dl] 0 0 1 DL } def +/LT3 { PL [1 dl 1.5 dl] 1 0 1 DL } def +/LT4 { PL [5 dl 2 dl 1 dl 2 dl] 0 1 1 DL } def +/LT5 { PL [4 dl 3 dl 1 dl 3 dl] 1 1 0 DL } def +/LT6 { PL [2 dl 2 dl 2 dl 4 dl] 0 0 0 DL } def +/LT7 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 1 0.3 0 DL } def +/LT8 { PL [2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 2 dl 4 dl] 0.5 0.5 0.5 DL } def +/Pnt { stroke [] 0 setdash + gsave 1 setlinecap M 0 0 V stroke grestore } def +/Dia { stroke [] 0 setdash 2 copy vpt add M + hpt neg vpt neg V hpt vpt neg V + hpt vpt V hpt neg vpt V closepath stroke + Pnt } def +/Pls { stroke [] 0 setdash vpt sub M 0 vpt2 V + currentpoint stroke M + hpt neg vpt neg R hpt2 0 V stroke + } def +/Box { stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M + 0 vpt2 neg V hpt2 0 V 0 vpt2 V + hpt2 neg 0 V closepath stroke + Pnt } def +/Crs { stroke [] 0 setdash exch hpt sub exch vpt add M + hpt2 vpt2 neg V currentpoint stroke M + hpt2 neg 0 R hpt2 vpt2 V stroke } def +/TriU { stroke [] 0 setdash 2 copy vpt 1.12 mul add M + hpt neg vpt -1.62 mul V + hpt 2 mul 0 V + hpt neg vpt 1.62 mul V closepath stroke + Pnt } def +/Star { 2 copy Pls Crs } def +/BoxF { stroke [] 0 setdash exch hpt sub exch vpt add M + 0 vpt2 neg V hpt2 0 V 0 vpt2 V + hpt2 neg 0 V closepath fill } def +/TriUF { stroke [] 0 setdash vpt 1.12 mul add M + hpt neg vpt -1.62 mul V + hpt 2 mul 0 V + hpt neg vpt 1.62 mul V closepath fill } def +/TriD { stroke [] 0 setdash 2 copy vpt 1.12 mul sub M + hpt neg vpt 1.62 mul V + hpt 2 mul 0 V + hpt neg vpt -1.62 mul V closepath stroke + Pnt } def +/TriDF { stroke [] 0 setdash vpt 1.12 mul sub M + hpt neg vpt 1.62 mul V + hpt 2 mul 0 V + hpt neg vpt -1.62 mul V closepath fill} def +/DiaF { stroke [] 0 setdash vpt add M + hpt neg vpt neg V hpt vpt neg V + hpt vpt V hpt neg vpt V closepath fill } def +/Pent { stroke [] 0 setdash 2 copy gsave + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat + closepath stroke grestore Pnt } def +/PentF { stroke [] 0 setdash gsave + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat + closepath fill grestore } def +/Circle { stroke [] 0 setdash 2 copy + hpt 0 360 arc stroke Pnt } def +/CircleF { stroke [] 0 setdash hpt 0 360 arc fill } def +/C0 { BL [] 0 setdash 2 copy moveto vpt 90 450 arc } bind def +/C1 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 90 arc closepath fill + vpt 0 360 arc closepath } bind def +/C2 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 90 180 arc closepath fill + vpt 0 360 arc closepath } bind def +/C3 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 180 arc closepath fill + vpt 0 360 arc closepath } bind def +/C4 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 180 270 arc closepath fill + vpt 0 360 arc closepath } bind def +/C5 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 90 arc + 2 copy moveto + 2 copy vpt 180 270 arc closepath fill + vpt 0 360 arc } bind def +/C6 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 90 270 arc closepath fill + vpt 0 360 arc closepath } bind def +/C7 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 270 arc closepath fill + vpt 0 360 arc closepath } bind def +/C8 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 270 360 arc closepath fill + vpt 0 360 arc closepath } bind def +/C9 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 270 450 arc closepath fill + vpt 0 360 arc closepath } bind def +/C10 { BL [] 0 setdash 2 copy 2 copy moveto vpt 270 360 arc closepath fill + 2 copy moveto + 2 copy vpt 90 180 arc closepath fill + vpt 0 360 arc closepath } bind def +/C11 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 180 arc closepath fill + 2 copy moveto + 2 copy vpt 270 360 arc closepath fill + vpt 0 360 arc closepath } bind def +/C12 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 180 360 arc closepath fill + vpt 0 360 arc closepath } bind def +/C13 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 0 90 arc closepath fill + 2 copy moveto + 2 copy vpt 180 360 arc closepath fill + vpt 0 360 arc closepath } bind def +/C14 { BL [] 0 setdash 2 copy moveto + 2 copy vpt 90 360 arc closepath fill + vpt 0 360 arc } bind def +/C15 { BL [] 0 setdash 2 copy vpt 0 360 arc closepath fill + vpt 0 360 arc closepath } bind def +/Rec { newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto + neg 0 rlineto closepath } bind def +/Square { dup Rec } bind def +/Bsquare { vpt sub exch vpt sub exch vpt2 Square } bind def +/S0 { BL [] 0 setdash 2 copy moveto 0 vpt rlineto BL Bsquare } bind def +/S1 { BL [] 0 setdash 2 copy vpt Square fill Bsquare } bind def +/S2 { BL [] 0 setdash 2 copy exch vpt sub exch vpt Square fill Bsquare } bind def +/S3 { BL [] 0 setdash 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare } bind def +/S4 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt Square fill Bsquare } bind def +/S5 { BL [] 0 setdash 2 copy 2 copy vpt Square fill + exch vpt sub exch vpt sub vpt Square fill Bsquare } bind def +/S6 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill Bsquare } bind def +/S7 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill + 2 copy vpt Square fill + Bsquare } bind def +/S8 { BL [] 0 setdash 2 copy vpt sub vpt Square fill Bsquare } bind def +/S9 { BL [] 0 setdash 2 copy vpt sub vpt vpt2 Rec fill Bsquare } bind def +/S10 { BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt Square fill + Bsquare } bind def +/S11 { BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt2 vpt Rec fill + Bsquare } bind def +/S12 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill Bsquare } bind def +/S13 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill + 2 copy vpt Square fill Bsquare } bind def +/S14 { BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill + 2 copy exch vpt sub exch vpt Square fill Bsquare } bind def +/S15 { BL [] 0 setdash 2 copy Bsquare fill Bsquare } bind def +/D0 { gsave translate 45 rotate 0 0 S0 stroke grestore } bind def +/D1 { gsave translate 45 rotate 0 0 S1 stroke grestore } bind def +/D2 { gsave translate 45 rotate 0 0 S2 stroke grestore } bind def +/D3 { gsave translate 45 rotate 0 0 S3 stroke grestore } bind def +/D4 { gsave translate 45 rotate 0 0 S4 stroke grestore } bind def +/D5 { gsave translate 45 rotate 0 0 S5 stroke grestore } bind def +/D6 { gsave translate 45 rotate 0 0 S6 stroke grestore } bind def +/D7 { gsave translate 45 rotate 0 0 S7 stroke grestore } bind def +/D8 { gsave translate 45 rotate 0 0 S8 stroke grestore } bind def +/D9 { gsave translate 45 rotate 0 0 S9 stroke grestore } bind def +/D10 { gsave translate 45 rotate 0 0 S10 stroke grestore } bind def +/D11 { gsave translate 45 rotate 0 0 S11 stroke grestore } bind def +/D12 { gsave translate 45 rotate 0 0 S12 stroke grestore } bind def +/D13 { gsave translate 45 rotate 0 0 S13 stroke grestore } bind def +/D14 { gsave translate 45 rotate 0 0 S14 stroke grestore } bind def +/D15 { gsave translate 45 rotate 0 0 S15 stroke grestore } bind def +/DiaE { stroke [] 0 setdash vpt add M + hpt neg vpt neg V hpt vpt neg V + hpt vpt V hpt neg vpt V closepath stroke } def +/BoxE { stroke [] 0 setdash exch hpt sub exch vpt add M + 0 vpt2 neg V hpt2 0 V 0 vpt2 V + hpt2 neg 0 V closepath stroke } def +/TriUE { stroke [] 0 setdash vpt 1.12 mul add M + hpt neg vpt -1.62 mul V + hpt 2 mul 0 V + hpt neg vpt 1.62 mul V closepath stroke } def +/TriDE { stroke [] 0 setdash vpt 1.12 mul sub M + hpt neg vpt 1.62 mul V + hpt 2 mul 0 V + hpt neg vpt -1.62 mul V closepath stroke } def +/PentE { stroke [] 0 setdash gsave + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat + closepath stroke grestore } def +/CircE { stroke [] 0 setdash + hpt 0 360 arc stroke } def +/Opaque { gsave closepath 1 setgray fill grestore 0 setgray closepath } def +/DiaW { stroke [] 0 setdash vpt add M + hpt neg vpt neg V hpt vpt neg V + hpt vpt V hpt neg vpt V Opaque stroke } def +/BoxW { stroke [] 0 setdash exch hpt sub exch vpt add M + 0 vpt2 neg V hpt2 0 V 0 vpt2 V + hpt2 neg 0 V Opaque stroke } def +/TriUW { stroke [] 0 setdash vpt 1.12 mul add M + hpt neg vpt -1.62 mul V + hpt 2 mul 0 V + hpt neg vpt 1.62 mul V Opaque stroke } def +/TriDW { stroke [] 0 setdash vpt 1.12 mul sub M + hpt neg vpt 1.62 mul V + hpt 2 mul 0 V + hpt neg vpt -1.62 mul V Opaque stroke } def +/PentW { stroke [] 0 setdash gsave + translate 0 hpt M 4 {72 rotate 0 hpt L} repeat + Opaque stroke grestore } def +/CircW { stroke [] 0 setdash + hpt 0 360 arc Opaque stroke } def +/BoxFill { gsave Rec 1 setgray fill grestore } def +/BoxColFill { + gsave Rec + /Fillden exch def + currentrgbcolor + /ColB exch def /ColG exch def /ColR exch def + /ColR ColR Fillden mul Fillden sub 1 add def + /ColG ColG Fillden mul Fillden sub 1 add def + /ColB ColB Fillden mul Fillden sub 1 add def + ColR ColG ColB setrgbcolor + fill grestore } def +% +% PostScript Level 1 Pattern Fill routine +% Usage: x y w h s a XX PatternFill +% x,y = lower left corner of box to be filled +% w,h = width and height of box +% a = angle in degrees between lines and x-axis +% XX = 0/1 for no/yes cross-hatch +% +/PatternFill { gsave /PFa [ 9 2 roll ] def + PFa 0 get PFa 2 get 2 div add PFa 1 get PFa 3 get 2 div add translate + PFa 2 get -2 div PFa 3 get -2 div PFa 2 get PFa 3 get Rec + gsave 1 setgray fill grestore clip + currentlinewidth 0.5 mul setlinewidth + /PFs PFa 2 get dup mul PFa 3 get dup mul add sqrt def + 0 0 M PFa 5 get rotate PFs -2 div dup translate + 0 1 PFs PFa 4 get div 1 add floor cvi + { PFa 4 get mul 0 M 0 PFs V } for + 0 PFa 6 get ne { + 0 1 PFs PFa 4 get div 1 add floor cvi + { PFa 4 get mul 0 2 1 roll M PFs 0 V } for + } if + stroke grestore } def +% +/Symbol-Oblique /Symbol findfont [1 0 .167 1 0 0] makefont +dup length dict begin {1 index /FID eq {pop pop} {def} ifelse} forall +currentdict end definefont pop +end +%%EndProlog +%%Page: 1 1 +gnudict begin +gsave +50 50 translate +0.100 0.100 scale +90 rotate +0 -5040 translate +0 setgray +newpath +(Palatino) findfont 140 scalefont setfont +1.000 UL +LTb +574 280 M +63 0 V +6325 0 R +-63 0 V +490 280 M +gsave 0 setgray +(-1) Rshow +grestore +1.000 UL +LTb +574 1428 M +63 0 V +6325 0 R +-63 0 V +-6409 0 R +gsave 0 setgray +(-0.5) Rshow +grestore +1.000 UL +LTb +574 2576 M +63 0 V +6325 0 R +-63 0 V +-6409 0 R +gsave 0 setgray +( 0) Rshow +grestore +1.000 UL +LTb +574 3724 M +63 0 V +6325 0 R +-63 0 V +-6409 0 R +gsave 0 setgray +( 0.5) Rshow +grestore +1.000 UL +LTb +574 4872 M +63 0 V +6325 0 R +-63 0 V +-6409 0 R +gsave 0 setgray +( 1) Rshow +grestore +1.000 UL +LTb +574 280 M +0 63 V +0 4529 R +0 -63 V +574 140 M +gsave 0 setgray +(-1) Cshow +grestore +1.000 UL +LTb +2171 280 M +0 63 V +0 4529 R +0 -63 V +0 -4669 R +gsave 0 setgray +(-0.5) Cshow +grestore +1.000 UL +LTb +3768 280 M +0 63 V +0 4529 R +0 -63 V +0 -4669 R +gsave 0 setgray +( 0) Cshow +grestore +1.000 UL +LTb +5365 280 M +0 63 V +0 4529 R +0 -63 V +0 -4669 R +gsave 0 setgray +( 0.5) Cshow +grestore +1.000 UL +LTb +6962 280 M +0 63 V +0 4529 R +0 -63 V +0 -4669 R +gsave 0 setgray +( 1) Cshow +grestore +1.000 UL +LTb +1.000 UL +LTb +574 280 M +6388 0 V +0 4592 V +-6388 0 V +574 280 L +1.000 UP +1.000 UL +LT0 +LTb +6311 4739 M +gsave 0 setgray +(sin\(x\)) Rshow +grestore +LT0 +6395 4739 M +399 0 V +574 644 M +65 25 V +64 27 V +65 27 V +64 27 V +65 29 V +64 29 V +65 30 V +64 31 V +65 31 V +64 32 V +65 33 V +64 33 V +65 34 V +64 35 V +65 35 V +64 36 V +65 37 V +64 37 V +65 37 V +65 38 V +64 39 V +65 39 V +64 40 V +65 40 V +64 40 V +65 41 V +64 42 V +65 42 V +64 42 V +65 43 V +64 43 V +65 43 V +64 44 V +65 44 V +64 44 V +65 45 V +64 44 V +65 45 V +64 46 V +65 45 V +65 46 V +64 45 V +65 46 V +64 46 V +65 47 V +64 46 V +65 46 V +64 46 V +65 47 V +64 46 V +65 47 V +64 46 V +65 46 V +64 46 V +65 47 V +64 46 V +65 46 V +64 45 V +65 46 V +65 45 V +64 46 V +65 45 V +64 44 V +65 45 V +64 44 V +65 44 V +64 44 V +65 43 V +64 43 V +65 43 V +64 42 V +65 42 V +64 42 V +65 41 V +64 40 V +65 40 V +64 40 V +65 39 V +64 39 V +65 38 V +65 37 V +64 37 V +65 37 V +64 36 V +65 35 V +64 35 V +65 34 V +64 33 V +65 33 V +64 32 V +65 31 V +64 31 V +65 30 V +64 29 V +65 29 V +64 27 V +65 27 V +64 27 V +65 25 V +1.000 UL +LTb +574 280 M +6388 0 V +0 4592 V +-6388 0 V +574 280 L +1.000 UP +stroke +grestore +end +showpage +%%Trailer +%%DocumentFonts: Palatino +%%Pages: 1 diff --git a/presentasjon.pdf b/presentasjon.pdf new file mode 100644 index 0000000..36436b8 Binary files /dev/null and b/presentasjon.pdf differ diff --git a/presentasjon.tex b/presentasjon.tex new file mode 100644 index 0000000..8253111 --- /dev/null +++ b/presentasjon.tex @@ -0,0 +1,487 @@ +\documentclass{beamer} + +\usepackage{listings} +\usepackage[utf8]{inputenc} +\usepackage[T1]{fontenc} +\usepackage[norsk]{babel} +\usepackage{verbatim} +\usepackage{palatino} +\usepackage{mathpazo} + +\usetheme{guru} + +\setbeamercolor{item projected}{fg=black} + +\newcommand\mrm\mathrm + +\begin{document} + +\title{Overlevelseskurs i \\ \LaTeX{}} +\author{Kjetil Ørbekk} +\date{PVV,\\9. oktober 2008} + +\frame{\titlepage} + +\frame{ + \frametitle{Innhold} + \tableofcontents +} + +\section{Litt historie} +\subsection{\TeX{}} +\subsection{\LaTeX{}} + +\section{Bruk av \LaTeX{}} +\subsection{Hello, World!} +\subsection{Syntaks} +\subsection{Eksempler} +\subsection{Bygging} + +\begin{frame} + \frametitle{Litt om \TeX{}} + + \begin{itemize} + \item Laget av Donald Ervin Knuth for å sette TAOCP-bøkene + \item \textsf{MetaFont} v. 2.71828 + \item \TeX{} v. 3.141592 + \item Skrev også «Computers and Typesetting,» fem bind om digital typografi + \item \$2.56, en «heksadesimal dollar» for å finne feil i bøkene + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Hva er \LaTeX{}?} + + \begin{itemize} + \item Laget av Leslie Lamport + \item Enorm makropakker på toppen av \TeX{} + \item Vekt på struktur i stedet for WYSIWYG + \item Produserer dokumenter av profesjonell kvalitet + + \end{itemize} + + Forskjeller fra \TeX{} + + \begin{itemize} + \item Fokus på brukervennlighet (alt er relativt) + \item \LaTeX{} tar seg av typesetting, mens brukeren tar seg av + innhold + \end{itemize} + +\end{frame} + +\begin{frame} + \frametitle{Hva er \emph{ikke} \LaTeX{}?} + + \begin{itemize} + \item Det er ikke veldig enkelt å sette seg inn i, men lettere en + \TeX + \item Det er ikke en måte å gjøre noe kjapt og «greit nok» + \item Ganske vanskelig å tilpasse akkurat slik du vil, layout-messig + \end{itemize} + +\end{frame} + +\begin{frame}[fragile] + \frametitle{Hello, World!} + +\begin{verbatim} +\documentclass{article} +% Preamble +\begin{document} + +% Linjer som begynner med '%' er kommentarer. + +Hello, World! + +\end{document} +\end{verbatim} + +\end{frame} + +\begin{frame}[fragile] + \frametitle{Syntaks} + + \textbf{\large Kommandoer} + + \begin{description} + \item[\textrm{Uten argumenter}:] \verb|\tableofcontents| + \item[\textrm{Obligatoriske argumenter}:] \verb|\title{En fin tittel}| + \item[\textrm{Valgfrie argumenter}:] \verb|\item[Beskrivelse]| + \item[\textrm{Begge deler}:] \verb|\bibitem[foo]{Presentasjon}| + \end{description} + + \textbf{\large Environments} + +\begin{verbatim} +\begin{environment} + ... +\end{environment} +\end{verbatim} + +\end{frame} + + +\begin{frame}[fragile] + \frametitle{Forsider} + + I preamble: + + \begin{itemize} + \item \verb|\author{Donald E. Knuth}| + \item \verb|\title{Computers and Typesetting}| + \item \verb|\date{\today}| + \end{itemize} + + I dokumentet: + + \begin{itemize} + \item \verb|\maketitle| (for å lage en tittel) + \item \verb|\tableofcontents| (for å sette inn innholdsfortegnelse) + \end{itemize} + +\end{frame} + + +\begin{frame}[fragile] + \frametitle{Preamble-triks} + +%Alt før \verb|\begin{document}| kalles \emph{preamble}. Definerer +%stiler, layout o.l. + +\begin{verbatim} +\documentclass[a4paper,11pt]{article} + +\usepackage[T1]{fontenc} % Font-enkoding +\usepackage[utf8]{inputenc} % Input-enkoding +\usepackage[norsk]{babel} % Norsk «oppsett» +\usepackage{charter} % Skifte font + +\usepackage{hyperref} + +\begin{document} +\end{document} +\end{verbatim} + +\end{frame} + +\begin{frame}[fragile] + \frametitle{Hello, World (avansert)!} + + \begin{center} + {\Large demo01.tex} + \end{center} + +\end{frame} + + +\begin{frame}[fragile] + \frametitle{Lister} + + Lister er eksempel på \emph{environments}. De begynner alltid med + \verb|\begin{x}|, og slutter med \verb|\end{x}|. Tre typer lister: + + \begin{itemize} + \item \textbf{itemize}, for punktlister + \begin{itemize} + \item \ldots + \item \ldots + \end{itemize} + \item \textbf{enumerate}, nummererte lister + \begin{enumerate} + \item \ldots + \item \ldots + \end{enumerate} + \item \textbf{description}, for beskrivelse på punktene + + \begin{description} + \item[\textbf{Description}] Brukes gjerne om litt større ting, bare vent til denne linja wrapper! + \item[\textbf{Nytt punkt}] \ldots + \item[\textbf{\ldots}] + \end{description} + + \end{itemize} + \verb|\item| er kommandoen for et punkt. Fungerer kun inni en liste. + +\end{frame} + +\begin{frame}[fragile] + \frametitle{Struktur} + En artikkel deles opp i: + \begin{itemize} + \item \verb|\section| + \item \verb|\subsection| + \item \verb|\subsubsection| + \item \verb|\paragraph| + \item \verb|\subparagraph| + \end{itemize} + +\end{frame} + +\begin{frame}[fragile] + \frametitle{Struktur} + + \begin{center} + {\Large demo02.tex} + \end{center} + +\end{frame} + + +\begin{frame}[fragile] + \frametitle{Figurer} + + \begin{figure} + \centering + \includegraphics[width=0.5\textwidth]{graf} + \caption{Graf} + \label{fig:graf} + \end{figure} + +\vspace{-4em} +\begin{verbatim} +\begin{figure} + \centering + \includegraphics[width=0.4\textwidth]{graf} + \caption{Graf} + \label{fig:graf} +\end{figure} +\end{verbatim} + +\end{frame} + +\begin{frame}[fragile] + \frametitle{Figurer} + + \begin{quote} + «Hva bør jeg bruke for at bildene ikke skal havne på dragvoll + når jeg helst ville hatt dem på gløs da, figuratively speaking» + --- frustrert \LaTeX{}-bruker + \end{quote} +\end{frame} + + + +\begin{frame}[fragile] + \frametitle{Tabeller} + + \begin{table} + \centering + \caption{Noen verdier av $\sin x$} + \begin{tabular}{l|l} + $x$ & $\sin{x}$ \\ + \hline + 0 & 0 \\ + $\pi/2$ & 1 \\ + \end{tabular} + \end{table} + + +\begin{verbatim} +\begin{table} + \centering + \caption{Noen verdier av $\sin x$} + \begin{tabular}{l|l} + $x$ & $\sin x$ \\ + \hline + 0 & 0 \\ + $\pi$ & 1 \\ + \end{tabular} +\end{table} +\end{verbatim} + +\end{frame} + +\begin{frame}[fragile] + \frametitle{Matematikk} + + Vi bruker \verb|$| for å skrive ting i mattemodus. F.eks: + \verb|$ 1 + 1 = 2 $| blir $1 + 1 = 2$. \pause Med doble + (\verb|$$|) dollartegn, blir det stående for seg selv: + \verb|$$\sum_{n=1}^{\infty} \frac{1}{n^s}$$| blir til + + $$\sum_{n=1}^{\infty}\frac{1}{n^s}.$$ + + \pause + + Det finnes flere måter å gjøre dette på, f.eks med: \emph{eqnarray} + for å aligne flere linjer, \emph{equation} for nummerering av + ligning o.l. Her er et eksempel på en \emph{eqnarray*}: + + \begin{eqnarray*} + \sum_{n=1}^{\infty}\frac{1}{n^s} &=& \prod_{\text{$p$ prime}} \frac{1}{1-p^{-s}} \\ + &=& \left(1 + \frac{1}{2^s} + \frac{1}{4^s} + \cdots \right) \cdots + \left(1 + \frac{1}{p^s} + \frac{1}{p^{2s}} + \cdots \right) + \end{eqnarray*} + +\end{frame} + +\begin{frame}[fragile] + \frametitle{Matematikk} + \begin{centering} + \scriptsize{\verb|$$\int_0^{\pi/2}\frac{\mathrm{d}x}{a + b \sin x} = ...$$|} + \end{centering} + + $$ + \int_0^{\pi/2}\frac{\mrm{d}x}{a + b \sin x} = + \begin{cases} + \frac{1}{\sqrt{a^2 - b^2}}\arccos \frac{b}{a}, & a > \left|b\right| \\ + \frac{1}{\sqrt{b^2 - a^2}}\log \left|\frac{b + \sqrt{b^2-a^2}}{a}\right|, + & \left|b\right| > \left|a\right| > \left|0\right| \\ + \end{cases} + $$ + + Vanlige matematiske funksjoner har egne kommandoer: + + \begin{itemize} + \item \verb|\sin x| $\quad \rightarrow \quad \sin x$ + \item \verb|\log x| $\quad \rightarrow \quad \log x$ + \end{itemize} + +\end{frame} + +\begin{frame} + \frametitle{Listing av kode} + \begin{itemize} + \item \texttt{Verbatim} «fungerer» + \item \textbf{listings}-pakka er laget for formålet + \end{itemize} +\end{frame} + +\begin{frame}[fragile] + \frametitle{Listing av kode} + +\begin{minipage}[c]{0.20\linewidth} +\begin{scriptsize} +\begin{verbatim} +class Fixnum + def fib + if self == 0 or + self == 1 + 1 + else + (self-1).fib + + (self-2).fib + end + end +end +\end{verbatim} +\end{scriptsize} +\end{minipage}\hfill +\begin{minipage}[c]{0.5\linewidth} +\begin{lstlisting}[language=Ruby,basicstyle=\scriptsize] +class Fixnum + def fib + if self == 0 or + self == 1 + 1 + else + (self-1).fib + + (self-2).fib + end + end +end +\end{lstlisting} +\end{minipage} + +\bigskip {\scriptsize +$>$ \lstinline[language=Ruby]{[3.fib, 4.fib, 5.fib]} $\Rightarrow$ \verb@[3, 5, 8]@} + +\end{frame} + + +\begin{frame}[fragile] + \frametitle{Referanser} + + Det finnes to måter å gjøre det på. + + \begin{itemize} + \item Manuelt + \item Bib\TeX{} + \end{itemize} + +\end{frame} + + +\begin{frame}[fragile] + \frametitle{Bib\TeX{}} + + \begin{center} + {\Large demo03.tex} + \end{center} + +\end{frame} + + +\begin{frame}[fragile] +\frametitle{Bygge \LaTeX{}-filer} +\begin{itemize} +\item <+-> Kjør \texttt{pdflatex dokument.tex}. + +\item <+-> Hvis du har innholdsfortegnelse og kryssreferanser, kjør + \emph{to ganger}. + +\item <+-> Hvis du har Bib\TeX{}-referanser, kjør: + \begin{itemize} + \item<+-> \texttt{pdflatex dokument} + \item<+-> \texttt{bibtex~~~dokument} + \item<+-> \texttt{pdflatex dokument} + \item<+-> \texttt{pdflatex dokument} + \end{itemize} + +\item<+-> ...eller lag en Makefile. +\item<+-> ...eller stol på at IDE'et ditt fikser det. + +\end{itemize} + +\end{frame} + +\begin{frame}[fragile] +\frametitle{Makefile} + + \begin{center} + {\Large Makefile} + \end{center} + +\end{frame} + +\begin{frame}[fragile] +\frametitle{Utviklingsmiljøer} + +\begin{itemize} + +\item Generisk editor + makefiles + versjonskontroll +\item AUC\TeX{} på Emacs +\item \TeX{}niccenter (\texttt{http://www.toolscenter.org/}) på Windows +\item \TeX{}maker (\texttt{http://www.xm1math.net/texmaker/}), kryssplattform + +\end{itemize} + +\end{frame} + + +\begin{frame}[fragile] +\frametitle{Ressurser} + +\begin{itemize} + \item \texttt{\$ info latex} på UNIX -- god referanse. + \item «The Not So Short Introduction to \LaTeXe{}» + \texttt{http://tobi.oetiker.ch/lshort/lshort.pdf} + \item Wikiboka om \LaTeX{} + \texttt{http://en.wikibooks.org/wiki/LaTeX} + \item Denne presentasjonen (kommer link på pvv-wikien) + \texttt{http://www.pvv.ntnu.no/$\sim$orbekk/latex.tar.bz2} +\end{itemize} + +\end{frame} + +\begin{frame} +\frametitle{\null} + +\begin{center} +{\Huge Spørsmål?} +\end{center} + +\end{frame} + +\end{document}