diff options
Diffstat (limited to 'Master/texmf-dist/doc/latex/asy-overview/src/chapter1/chapter1.tex')
-rw-r--r-- | Master/texmf-dist/doc/latex/asy-overview/src/chapter1/chapter1.tex | 142 |
1 files changed, 142 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/latex/asy-overview/src/chapter1/chapter1.tex b/Master/texmf-dist/doc/latex/asy-overview/src/chapter1/chapter1.tex new file mode 100644 index 00000000000..40c4ecb1be9 --- /dev/null +++ b/Master/texmf-dist/doc/latex/asy-overview/src/chapter1/chapter1.tex @@ -0,0 +1,142 @@ +% Chapter 1 from Asymptote tutorial Jim Hefferon +\chapter{A first graphic} +Making an \Asy{} input file is like making a \LaTeX{} input file, +so you already have a feel for the basics. +To start, +in your favorite editor open an \Asy{} input file \path{asy/unit_circle.asy}. +\begin{minted}{Bash} +jim@millstone:~/Documents/asy_tut/src$ cd asy +jim@millstone:~/Documents/asy_tut/src/asy$ emacs unit_circle.asy +\end{minted} +Type this text into the file and save it, or +copy it from this document's online source. +\begin{center} + \inputminted{Asymptote}{chapter1/asy/unit_circle.asy} +\end{center} +Get the output file \path{unit_circle.pdf} by running \Asy{} on the source. +\begin{minted}{Bash} +jim@millstone:~/Documents/asy_tut/src/asy$ asy unit_circle +\end{minted} +%$ Make auctex recognize end of "math" +You can see the result in any PDF viewer. +\begin{center} + \includegraphics{chapter1/asy/unit_circle.pdf} +\end{center} + + + + +\section{What do we have here?} +The input \path{unit_circle.asy} illustrates a number of things. +Globally, it shows that you must declare variables such as line~12's +\mintinline{Asymptote}{theta}, that +commands end with a semicolon, +and that comments are preceded by a double slash, +\mintinline{Asymptote}{//}. + +Locally, line 2's \mintinline{Asymptote}{settings.outformat} +variable fixes the format of output files to PDF so we needn't remember +each time to do that from the command line. +Line~4's \mintinline{Asymptote}{import} +is like a \LaTeX{} \mintinline{TeX}{\usepackage{...}} in that +it gives us access to a module, a collection of related commands and data. +In this case it +gives us commands to make plots. +In this drawing we only use its axis-making commands +but the second chapter has more about plots. + +In line~6 the \mintinline{Asymptote}{unitsize(1.5cm)} command means that +if we describe a point $(x,y)$ then \Asy{} will interpret it as the +location $x\cdot 1.5\text{\,cm}$ and $y\cdot 1.5\text{\,cm}$ from the origin. + +Line~9 is self-explanatory. +Lines~12 through~15 draw the line segment from the origin to the +point labeled $(\cos\theta,\sin\theta)$. +(On line~15, in addition to drawing the dot, \Asy{} labels it and +the \mintinline{Asymptote}{E} puts that label east of the dot.) +% Note that if after seeing the drawing we decide to adjust the angle +% then we just need to change one number, on line~12. + +Finally, lines 18 and~19 draw the axes. +These commands have many options, most of which we did not use here, +and we will see more of them later. + +One more thing. +\Asy{} gets the point label $(\cos\theta,\sin\theta)$ and the axis labels +by putting the given strings in a small file, +running \LaTeX{} on it, and then extracting the result back into the +output graphic. +So your labels have access to all of \LaTeX's capabilities. + + + + + +\section{Adjustments} +After you get a graphic draft there are always some tweaks. + +First, here the axis labels are too big. +We will replace \mintinline{Asymptote}{"$x$"} +with \mintinline{Asymptote}{"\scriptsize $x$"}. +(We could instead omit the label by deleting the entire +string and the comma after it, +which illustrates that commands +such as \mintinline{Asymptote}{"xaxis(..)"} +can have a variable number of arguments. +While you are working you may want to have open the \Asy{} reference +for a list of the options.) + +Second, the dot showing the generic point on the unit circle is too big. +In the revised source below we've adjusted the size by inserting +\mintinline{Asymptote}{dotfactor = 4} in line~23 +(the default factor is $6$). + +Finally, the $(\cos\theta,\sin\theta)$ label is in a different font than +the other mathematics in this overview. +We want that \Asy, when making the small \LaTeX{} document to create the +in-graphic text, +will use the same font setup as the main \path{.tex} file. +So below we added a +\mintinline{Asymptote}{texpreamble("..")};~the +string is long so for readability we've spread it across multiple lines. +\begin{center} + \inputminted{Asymptote}{chapter1/asy/unit_circle_after.asy} +\end{center} +\begin{center} + \includegraphics{chapter1/asy/unit_circle_after.pdf} +\end{center} + + + +\section{Include the graphic in a \LaTeX{} file} +Open a new \LaTeX{} file \path{main.tex}. +\begin{minted}{Bash} +jim@millstone:~/Documents/asy_tut/src$ emacs main.tex +\end{minted} +Enter this text +or copy it from this document's source. +\begin{center} + \inputminted{TeX}{chapter1/main.tex} +\end{center} +This document shows two ways to include the graphic. +Line~11 is straightforward because +after you've iterated through some adjustments to the figure then you +use \LaTeX's standard \mintinline{TeX}{\includegraphics{..}}. +The other way, commented out, +uses the \mintinline{TeX}{asymptote} \LaTeX{} package +to include the \Asy{} source file with +\mintinline{TeX}{\asyinclude{..}}. +In this approach, getting the graphic is a three step process, where +you run ``\mintinline{Bash}{pdflatex main}'' (of course +you can instead use ``\mintinline{Bash}{xelatex main}'' or +``\mintinline{Bash}{lualatex main}''), then you go into +the \path{asy/} subdirectory and run +``\mintinline{Bash}{asy <latex-filename>-1}'' +(here, ``\mintinline{Bash}{asy main-1}''), then go back to the +\LaTeX{} file's directory and run ``\mintinline{Bash}{pdflatex main}'' once more. +In either case here is the one-page output. +\begin{center} + \framebox{\includegraphics[page=1,scale=0.325,trim=0.25in 5.9in 0.25in 0.25in]{chapter1/main.pdf}} +\end{center} + + |