diff options
Diffstat (limited to 'info/lshort/persian')
-rw-r--r-- | info/lshort/persian/README | 17 | ||||
-rw-r--r-- | info/lshort/persian/appendix.tex | 148 | ||||
-rw-r--r-- | info/lshort/persian/biblio.tex | 105 | ||||
-rw-r--r-- | info/lshort/persian/contrib.tex | 155 | ||||
-rw-r--r-- | info/lshort/persian/custom.tex | 835 | ||||
-rw-r--r-- | info/lshort/persian/graphic.tex | 768 | ||||
-rw-r--r-- | info/lshort/persian/lshort-a5.tex | 10 | ||||
-rw-r--r-- | info/lshort/persian/lshort-base.tex | 98 | ||||
-rw-r--r-- | info/lshort/persian/lshort.pdf | bin | 0 -> 788559 bytes | |||
-rw-r--r-- | info/lshort/persian/lshort.sty | 376 | ||||
-rw-r--r-- | info/lshort/persian/lshort.tex | 9 | ||||
-rw-r--r-- | info/lshort/persian/lssym.tex | 377 | ||||
-rw-r--r-- | info/lshort/persian/math.tex | 776 | ||||
-rw-r--r-- | info/lshort/persian/mylayout.sty | 358 | ||||
-rw-r--r-- | info/lshort/persian/overview.tex | 101 | ||||
-rw-r--r-- | info/lshort/persian/preface.tex | 77 | ||||
-rw-r--r-- | info/lshort/persian/spec.tex | 782 | ||||
-rw-r--r-- | info/lshort/persian/things.tex | 645 | ||||
-rw-r--r-- | info/lshort/persian/title.tex | 82 | ||||
-rw-r--r-- | info/lshort/persian/transpreface.tex | 16 | ||||
-rw-r--r-- | info/lshort/persian/typeset.tex | 1152 |
21 files changed, 6887 insertions, 0 deletions
diff --git a/info/lshort/persian/README b/info/lshort/persian/README new file mode 100644 index 0000000000..7019caff71 --- /dev/null +++ b/info/lshort/persian/README @@ -0,0 +1,17 @@ + Persian Translation of "The not so Short Introduction to LaTeX, Ver 5.01" +------------------------------------------------------------------------ + by Mehdi Omidali <mehdioa@gmail.com> + + This document is free; you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This document has been prepared with xelatex. You need to change + fonts to available fonts on your system. + + Changes July 2013 + Updated to lshort version 5.01 compatible with the xepersian v12.8 and bidi v13.5. + + Changes Aug. 4 2009 + Hyperref links and PDF bookmarks are now working properly.
\ No newline at end of file diff --git a/info/lshort/persian/appendix.tex b/info/lshort/persian/appendix.tex new file mode 100644 index 0000000000..b91879ae10 --- /dev/null +++ b/info/lshort/persian/appendix.tex @@ -0,0 +1,148 @@ +\appendix +\chapter{نصب لاتک} +\begin{intro} +Knuth published the source to \TeX{} back in a time when nobody knew +about OpenSource and/or Free Software. The License that comes with \TeX{} +lets you do whatever you want with the source, but you can only call the +result of your work \TeX{} if the program passes a set of tests Knuth has +also provided. This has lead to a situation where we have free \TeX{} +implementations for almost every Operating System under the Sun. In this chapter +you will give some hints on what to install on Linux, Mac OS X and Windows to +get \TeX{} working. +\end{intro} + +\section{What to Install} + +For using LaTeX on any computer system, you need several programs. + +\begin{enumerate} + +\item The \TeX{}/\LaTeX{} program for processing your \LaTeX{} source files +into typeset PDF or DVI documents. + +\item A text editor for editing your LaTeX source files. Some products even let +you start the latex program from within the editor. + +\item A PDF/DVI viewer program for previewing and printing your +documents. + +\item A program to handle \PSi{} files and images for inclusion into +your documents. + +\end{enumerate} + +For all platforms there are many programs that fit the requirements above. +Here we just tell about the ones we know, like and have some experience +with. + +\section{\TeX{} on Mac OS X} + +\subsection{Get a \TeX{} Distribution} + +Just download \wi{MacTeX}. It is a +pre-compiled LaTeX distribution for OS X. \wi{MacTeX} provides a full LaTeX +installation plus a number of additional tools. Get MaxTeX from +\url{http://www.tug.org/mactex/}. + +If you are already using Macports or Fink for installing Unix software under +OS X, install LaTeX using these package managers. Macport users install +LaTeX with \framebox{\texttt{port install texlive}}, +Fink users use the command \framebox{\texttt{fink install texlive}}. + +\subsection{Picking an Editor} + +The most popular open source editor for \LaTeX{} on the mac seems to be +\TeX{}shop. Get a copy from \url{http://www.uoregon.edu/~koch/texshop}. It +is also contained in the \wi{MacTeX} distribution. + +Another fine editor is Texmaker. Apart from being a useful editor it has the +advantage of running on Windows, Mac and Unix/Linux equally well. Go to +\url{http://www.xm1math.net/texmaker} for further Information. Note there is +also a forked version of Texmaker called TexmakerX on +\url{http://texmakerx.sourceforge.net/} it promises additional functionality. + +Recent \TeX Live distributions contain the \TeX{}works editor +\url{http://texworks.org/} which is a multi-platform editor based on the \TeX{}Shop +design. Since \TeX{}works uses the Qt toolkit, it is available on any platform +supported by this toolkit (MacOS X, Windows, Linux.) + +\subsection{Treat yourself to \wi{PDFView}} + +Use PDFView for viewing PDF files generated by LaTeX, it integrates tightly +with your LaTeX text editor. PDFView is an open-source application can be +downloaded from the PDFView website on\\ +\url{http://pdfview.sourceforge.net/}. Download and install PDFView. Open +PDFViews preferences dialog and make sure that the \emph{automatically reload +documents} option is enabled and that PDFSync support is set to the TextMate +preset. + +\section{\TeX{} on Windows} + +\subsection{Getting \TeX{}} + +First, get a copy of the excellent MiK\TeX\index{MiKTeX@MiK\TeX} distribution from\\ +\url{http://www.miktex.org/}. It contains all the basic programs and files +required to compile \LaTeX{} documents. The coolest feature in my eyes, is +that MiKTeX will download missing \LaTeX{} packages on the fly and install them +magically while compiling a document. Alternatively you can also use +the TeXlive distribution which exists for Windows, Unix and Mac OS to +get your base setup going \url{http://www.tug.org/texlive/}. + +\subsection{A \LaTeX{} editor} + +\LaTeX{} is a programming language for text documents. \wi{TeXnicCenter} +uses many concepts from the programming-world to provide a nice and +efficient \LaTeX{} writing environment in Windows. Get your copy from\\ +\url{http://http://www.texniccenter.org/}. TeXnicCenter integrates nicely with +MiKTeX. Version 2.0 of TeXnicCenter will support Unicode, the recent alpha version +seems to be quite stable. + +Other excellent choice is the editor provided by the LEd project available +on \url{http://www.latexeditor.org}. + +See the note on Texmaker in the Mac section above for a third choice. + +Recent \TeX Live distributions contain the \TeX{}works Editor +\url{http://texworks.org/}. It supports Unicode and requires at least Windows XP. + +\subsection{Document Preview} + +You will most likely be using Yap for DVI preview as it gets installed with +MikTeX. For PDF you may want to look at Sumatra +PDF \url{http://blog.kowalczyk.info/software/sumatrapdf/}. I mention Sumatra PDF +because it lets you jump from any position in the pdf document back into +corresponding position in your source document. + +\subsection{Working with graphics} + +Working with high quality graphics in \LaTeX{} means that you have to use +\EPSi{} (eps) or PDF as your picture format. The program that helps you +deal with this is called \wi{GhostScript}. You can get it, together with its +own front-end \wi{GhostView}, from \url{http://www.cs.wisc.edu/~ghost/}. + +If you deal with bitmap graphics (photos and scanned material), you may want +to have a look at the open source photoshop alternative \wi{Gimp} available +from \url{http://gimp-win.sourceforge.net/}. + +\section{\TeX{} on Linux} + +If you work with Linux, chances are high that \LaTeX{} is already installed +on your system, or at least available on the installation source you used to +setup. Use your package manager to install the following packages: + +\begin{itemize} +\item texlive -- the base \TeX{}/\LaTeX{} setup. +\item emacs (with auctex) -- a Linux editor that integrates tightly with \LaTeX{} through the add-on AucTeX package. +\item ghostscript -- a \PSi{} preview program. +\item xpdf and acrobat -- a PDF preview program. +\item imagemagick -- a free program for converting bitmap images. +\item gimp -- a free photoshop look-a-like. +\item inkscape -- a free illustrator/corel draw look-a-like. +\end{itemize} + +If you are looking for a more windows like graphical editing environment, +check out Texmaker or \TeX{}works. See the note in the Mac section above. + +Most Linux distros insist on splitting up their \TeX{} environments into a +large number of optional packages, so if something is missing after your +first install, go check again. diff --git a/info/lshort/persian/biblio.tex b/info/lshort/persian/biblio.tex new file mode 100644 index 0000000000..b2765f8b06 --- /dev/null +++ b/info/lshort/persian/biblio.tex @@ -0,0 +1,105 @@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Contents: The Bibliography +% File: biblio.tex (lshort2e.tex) +% $Id: biblio.tex 172 2008-09-25 05:26:50Z oetiker $ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\addcontentsline{toc}{chapter}{\bibname} +\setLTRbibitems +\begin{thebibliography}{99} +\resetlatinfont +\bibitem{manual} Leslie Lamport. \newblock \emph{{\LaTeX:} A Document + Preparation System}. \newblock Addison-Wesley, Reading, + Massachusetts, second edition, 1994, ISBN~0-201-52983-1. + +\bibitem{texbook} Donald~E. Knuth. \newblock \textit{The \TeX{}book,} + Volume~A of \textit{Computers and Typesetting}, Addison-Wesley, + Reading, Massachusetts, second edition, 1984, ISBN~0-201-13448-9. + +\bibitem{companion} Frank Mittelbach, Michel Goossens, Johannes Braams, + David Carlisle, Chris Rowley. \newblock \emph{The {\LaTeX} Companion, (2nd Edition)}. \newblock + Addison-Wesley, Reading, Massachusetts, 2004, ISBN~0-201-36299-6. + +\bibitem{graphicscompanion} Michel Goossens, Sebastian Rahtz and Frank + Mittelbach. \newblock \emph{The {\LaTeX} Graphics Companion}. \newblock + Addison-Wesley, Reading, Massachusetts, 1997, ISBN~0-201-85469-4. + +\bibitem{local} Each \LaTeX{} installation should provide a so-called + \emph{\LaTeX{} Local Guide}, which explains the things that are + special to the local system. It should be contained in a file called + \texttt{local.tex}. Unfortunately, some lazy sysops do not provide such a + document. In this case, go and ask your local \LaTeX{} guru for help. + +\bibitem{usrguide} \LaTeX3 Project Team. \newblock \emph{\LaTeXe~for + authors}. \newblock Comes with the \LaTeXe{} distribution as + \texttt{usrguide.tex}. + +\bibitem{clsguide} \LaTeX3 Project Team. \newblock \emph{\LaTeXe~for + Class and Package writers}. \newblock Comes with the \LaTeXe{} + distribution as \texttt{clsguide.tex}. + +\bibitem{fntguide} \LaTeX3 Project Team. \newblock \emph{\LaTeXe~Font + selection}. \newblock Comes with the \LaTeXe{} distribution as + \texttt{fntguide.tex}. + +\bibitem{graphics} D.~P.~Carlisle. \newblock \emph{Packages in the + `graphics' bundle}. \newblock Comes with the `graphics' bundle as + \texttt{grfguide.tex}, available from the same source your \LaTeX{} + distribution came from. + +\bibitem{verbatim} Rainer~Sch\"opf, Bernd~Raichle, Chris~Rowley. +\newblock \emph{A New Implementation of \LaTeX's verbatim + Environments}. + \newblock Comes with the `tools' bundle as + \texttt{verbatim.dtx}, available from the same source your \LaTeX{} + distribution came from. + +\bibitem{cyrguide} Vladimir Volovich, Werner Lemberg and \LaTeX3 Project Team. + \newblock \emph{Cyrillic languages support in \LaTeX}. + \newblock Comes with the \LaTeXe{} distribution as + \texttt{cyrguide.tex}. + +\bibitem{catalogue} Graham~Williams. \newblock \emph{The TeX + Catalogue} is a very complete listing of many \TeX{} and \LaTeX{} + related packages. + \newblock Available online from \CTAN|help/Catalogue/catalogue.html| + +\bibitem{eps} Keith~Reckdahl. \newblock \emph{Using EPS Graphics in + \LaTeXe{} Documents}, which explains everything and much more than + you ever wanted to know about EPS files and their use in \LaTeX{} + documents. \newblock Available online from + \CTAN|info/epslatex.ps| + +\bibitem{xy-pic} Kristoffer H. Rose. + \newblock \emph{\Xy-pic User's Guide}. \newblock + Downloadable from CTAN with \Xy-pic distribution + +\bibitem{metapost} John D. Hobby. + \newblock \emph{A User's Manual for \MP}. \newblock + Downloadable from \url{http://cm.bell-labs.com/who/hobby/} + +\bibitem{unbound} Alan Hoenig. + \newblock \emph{\TeX{} Unbound}. \newblock Oxford University Press, 1998, + ISBN 0-19-509685-1; 0-19-509686-X (pbk.) + +\bibitem{ursoswald} Urs Oswald. + \newblock \emph{Graphics in \LaTeXe{}}, containing some Java source files for + generating arbitrary circles and ellipses within the \texttt{picture} environment, + and \emph{\MP{} - A Tutorial}. + \newblock Both downloadable from \url{http://www.ursoswald.ch} + +\bibitem{pgfplots} Till Tantau. + \newblock \emph{TikZ\&PGF Manual}.\newblock + Download from \CTAN|graphics/pgf/base/doc/generic/pgf/pgfmanual.pdf| + + + +\end{thebibliography} + + +% + +% Local Variables: +% TeX-master: "lshort2e" +% mode: latex +% mode: flyspell +% End: diff --git a/info/lshort/persian/contrib.tex b/info/lshort/persian/contrib.tex new file mode 100644 index 0000000000..64379ae63a --- /dev/null +++ b/info/lshort/persian/contrib.tex @@ -0,0 +1,155 @@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Contents: Who contributed to this Document +% $Id: contrib.tex 169 2008-09-24 07:32:13Z oetiker $ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\chapter{Thank you!} +\noindent Much of the material used in this introduction comes from an +Austrian introduction to \LaTeX\ 2.09 written in German by: +\begin{verse} +\contrib{Hubert Partl}{partl@mail.boku.ac.at}% +{Zentraler Informatikdienst der Universit\"at f\"ur Bodenkultur Wien} +\contrib{Irene Hyna}{Irene.Hyna@bmwf.ac.at}% + {Bundesministerium f\"ur Wissenschaft und Forschung Wien} +\contrib{Elisabeth Schlegl}{no email}% + {in Graz} +\end{verse} + +If you are interested in the German document, you can find a version +updated for \LaTeXe{} by J\"org Knappen at\\ +\CTAN|info/lshort/german| + +\newpage \noindent The +following individuals helped with corrections, suggestions and +material to improve this paper. They put in a big effort to help me +get this document into its present shape. I would like to +sincerely thank all of them. Naturally, all the mistakes you'll find +in this book are mine. If you ever find a word that is spelled +correctly, it must have been one of the people below dropping me a +line. + +{ \flushleft\small +Rosemary~Bailey, %r.a.bailey@qmw.ac.uk 0.2 +Marc~Bevand, % <bevand_m@epita.fr> +Friedemann~Brauer, %fbrauer@is.dal.ca 3.4 +Barbara~Beeton, %bnb@ams.org +Jan~Busa, % <busaj@ccsun.tuke.sk> +Markus~Br\"uhwiler, % <m.br@switzerland.org> +Pietro~Braione, % <braione@elet.polimi.it> +David~Carlisle, %GONE carlisle@cs.man.ac.uk 1.0 +Jos\'e~Carlos~Santos, % <jcsantos@fc.up.pt> +Neil~Carter, % N.Carter@Swansea.ac.uk +Mike~Chapman, %chapman@eeh.ee.ethz.ch 3.16 +Pierre~Chardaire, % <pc@sys.uea.ac.uk +Christopher~Chin, %chris.chin@rmit.edu.au 3.1 +Carl~Cerecke, %cdc@cosc.canterbury.ac.nz> +Chris~McCormack, %GONE chrismc@eecs.umich.edu 0.1 +Wim~van~Dam, %GONE wimvdam@cs.kun.nl 2.2 +Jan~Dittberner, %jan@jan-dittberner.de 3.15 +Michael~John~Downes, %<mjd@ams.org> 14 Oct 1999 +Matthias~Dreier, %dreier@ostium.ch +David~Dureisseix, %dureisse@lmt.ens-cachan.fr 1.1 +Elliot, %GONE enh-a@minster.york.ac.uk 1.1 +Hans~Ehrbar, %ehrbar@econ.utah.edu +Daniel~Flipo, %Daniel.Flipo@univ-lille1.fr +David~Frey, %david@eos.lugs.ch 2.2 +Hans~Fugal, %hans@fugal.net +Robin~Fairbairns, %Robin.Fairbairns@cl.cam.ac.uk 0.2 1.0 +J\"org~Fischer, %j.fischer@xpoint.at 3.16 +Erik~Frisk, %frisk@isy.liu.se 3.4 +Mic~Milic~Frederickx, % <mic.milic@web.de> +Frank, %frank@freezone.co.uk 11 Feb 2000 +Kasper~B.~Graversen, % <kbg@dkik.dk> +Arlo~Griffiths, % <A.Griffiths@let.leidenuniv.nl> +Alexandre~Guimond, %guimond@IRO.UMontreal.CA 0.9 +Andy~Goth, % <unununium@openverse.com> +Cyril~Goutte, %goutte@ei.dtu.dk 2.1 2.2 +Greg~Gamble, %gregg@maths.uwa.edu.au 2.2 +Frank~Fischli, % <fischlifaenger@gmx.ch> +Morten~Hgholm, % morten.hoegholm@latex-project.org +Neil~Hammond, %nfh@dmu.ac.uk 0.3 +Rasmus~Borup~Hansen, %GONE rbhfamos@math.ku.dk 0.2 0.9 0.91 0.92 1.9.9 +Joseph~Hilferty, % <hilferty@fil.ub.es> +Bj\"orn Hvittfeldt, %bjorn@hvittfeldt.com 3.13 +Martien~Hulsen, %M.A.Hulsen@WbMt.TUDelft.NL 1.0 1.1 +Werner~Icking, %<Werner.Icking@gmd.de> 3.1 +Jakob, %diness@get2net.dk +Eric~Jacoboni, %GONE jacoboni@enseeiht.fr 0.1 0.9 +Alan~Jeffrey, %alanje@cogs.sussex.ac.uk 0.2 +Byron~Jones, %bj@dmu.ac.uk 1.1 +David~Jones, %GONE djones@CA.McMaster.dcss.insight 1.1 +Johannes-Maria~Kaltenbach, %<kaltenbach@zeiss.de> 3.01 +Michael~Koundouros, % <mkoundouros@hotmail.com> +Andrzej~Kawalec, %GONE akawalec@prz.rzeszow.pl 1.9.9 +Sander~de~Kievit, %Skievit@ucu.uu.nl +Alain~Kessi, %ALAIN_KESSI@HOTMAIL.COM 2.2 +Christian~Kern, %ck@unixen.hrz.uni-oldenburg.de 2.1 +Tobias~Klauser, %tklauser@access.unizh.ch 4.17 +J\"org~Knappen, %knappen@vkpmzd.kph.uni-mainz.de 0.1 +Kjetil~Kjernsmo, %<kjetil.kjernsmo@astro.uio.no> 3.2 +Maik~Lehradt, %greek@uni-paderborn.de 0.1 +R\'emi~Letot, % <r_letot@yahoo.com> +Flori~Lambrechts, % <f.lambrechts@softhome.net> +Axel~Liljencrantz, % <Axel.Liljencrantz@byv.kth.se> +Johan~Lundberg, %p99jlu@physto.se +Alexander~Mai, %Alexander.Mai@physik.tu-darmstadt.de 3.8 +Hendrik~Maryns, %hendrik.maryns@ugent.be +Martin~Maechler, %<maechler@stat.math.ethz.ch> 2.2 +Aleksandar~S~Milosevic, % <aleksandar.milosevic@yale.edu> +Henrik~Mitsch, % <Henrik.Mitsch@gmx.at> +Claus~Malten, %GONE <ASI138%BITNET.DJUKFA11@BITNET.CEARN> 1.1 +Kevin~Van~Maren, % <vanmaren@fast.cs.utah.edu> 24 Nov 1999 +Richard~Nagy, % r.nagy@nameshield.net +Philipp~Nagele, % Philipp.Nagele@t-systems.com +Lenimar~Nunes~de~Andrade, % <lenimar@mat.ufpb.br> Fri, 12 Nov 1999 +Manuel~Oetiker, % manuel@oetiker.ch +Urs~Oswald, % osurs@bluewin.ch +Lan~Thuy~Pham, %<lan.thuy.pham@gmail.com> +Martin~Pfister, % m@rtinpfister.ch +Demerson~Andre~Polli, % polli@linux.ime.usp.br +Nikos~Pothitos, % <n.pothitos@di.uoa.gr> +Maksym~Polyakov % <polyama@myrealbox.com> +Hubert~Partl, %partl@mail.boku.ac.at 0.2 1.1 +John~Refling, %refling@sierra.lbl.gov 0.1 0.9 +Mike~Ressler, %ressler@cougar.jpl.nasa.gov 0.1 0.2 0.9 1.0 1.9.9 +Brian~Ripley, %ripley@stats.ox.ac.uk 2.1 +Young~U.~Ryu, %ryoung@utdallas.edu 2.1 +Bernd~Rosenlecher, %9rosenle@informatik.uni-hamburg.de 10 Feb 2000 +Kurt~Rosenfeld, %kurt@isis.poly.edu +Chris~Rowley, %C.A.Rowley@open.ac.uk 0.91 +Risto~Saarelma, %risto.saarelma@cs.helsinki.fi +Hanspeter~Schmid, %schmid@isi.ee.ethz.ch +Craig~Schlenter, %cschle@lucy.ee.und.ac.za 0.1 0.2 0.9 +Gilles~Schintgen, %gschintgen@internet.lu +Baron~Schwartz, % <bps7j@cs.virginia.edu> +Christopher~Sawtell, %<csawtell@xtra.co.nz> 1 Sep 1999 +Miles~Spielberg, %zeibach@hotmail.com +Matthieu~Stigler, % table row height +Geoffrey~Swindale, % <geofftswin@ntlworld.com> +Laszlo~Szathmary, % <szathml@delfin.klte.hu> +Boris~Tobotras, % <tobotras@jet.msk.su> +Josef~Tkadlec, %tkadlec@math.feld.cvut.cz 2.0 2.2 +Scott~Veirs, %scottv@ocean.washington.edu +Didier~Verna, %verna@inf.enst.fr 2.2 +Fabian~Wernli, %wernli@iap.fr 3.2 +Carl-Gustav~Werner, % <Carl-Gustav.Werner@math.lu.se> 11 Oct 1999,3.16 +David~Woodhouse, % <dwmw2@infradead.org> 3.16 +Chris~York, % <c.s.york@Cummins.com> 21 Nov 1999 +Fritz~Zaucker, %zaucker@ee.ethz.ch 3.0 +Rick~Zaccone, %zaccone@bucknell.edu 2.2 +and Mikhail~Zotov. %zotov@eas.npi.msu.su 3.1 + +} + +\vspace*{\stretch{1}} + + + +\pagebreak +\endinput +% + +% Local Variables: +% TeX-master: "lshort2e" +% mode: latex +% mode: flyspell +% End: diff --git a/info/lshort/persian/custom.tex b/info/lshort/persian/custom.tex new file mode 100644 index 0000000000..0b45febe96 --- /dev/null +++ b/info/lshort/persian/custom.tex @@ -0,0 +1,835 @@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Contents: Customising LaTeX output +% $Id: custom.tex 172 2008-09-25 05:26:50Z oetiker $ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\chapter{تنظیم شخصی لاتک} +\begin{intro} + +فرمانهایی را که تا به حال آموختهاید مناسب نوشتاری برای بسیاری از افراد است. با این که ممکن است ظاهر خیلی شیک نداشته باشند ولی از اصول حروفچینی استاندارد پیروی میکنند که باعث سهولت خواندن آنها میشود. + +با این وجود شرایطی وجود دارد که لاتک فرمانی مناسب نیاز شما ندارد یا این که خروجی حاصل از فرمانهای موجود مطلوب شما نیست. + +در این فصل، سعی میکنم روش راهنمایی لاتک برای تولید خروجیهایی را توضیح دهم که با روش پیشفرض آن متفاوت است. + + +\end{intro} +\section{فرمانها، محیطها، و بستههای جدید} +شاید تا به حال توجه کردهباشید که تمام فرمانهایی را که در این مقدمه توضیح دادهام در یک جعبه قرار دارند و این فرمانها در نمایهٔ آخر کتاب قرار دارند. به جای این که از فرمانهای استاندارد لاتک برای دستیابی این منظور استفاده کنم، \wi{بسته}ای +را تعریف کردهام که در آن تعاریف و فرمانها و محیطهایی را گنجاندهام. حالا به راحتی میتوانم بنویسم: + + +\begin{example} +\begin{lscommand} +\ci{dum} +\end{lscommand} +\end{example} + + +در این مثال، از یک محیط جدید \ei{lscommand}، که مسئولیت رسم یک کادر پیرامون فرمان را دارد، و یک فرمان \ci{ci}، که مسئولیت درج فرمان و قرار دادن مؤلفهٔ متناظر را در نمایه دارد،استفاده کردهام. میتوانید این موضوع را با نگاه کردن به فرمان \ci{dum} در نمایهٔ آخر کتاب ببینید، که در آنجا خواهید دید که شمارهٔ تمام صفحاتی را که در آن فرمان \ci{dum} آمده است مشخص شده است. + +هرگاه بخواهم که دیگر فرمانها در کادر نمایش داده نشوند به سادگی تنها باید تعریف محیط \lr{\texttt{lscommand}} را تغییر دهم. این کار به وضوح بسیار سادهتر از این است که تمام متن را برای تغییر فرمانها بررسی کنم. +\subsection{فرمانهای جدید} + +برای افزودن فرمان مناسب کار خودتان به شکل زیر عمل کنید + +\begin{lscommand} +\ci{newcommand}\verb|{|% + \emph{name}\verb|}[|\emph{num}\verb|]{|\emph{definition}\verb|}| +\end{lscommand} + +به طور پایهای، فرمان نیاز به دو آرگومان دارد: نام فرمان (\lr{\emph{name}}) و تعریف فرمان (\lr{\emph{definition}}). آرگومان \lr{\emph{num}} که در براکت قرار میگیرد اختیاری است و تعداد آرگومانهایی را که فرمان میپذیرد مشخص میکند +(حداکثر ۹ تا). +حالت پیشفرض آن صفر است که هیچ آرگومانی را نمیپذیرد. + +دو مثال زیر کمک میکنند که این موضوع را بهتر درک کنید. مثال اول فرمان جدیدی به نام \ci{tnss} را مشخص میکند که اثر آن درج \lr{``The Not So Short Introduction to \LaTeXe.''} است. چنین فرمانی موقعی مفید است که عنوان کتاب در نوشتار مکرراً تکرار میشود. + + +\begin{example} +\newcommand{\tnss}{The not + so Short Introduction to + \LaTeXe} +This is ``\tnss'' \ldots{} +``\tnss'' +\end{example} + + +مثال دوم فرمان دیگری را تعریف میکند که تنها یک آرگومان میپذیرد. مقدار \verb|#1| جایگزین آرگومان مشخص شده میشود. اگر میخواهید بیش از یک آرگومان داشته باشید از \verb|#2| و غیره استفاده کنید. + + +\begin{example} +\newcommand{\txsit}[1] + {This is the \emph{#1} Short + Introduction to \LaTeXe} +% in the document body: +\begin{itemize} +\item \txsit{not so} +\item \txsit{very} +\end{itemize} +\end{example} + + +لاتک به شما اجازهٔ ساختن فرمانی را نمیدهد که قبلاً تعریف شده است. اما فرمان ویژهای وجود دارد که با استفاده از آن میتوانید یک فرمان از پیشتعریف شده را دوباره تعریف کنید: \ci{renewcommand}. +این فرمان دقیقاً همان فرم فرمان \verb|\newcommand| را دارد. + +در بعضی مواقع ممکن است بخواهید از فرمان \ci{providecommand} استفاده کنید. سبک این فرمان همانند فرمان \ci{newcommand} است، اما اگر فرمان مربوطه قبلاً تعریف شده باشد لاتک این فرمان را در نظر نمیگیرد. + +چند نکته در مورد فاصلهٔ خالی بعد از یک فرمان لاتک باید در نظر داشته باشید. صفحهٔ +\pageref{whitespace} را برای اطلاعات بیشتر ببینید. +\subsection{محیطهای جدید} +مشابه فرمان \verb|\newcommand|، فرمانی برای ساختن محیطها وجود دارد \ci{newenvironment}. این فرمان فرم زیر را میپذیرد: + + +\begin{lscommand} +\ci{newenvironment}\verb|{|% + \emph{name}\verb|}[|\emph{num}\verb|]{|% + \emph{before}\verb|}{|\emph{after}\verb|}| +\end{lscommand} + + +دوباره \ci{newenvironment} میتواند یک آرگومان اختیاری داشته باشد. محتویات \lr{\emph{before}} قبل از متن محیط پردازش میشود. محتویات \lr{\emph{after}} بعد از فرمان +\LRE{\verb|\end{|\lr{\emph{name}}\verb|}|} اجرا میشوند. + +در مثال زیر نحوهٔ استفاده از فرمان \ci{newenvironment} شرح داده شده است. + +\begin{example} +\newenvironment{king} + {\rule{1ex}{1ex}% + \hspace{\stretch{1}}} + {\hspace{\stretch{1}}% + \rule{1ex}{1ex}} + +\begin{king} +My humble subjects \ldots +\end{king} +\end{example} + + +آرگومان \lr{\emph{num}} همانند آرگومان همنام فرمان \verb|\newcommand| مورد استفاده قرار میگیرد. لاتک بررسی میکند که یک محیط از پیشتعریف شده را دوباره تعریف نکنید. اگر میخواهید یک محیط قبلی را از نو تعریف کنید از فرمان \ci{renewenvironment} استفاده کنید. روش استفاده از آن همانند \ci{newenvironment} است. + +فرمانهای استفاده شده در این مثال بعداً شرح داده خواهند شد. برای فرمان +\ci{rule} صفحهٔ \pageref{sec:rule}، برای \ci{stretch} صفحهٔ \pageref{cmd:stretch}، و برای \ci{hspace} صفحهٔ \pageref{sec:hspace} را ببینید. +\subsection{فاصلههای اضافه} +هنگام تعریف محیطهای جدید ممکن است با فاصلههای زیاد قبل و بعد از آن مشکل داشته باشید؛ به عنوان مثال وقتی که میخواهید یک محیط عنوان تعریف کنید که تورفتگی آن به اندازهٔ پاراگراف بعدی باشد. فرمان \ci{ignorespaces} بلوک ابتدایی محیط را وادار میکند تا فاصلهٔ بعد از اجرای بلوک ابتدایی را نادیده بگیرد. بلوک انتهایی کمی پیچیدهتر است زیرا این بلوک شامل پردازشهای ویژهای است. با فرمان +\ci{ignorespacesafterend}، لاتک یک فرمان \ci{ignorespaces} را بعد از پایان پردازش اجرا میکند. + + +\begin{example} +\newenvironment{simple}% + {\noindent}% + {\par\noindent} + +\begin{simple} +See the space\\to the left. +\end{simple} +Same\\here. +\end{example} + +\begin{example} +\newenvironment{correct}% + {\noindent\ignorespaces}% + {\par\noindent% + \ignorespacesafterend} + +\begin{correct} +No space\\to the left. +\end{correct} +Same\\here. +\end{example} + +\subsection{خط فرمان لاتک} + +اگر روی سیستمی مانند لینوکس کار میکنید، ممکن است از \lr{Makefile}ها برای ساختن پروژهٔ لاتک خود استفاده کنید. +در این راستا جالب است که نسخهٔ متفاوتی از نوشتار خود را با اجرای لاتک در خط فرمان درست کنید. اگر ساختار زیر را به نوشتار خود اضافه کنید: + +\setLR +\begin{verbatim} +\usepackage{ifthen} +\ifthenelse{\equal{\blackandwhite}{true}}{ + % "black and white" mode; do something.. +}{ + % "color" mode; do something different.. +} +\end{verbatim} +\setRL +حال میتوایند لاتک را به شکل زیر فراخوانی کنید: + +\setLR +\begin{verbatim} +latex '\newcommand{\blackandwhite}{true}\input{test.tex}' +\end{verbatim} +\setRL + +ابتدا فرمان \verb|\blackandwhite| تعریف میشود و آنگاه فایل اصلی خوانده میشود. با قرار دادن \verb|\blackandwhite| برابر \lr{false} نسخهٔ رنگی نوشتار تولید خواهد شد. +\subsection{بستههای شخصی} +اگر فرمانها و محیطهای زیادی را تعریف کنید، سرآغاز فایل شما بسیار طولانی خواهد شد. در این حالت مناسبتر است که یک بستهٔ لاتک شامل فرمانها و محیطهای شخصی خود را بسازید. آنگاه میتوانید از فرمان \ci{usepackage} برای فراخوانی بستهٔ خود در نوشتار استفاده کنید. + + +\begin{figure}[!htbp] +\setLR +\begin{lined}{\textwidth} +\begin{verbatim} +% Demo Package by Tobias Oetiker +\ProvidesPackage{demopack} +\newcommand{\tnss}{The not so Short Introduction + to \LaTeXe} +\newcommand{\txsit}[1]{The \emph{#1} Short + Introduction to \LaTeXe} +\newenvironment{king}{\begin{quote}}{\end{quote}} +\end{verbatim} +\end{lined} +\setRL +\caption{مثال بسته} \label{package} +\end{figure} + +نوشتن یک بسته شامل قرار دادن محتویات سرآغاز فایل در یک فایل با پسوند \lr{\texttt{.sty}} است. یک فرمان ویژه وجود دارد + +\begin{lscommand} +\ci{ProvidesPackage}\verb|{|\emph{package name}\verb|}| +\end{lscommand} + + +\noindent که در ابتدای بسته قرار میگیرد. فرمان \verb|\ProvidesPackage| به لاتک نام بسته را میگوید و لاتک را قادر میسازد که پیغام خطایی را هنگام نوشتن یک بستهٔ از پیش تعریف شده بدهد. شکل +\ref{package} +%\LRE{\hyperref[package]{1.6}} +یک مثال کوچک از یک بسته را نشان میدهد که شامل فرمانهای تعریف شده در مثالهای بالا است. +\section{قلمها و اندازهٔ آنها} +\subsection{فرمان تغییر قلم} +\romanindex{font}\romanindex{font size}\index{قلم}\index{اندازهٔ قلم} +لاتک قلم و اندازهٔ مناسب را بسته به ساختار منطقی نوشتار انتخاب میکند +(بخش، پانوشت، \ldots). گاهی اوقات نیاز است که قلم و اندازهٔ آن را به صورت دستی تغییر دهیم. برای این کار از فرمانهای ارائه شده در جدولهای +\ref{fonts} +%\LRE{\hyperref[fonts]{1.6}} + و +\ref{sizes} +%\LRE{\hyperref[sizes]{2.6}} +استفاده کنید. اندازهٔ واقعی هر قلم به طبقهٔ نوشتار و گزینههای آن بستگی دارد. جدول +\ref{tab:pointsizes} +%\LRE{\hyperref[tab:poitsizes]{3.6}} +مقدار دقیق را برای هر کدام از طبقههای استاندارد نشان میدهد. + + +\begin{example} +{\small The small and +\textbf{bold} Romans ruled} +{\Large all of great big +\textit{Italy}.} +\end{example} + + +یک امکان مهم لاتک این است که شکل قلمها مستقل هستند. یعنی این که میتوانید اندازهٔ قلم را تغییر دهید و همزمان شکل سیاه و خوابیده را داشته باشید. + +در \femph{سبک ریاضی} +میتوانید فرمانهای تغییر قلم را با خروج اضطراری از سبک ریاضی به صورت متن عادی بنویسید. اگر میخواهید از قلم دیگری برای نوشتن فرمولها استفاده کنید باید از فرمانهای دیگری استفاده کنید؛ به جدول +\ref{mathfonts} +%\LRE{\hyperref[mathfonts]{4.6}} +مراجعه کنید. + + + +\begin{table}[!bp] +\caption{قلمها} \label{fonts} +\begin{lined}{12cm} +% +% Alan suggested not to tell about the other form of the command +% eg \verb|\sffamily| or \verb|\bfseries|. This seems a good thing to me. +% +\setLR +\begin{tabular}{@{}ll@{\qquad}ll@{}} +\fni{textrm}\verb|{...}| & \textrm{\wi{\lr{roman}}}& +\fni{textsf}\verb|{...}| & \textsf{\wi{\lr{sans serif}}}\\ +\fni{texttt}\verb|{...}| & \texttt{typewriter}\\[6pt] +\fni{textmd}\verb|{...}| & \textmd{medium}& +\fni{textbf}\verb|{...}| & \textbf{\wi{\lr{bold face}}}\\[6pt] +\fni{textup}\verb|{...}| & \textup{\wi{\lr{upright}}}& +\fni{textit}\verb|{...}| & \textit{\wi{\lr{italic}}}\\ +\fni{textsl}\verb|{...}| & \textsl{\wi{\lr{slanted}}}& +\fni{textsc}\verb|{...}| & \textsc{\wi{\lr{Small Caps}}}\\[6pt] +\ci{emph}\verb|{...}| & \emph{emphasized} & +\fni{textnormal}\verb|{...}| & \textnormal{document} font +\end{tabular} +\setRL +\bigskip +\end{lined} +\end{table} + +\begin{table}[!bp] +\romanindex{font size} +\caption{اندازهٔ قلم} \label{sizes} +\begin{lined}{13cm} +\setLR +\begin{tabular}{@{}ll} +\fni{tiny} & \tiny tiny font \\ +\fni{scriptsize} & \scriptsize very small font\\ +\fni{footnotesize} & \footnotesize quite small font \\ +\fni{small} & \small small font \\ +\fni{normalsize} & \normalsize normal font \\ +\fni{large} & \large large font +\end{tabular}% +\qquad\begin{tabular}{ll@{}} +\fni{Large} & \Large larger font \\[5pt] +\fni{LARGE} & \LARGE very large font \\[5pt] +\fni{huge} & \huge huge \\[5pt] +\fni{Huge} & \Huge largest +\end{tabular} +\setRL +\bigskip +\end{lined} +\end{table} + +\begin{table}[!tbp] +\caption{اندازهٔ واقعی قلم در طبقهٔ استاندارد}\label{tab:pointsizes} +\label{tab:sizes} +\begin{lined}{12cm} +\begin{latin} +\begin{tabular}{llll} +\multicolumn{1}{c}{size} & +\multicolumn{1}{c}{10pt (default) } & + \multicolumn{1}{c}{11pt option} & + \multicolumn{1}{c}{12pt option}\\ +\verb|\tiny| & 5pt & 6pt & 6pt\\ +\verb|\scriptsize| & 7pt & 8pt & 8pt\\ +\verb|\footnotesize| & 8pt & 9pt & 10pt \\ +\verb|\small| & 9pt & 10pt & 11pt \\ +\verb|\normalsize| & 10pt & 11pt & 12pt \\ +\verb|\large| & 12pt & 12pt & 14pt \\ +\verb|\Large| & 14pt & 14pt & 17pt \\ +\verb|\LARGE| & 17pt & 17pt & 20pt\\ +\verb|\huge| & 20pt & 20pt & 25pt\\ +\verb|\Huge| & 25pt & 25pt & 25pt\\ +\end{tabular} +\end{latin} +\bigskip +\end{lined} +\end{table} + + +\begin{table}[!bp] +\caption{قلمهای ریاضی} \label{mathfonts} +\setLR +\begin{lined}{0.7\textwidth} + +\begin{tabular}{@{}ll@{}} +\fni{mathrm}\verb|{...}|& $\mathrm{Roman\ Font}$\\ +\fni{mathbf}\verb|{...}|& $\mathbf{Boldface\ Font}$\\ +\fni{mathsf}\verb|{...}|& $\mathsf{Sans\ Serif\ Font}$\\ +\fni{mathtt}\verb|{...}|& $\mathtt{Typewriter\ Font}$\\ +\fni{mathit}\verb|{...}|& $\mathit{Italic\ Font}$\\ +\fni{mathcal}\verb|{...}|& $\mathcal{CALLIGRAPHIC\ FONT}$\\ +\fni{mathnormal}\verb|{...}|& $\mathnormal{Normal\ Font}$\\ +\end{tabular} + +%\begin{tabular}{@{}lll@{}} +%\textit{Command}&\textit{Example}& \textit{Output}\\[6pt] +%\fni{mathcal}\verb|{...}|& \verb|$\mathcal{B}=c$|& $\mathcal{B}=c$\\ +%\fni{mathscr}\verb|{...}|& \verb|$\mathscr{B}=c$|& $\mathscr{B}=c$\\ +%\fni{mathrm}\verb|{...}|& \verb|$\mathrm{K}_2$|& $\mathrm{K}_2$\\ +%\fni{mathbf}\verb|{...}|& \verb|$\sum x=\mathbf{v}$|& $\sum x=\mathbf{v}$\\ +%\fni{mathsf}\verb|{...}|& \verb|$\mathsf{G\times R}$|& $\mathsf{G\times R}$\\ +%\fni{mathtt}\verb|{...}|& \verb|$\mathtt{L}(b,c)$|& $\mathtt{L}(b,c)$\\ +%\fni{mathnormal}\verb|{...}|& \verb|$\mathnormal{R_{19}}\neq R_{19}$|& +%$\mathnormal{R_{19}}\neq R_{19}$\\ +%\fni{mathit}\verb|{...}|& \verb|$\mathit{ffi}\neq ffi$|& $\mathit{ffi}\neq ffi$ +%\end{tabular} + +\bigskip +\end{lined} +\setRL +\end{table} + +در مورد فرمانهای اندازهٔ قلم، \wi{آکولاد} +نقش مهمی دارد. از آنها برای ساختن یک گروه استفاده میشود. یک گروه تاثیر بیشتر فرمانهای لاتک را محدود میکند. +\romanindex{grouping}\index{كیی@گروه} + + +\begin{example} +He likes {\LARGE large and +{\small small} letters}. +\end{example} + + +فرمانهای اندازهٔ قلم روی فاصلهٔ خالی نیز تاثیر دارند اما تنها در موقعی که پایان پاراگراف قبل از پایان تاثیر فرمان تغییر قلم باشد. بنابراین توجه داشته باشید که \verb|}| مربوط به پایان فرمان تغییر قلم زودتر از پایان پاراگراف ظاهر نشود. به مکان فرمان \ci{par} در دو مثال زیر توجه کنید.\footnote{\lr{\texttt{\bs{}par}} معادل با یک خط خالی است.} + + +\begin{example} +{\Large Don't read this! + It is not true. + You can believe me!\par} +\end{example} + +\begin{example} +{\Large This is not true either. +But remember I am a liar.}\par +\end{example} + + +اگر میخواهید یک فرمان تغییر اندازهٔ قلم را برای کل یک پاراگراف یا کل یک نوشتار فعال کنید، میتوانید از محیط مناسب آن استفاده کنید. + + +\begin{example} +\begin{Large} +This is not true. +But then again, what is these +days \ldots +\end{Large} +\end{example} + + +\noindent این کار شما را از نوشتن تعداد زیادی آکولاد بینیاز میکند. +\subsection{خطر، ویل رابینسون، خطر} +همانطور که در ابتدای این فصل گفته شد، شلوغ کردن فایل خود با فرمانهایی از این دست خطرناک است زیرا با روح لاتک در تناقض است که میگوید ساختار منطقی را از تغییرات بصری جدا کنید. یعنی اگر میخواهید از یک فرمان تغییر اندازهٔ قلم چندین بار در نوشتار خود استفاد کنید باید از +\verb|\newcommand| برای تعریف یک فرمان منطقی تغییر قلم استفاده کنید. + + +\begin{example} +\newcommand{\oops}[1]{% + \textbf{#1}} +Do not \oops{enter} this room, +it's occupied by \oops{machines} +of unknown origin and purpose. +\end{example} + + +این رهیافت دارای این دستاورد است که در مراحل بعد برای تغییر این نمایش بصری کافی است که تعریف آن را تغییر دهید تا این که در کل فایل خود بدنبال متن \verb|\textbf| بگردید و برای هر کدام از آنها تصمیم بگیرید که باید تغییر کند یا نه. +\subsection{توصیه} +به عنوان پایان سفر به دنیای قلمها و اندازهٔ آنها، توصیهای را بیان میکنیم:\nopagebreak + + +\setLR +\begin{quote} + \underline{\textbf{Remember\Huge!}} \textit{The} + \textsf{M\textbf{\LARGE O} \texttt{R}\textsl{E}} fonts \Huge you + \tiny use \footnotesize \textbf{in} a \small \texttt{document}, + \large \textit{the} \normalsize more \textsc{readable} and + \textsl{\textsf{beautiful} it bec\large o\Large m\LARGE e\huge s}. +\end{quote} +\setRL + + +\begin{quote} + \underline{\textbf{به یاد داشته باشید\Huge!}} {\farsifontnavaar هر چقدر از} +{\farsifontsayeh قلمهای بیشتری} +{\farsifontpook در نوشتار} +{\farsifontscheherazade استفاده کنید} +\nastaliq{نوشتار شما زیباتر و خواناتر خواهد شد.} +\end{quote} + +\section{فاصلهگذاری} +\subsection{فاصلهٔ خطها} +\romanindex{line spacing}\index{فاصلهٔ خطها} +اگر میخواهید فاصلهٔ بین خطها بیشتر از حالت معمولی باشد میتوانید این کار را با قرار دادن فرمان زیر در سرآغاز فایل انجام دهید + +\begin{lscommand} +\ci{linespread}\verb|{|\emph{factor}\verb|}| +\end{lscommand} + +از \verb|\linespread{1.3}| برای فاصلهٔ یکونیم برابر و از \verb|\linespread{1.6}| برای فاصلهٔ دوبرابر استفاده کنید. فاصلهٔ نرمال یک برابر است.\romanindex{double line spacing}\index{فاصلهٔ خط دوبرابر} + +توجه داشته باشید که اثر فرمان \ci{linespread} شدید است و مناسب چاپ نیست. بنابراین اگر دلیل قانع کننده دارید میتوانید از این فرمان استفاده کنید: + +\begin{lscommand} +\verb|\setlength{\baselineskip}{1.5\baselineskip}| +\end{lscommand} + + +\begin{example} +{\setlength{\baselineskip}% + {1.5\baselineskip} +This paragraph is typeset with +the baseline skip set to 1.5 of +what it was before. Note the par +command at the end of the +paragraph.\par} + +This paragraph has a clear +purpose, it shows that after the +curly brace has been closed, +everything is back to normal. +\end{example} + +\subsection{شکل پاراگراف}\label{parsp} +در لاتک دو پارامتر وجود دارند که شکل پاراگراف را تغییر میدهند. با قرار دادن تعریفی شبیه به +\setLR +\begin{code} +\ci{setlength}\verb|{|\ci{parindent}\verb|}{0pt}| \\ +\verb|\setlength{|\ci{parskip}\verb|}{1ex plus 0.5ex minus 0.2ex}| +\end{code} +\setRL +در سرآغاز فایل ورودی میتوانید شکل پاراگرافها را تغییر دهید. این دو فرمان فاصلهٔ بین دو پاراگراف را بیشتر میکنند و تورفتگی پاراگراف را صفر میکنند.. + +قسمت \lr{\texttt{plus}} و \lr{\texttt{minus}} از طول به لاتک میگوید فاصلهٔ بین پاراگرافها را میتواند برای قرار گرفتن درست در صفحه کم یا زیاد کند. + +در قارهٔ اروپا، پاراگرافها با فاصله از هم نوشته میشوند ولی تورفتگی ندارند. اما توجه داشته باشید که این فرمان بر فهرست مطالب نیز تاثیر دارد. فاصلهٔ بین خطهای فهرست مطالب نیز تغییر میکند. برای اجتناب از این کار، میتوانید این دو فرمان را از سرآغاز حذف کنید و به بعد از \verb|\tableofcontents| انتقال دهید، یا این که اصلاً از آنها استفاده نکنید زیرا کتابهای حرفهای از تورفتگی به جای فاصله برای مشخص کردن پاراگرافها استفاده میکنند. + +اگر میخواهید پاراگرافی را که تورفتگی ندارد دارای تورفتگی کنید از فرمان + +\begin{lscommand} +\ci{indent} +\end{lscommand} + +\noindent در ابتدای پاراگراف استفاده کنید.\footnote{برای تورفته کردن اولین پاراگراف هر بخش از بستهٔ \pai{indentfirst} که جزئی از کلاف \lr{tools} است استفاده کنید.} + به وضوح این کار موقعی موثر است که \verb|\parindent| برابر صفر تعریف نشده باشد. + +برای نوشتن یک پاراگراف بدون تورفتگی از فرمان + +\begin{lscommand} +\ci{noindent} +\end{lscommand} + +\noindent در ابتدای پاراگراف استفاده کنید. این کار موقعی که میخواهید یک متن را بدون داشتن بخش بنویسید مفید است. +\subsection{فاصله افقی} +\label{sec:hspace} +لاتک فاصلهٔ بین کلمهها و جملهها را به طور خودکار تنظیم میکند. برای افزایش فاصلهٔ افقی از فرمان +\index{\lr{horizontal}!\lr{space}}\index{فاصله!افقی} + +\begin{lscommand} +\ci{hspace}\verb|{|\emph{length}\verb|}| +\end{lscommand} + +\noindent استفاده کنید. اگر میخواهید این فاصله حتی در ابتدا و انتهای خط باقی بماند از \verb|\hspace*| به جای \verb|\hspace| استفاده کنید. مقدار \lr{\emph{length}} در سادهترین حالت تنها یک عدد به اضافهٔ یک کمیت است. مهمترین کمیتها در جدول +\ref{units} +%\LRE{\hyperref[units]{5.6}} +ارائه شدهاند. +\romanindex{units}\romanindex{dimensions}\index{قیی@کمیت} +\index{بعد} + + +\begin{example} +This\hspace{1.5cm}is a space +of 1.5 cm. +\end{example} +\suppressfloats +\begin{table}[tbp] +\caption{کمیتهای تک} \label{units}\index{\lr{units}} +\begin{latin} +\begin{lined}{9.5cm} +\begin{tabular}{@{}ll@{}} +\texttt{mm} & millimetre $\approx 1/25$~inch \quad \demowidth{1mm} \\ +\texttt{cm} & centimetre = 10~mm \quad \demowidth{1cm} \\ +\texttt{in} & inch $=$ 25.4~mm \quad \demowidth{1in} \\ +\texttt{pt} & point $\approx 1/72$~inch $\approx \frac{1}{3}$~mm \quad\demowidth{1pt}\\ +\texttt{em} & approx width of an `M' in the current font \quad \demowidth{1em}\\ +\texttt{ex} & approx height of an `x' in the current font \quad \demowidth{1ex} +\end{tabular} + +\bigskip +\end{lined} +\end{latin} +\end{table} + +\label{cmd:stretch} + +فرمان + +\begin{lscommand} +\ci{stretch}\verb|{|\emph{n}\verb|}| +\end{lscommand} + +\noindent یک فاصلهٔ کشیده تولید میکند. این فاصله کل فاصلهٔ باقیماندهٔ خط را پر میکند. اگر چند فرمان +\LRE{\verb|\hspace{\stretch{|\lr{\emph{n}}\verb|}}|} در یک خط قرار بگیرند، هرکدام مقداری متناسب با فاکتور کشیدگی خود اشغال میکند. + + +\begin{example} +x\hspace{\stretch{1}} +x\hspace{\stretch{3}}x +\end{example} + + +وقتی که فاصلهٔ افقی را به همراه متن به کار میبرید، مناسب است که فاصله را متناسب با اندازهٔ قلم تعیین کنید. این کار را میتوان با کمیت وابسته به قلم \lr{\texttt{em}} و \lr{\texttt{ex}} تعیین کرد: + + +\begin{example} +{\Large{}big\hspace{1em}y}\\ +{\tiny{}tin\hspace{1em}y} +\end{example} + +\subsection{فاصله عمودی} + +فاصلهٔ بین پاراگرافها، بخشها، زیربخشها، \ldots\ به صورت خودکار توسط لاتک تعیین میشود. هر وقت که لازم است، فاصلهٔ عمودی +\femph{بین دو پاراگراف} +را میتوان با فرمان زیر تولید کرد: + +\begin{lscommand} +\ci{vspace}\verb|{|\emph{length}\verb|}| +\end{lscommand} + + +این فرمان به طور نرمال با یک خط فاصلهٔ خالی بین دو پاراگراف قرار میگیرد. اگر میخواهید این فاصله در ابتدا یا انتهای صفحه محفوظ بماند، از شکل ستارهدار این فرمان، \verb|\vspace*|، به جای \verb|\vspace| استفاده کنید. +\romanindex{vertical space}\index{فاصلهٔ عمودی} + +از فرمان \verb|\stretch|، به همراه \verb|\pagebreak| برای نوشتن متن در آخرین سطر یک صفحه یا وسط صفحه استفاده کنید. + +\begin{code} +\begin{verbatim} +Some text \ldots + +\vspace{\stretch{1}} +This goes onto the last line of the page.\pagebreak +\end{verbatim} +\end{code} + + +فاصلهٔ اضافی بین دو سطر از یک پاراگراف یا یک جدول با فرمان زیر تولید میشود. + +\begin{lscommand} +\ci{\bs}\verb|[|\emph{length}\verb|]| +\end{lscommand} + + +با \ci{bigskip} و \ci{smallskip} میتوانید یک فاصلهٔ عمودی از پیش تعریف شده را بدون نگرانی از مقدار دقیق آنها تولید کنید. + +\section{طرح صفحه} +%\begin{latin} +\begin{figure}[!hp] +\begin{center} +\begin{latin} +\makeatletter\@mylayout\makeatother +\end{latin} +\end{center} +\vspace*{1.8cm} +\caption{پارامترهای طرح صفحه} +\label{fig:layout} +\cih{footskip} +\cih{headheight} +\cih{headsep} +\cih{marginparpush} +\cih{marginparsep} +\cih{marginparwidth} +\cih{oddsidemargin} +\cih{paperheight} +\cih{paperwidth} +\cih{textheight} +\cih{textwidth} +\cih{topmargin} +\end{figure} +%\end{latin} +\romanindex{page layout}\index{طرح صفحه} + +لاتک اجازه میدهد \wi{اندازهٔ صفحه} +\romanindex{paper size} +را با فرمان \verb|\documentclass| تعیین کنید. در این صورت لاتک +\wi{حاشیه}ٔ +\romanindex{margins} مناسب را به طور خودکار تعیین میکند، اما گاهی اوقات اندازهٔ پیشفرض مطلوب شما نیست. به طور طبیعی میتوان آنها را تغییر داد. +%no idea why this is needed here ... +\thispagestyle{fancyplain} +شکل +\ref{fig:layout} +%\LRE{\hyperref[fig:layout]{2.6}} +تمام پارامترهای قابل تغییر را نشان میدهد. این شکل با بستهٔ \pai{layout} از کلاف \lr{tools} تولید شده است.% +\Footnote{\CTANref|macros/latex/required/tools|} + +\textbf{دست نگهدارید!} \ldots قبل از این که اندازهٔ صفحه را کوچک یا بزرگ کنید کمی فکر کنید. همانند دیگر چیزها در لاتک، دلایل قانع کنندهای برای تغییر ندادن اندازهٔ پیشفرض وجود دارد. + +مطمئناً، نسبت به صفحهٔ \lr{MS Word}، صفحهٔ پیشفرض لاتک باریکتر است. اما نگاهی به یک کتاب مورد علاقهٔ خود بیندازید\footnote{منظورم یک کتاب واقعی است که توسط یک انتشارات معتبر چاپ شده باشد.} +و تعداد حروف موجود در یک سطر را بشمارید. خواهید دید که این تعداد حدود ۶۶ است. حال همین تعداد را در صفحهٔ لاتک محاسبه کنید. خواهید دید که این تعداد هم حدود ۶۶ است. تجربه نشان داده است که اگر این تعداد بیش از ۶۶ باشد خواندن سطر مشکل است. دلیل این موضوع این است که رفتن دید از انتهای یک سطر به ابتدای سطر دیگر در سطرهای با بیش از ۶۶ حرف سخت است. به همین دلیل است که روزنامهها هم چند ستونی چاپ میشوند. + +بنابراین توجه داشته باشید که اگر اندازهٔ صفحه را تغییر دهید، زندگی را برای خوانندگان مقاله یا کتاب سخت کردهاید. ولی روش تغییر را به شما خواهم گفت. + +لاتک دو فرمان برای این کار دارد. این فرمانها در سرآغاز ظاهر میشوند. + +اولین فرمان به هرکدام از پارامترها مقدار ثابتی نسبت میدهد: + +\begin{lscommand} +\ci{setlength}\verb|{|\emph{parameter}\verb|}{|\emph{length}\verb|}| +\end{lscommand} + + +فرمان دوم مقداری را به هرکدام از پارامترها اضافه میکند. + +\begin{lscommand} +\ci{addtolength}\verb|{|\emph{parameter}\verb|}{|\emph{length}\verb|}| +\end{lscommand} + + +فرمان دوم مفیدتر از \ci{setlength} است، زیرا میتوانید نسبت به مقادیر پیشفرض تغییر دهید. برای افزودن یک سانتیمتر به عرض کل متن، فرمان زیر را در سرآغاز قرار میدهیم: + +\begin{code} +\verb|\addtolength{\hoffset}{-0.5cm}|\\ +\verb|\addtolength{\textwidth}{1cm}| +\end{code} + + +در این راستا بهتر است به بستهٔ \pai{calc} نیز نگاهی بیندازید. این بسته به شما امکان انجام تغییرات تابعی بر آرگومانهای \ci{setlength} را میدهد. +\section{بازی بیشتر با طولها} +هر جا که ممکن باشد، از قرار دادن مقدار دقیق طولها در نوشتار خودداری کنید. در عوض، سعی کنید از مقادیر تعریفشده استفاده کنید. برای قرار دادن یک تصویر به گونهای که عرض آن به اندازهٔ عرض نوشتار باشد از \verb|\textwidth| استفاده کنید. + +سه فرمان زیر اجازه میدهد شما عرض، ارتفاع و عمق یک رشته را تعیین کنید. + + +\begin{lscommand} +\ci{settoheight}\verb|{|\emph{variable}\verb|}{|\emph{text}\verb|}|\\ +\ci{settodepth}\verb|{|\emph{variable}\verb|}{|\emph{text}\verb|}|\\ +\ci{settowidth}\verb|{|\emph{variable}\verb|}{|\emph{text}\verb|}| +\end{lscommand} + + +\noindent مثال زیر کاربردی از این فرمانها را نشان میدهد. + + +\begin{example} +\flushleft +\newenvironment{vardesc}[1]{% + \settowidth{\parindent}{#1:\ } + \makebox[0pt][r]{#1:\ }}{} + +\begin{displaymath} +a^2+b^2=c^2 +\end{displaymath} + +\begin{vardesc}{Where}$a$, +$b$ -- are adjoin to the right +angle of a right-angled triangle. + +$c$ -- is the hypotenuse of +the triangle and feels lonely. + +$d$ -- finally does not show up +here at all. Isn't that puzzling? +\end{vardesc} +\end{example} + +\section{جعبهها} +لاتک با قراردادن جعبههایی طرح صفحه را مشخص میکند. در ابتدا هر حرف یک جعبهٔ کوچک دارد که از چسبیدن این جعبهها کلمهها درست میشوند. اینها هم به همدیگر میچسبند تا سطرها را تشکیل دهند ولی روش چسباندن کلمهها کمی پیچیده است تا انعطاف لازم را برای پرکردن سطرها داشته باشند. + +قبول دارم که این توضیح سادهای است از آنچه اتفاق میافتد، اما نکته این است که تک مسئولیت چسباندن را دارد. میتوانید هر چیزی، از جمله جعبههای دیگر را در یک جعبه قرار دهید. هر جعبه در این صورت همانند یک حرف عمل میکند. + +در فصلهای پیشین با جعبههای واقعی روبرو شدهاید، هرچند به شما نگفتم. محیط \ei{tabular} و \ci{includegraphics} از این نوع هستند که جعبه تعریف میکنند. این به آن معنی است که میتوانید جدولها را در کنار هم قرار دهید. فقط باید مواظب باشید مجموع عرض آنها از عرض متن بیشتر نباشد. + +همچنین میتوانید یک پاراگراف را به شکل زیر در یک جعبه قرار دهید. + + +\begin{lscommand} +\ci{parbox}\verb|[|\emph{pos}\verb|]{|\emph{width}\verb|}{|\emph{text}\verb|}| +\end{lscommand} + + + +\noindent یا به طریق زیر این کار را انجام دهید. + + +\begin{lscommand} +\verb|\begin{|\ei{minipage}\verb|}[|\emph{pos}\verb|]{|\emph{width}\verb|}| text +\verb|\end{|\ei{minipage}\verb|}| +\end{lscommand} + + +\noindent پارامتر \lr{\texttt{pos}} میتواند یکی از مقادیر +\lr{\texttt{c}}، \lr{\texttt{t}} یا \lr{\texttt{b}} را بپذیرد که جهت چیدن جعبه را نسبت به متن پیرامون آن مشخص میکند. \lr{\texttt{width}} یک مقدار طول مربوط به عرض جعبه را میپذیرد. مهمترین تفاوت بین \ei{minipage} و \ci{parbox} این است که نمیتوانید تمام فرمانها و محیطها را داخل \ei{parbox} استفاده کنید درحالی که این کار در \ei{minipage} امکانپذیر است. + +درحالی که \ci{parbox} تمام امکانات شکستن خط را پشتیبانی میکند، تعدادی از فرمانهای جعبه هستند که تنها در متنهای افقچین امکانپذیرند. یکی از آنها را میشناسیم؛ \ci{mbox} که تعدادی از جعبهها را درون هم قرار میدهد و برای جلوگیری از شکستن کلمهها مورد استفاده قرار میگیرد. از آنجا که میتوانید جعبهها را درون هم قرار دهید، این ویژگی انعطاف زیادی به کار شما میدهد. + + +\begin{lscommand} +\ci{makebox}\verb|[|\emph{width}\verb|][|\emph{pos}\verb|]{|\emph{text}\verb|}| +\end{lscommand} + + +\noindent \lr{\texttt{width}} عرض جعبه را از بیرون نشان میدهد\footnote{این به آن معنی است که میتواند کوچکتر از متن پیرامونش باشد. حتی میتوانید عرض را برابر صفر پوینت تعریف کنید تا متن داخل جعبه بدون اثر جانبی روی جعبهٔ محیطی قرار داده شود.}. +به جز طول عبارت، میتوانید +عرض \index{عرض} +(\ci{width})، ارتفاع\index{ارتفاع} +(\ci{height})، عمق\index{عمق} +(\ci{depth})، و ارتفاع کلی\index{ارتفاع کلی} +(\ci{totalheight}) + را در پارامتر عرض تغییر دهید. این مقادیر با مقایسهٔ \femph{متن} +تعیین میشوند. پارامتر + \emph{pos} یک مقدار تکحرفی را میپذیرد: \lr{\textbf{c}} برای وسط، \lr{\textbf{l}} برای چپ، \lr{\textbf{r}} برای راست، یا \lr{\textbf{s}} برای توزیع متن در جعبه. + +فرمان \ci{framebox} دقیقاً همانند \ci{makebox} استفاده میشود، اما کادری پیرامون جعبه رسم میکند. + +مثال زیر چند کار را نشان میدهد که با \ci{makebox} و \ci{framebox} میتوان انجام داد. + + +\begin{example} +\makebox[\textwidth]{% + c e n t r a l}\par +\makebox[\textwidth][s]{% + s p r e a d}\par +\framebox[1.1\width]{Guess I'm + framed now!} \par +\framebox[0.8\width][r]{Bummer, + I am too wide} \par +\framebox[1cm][l]{never + mind, so am I} +Can you read this? +\end{example} + + +حال که حالت افقی را کنترل کردیم، قدم بعدی کنترل حالت عمودی است.\footnote{کنترل واقعی با کنترل همزمان افقی و عمودی بدست میآید.} + + +\begin{lscommand} +\ci{raisebox}\verb|{|\emph{lift}\verb|}[|\emph{extend-above-baseline}\verb|][|\emph{extend-below-baseline}\verb|]{|\emph{text}\verb|}| +\end{lscommand} + + +\noindent این فرمان به شما اجازهٔ تعریف خواص عمودی جعبه را میدهد. دوباره میتوانید عرض\index{عرض}، +ارتفاع\index{ارتفاع}، +عمق\index{عمق}، +و ارتفاع کلی \index{ارتفاع کلی} +را در سه پارامتر اول تعیین کنید. + + +\begin{example} +\raisebox{0pt}[0pt][0pt]{\Large% +\textbf{Aaaa\raisebox{-0.3ex}{a}% +\raisebox{-0.7ex}{aa}% +\raisebox{-1.2ex}{r}% +\raisebox{-2.2ex}{g}% +\raisebox{-4.5ex}{h}}} +he shouted but not even the next +one in line noticed that something +terrible had happened to him. +\end{example} + +%\section{\lr{rule} و \lr{strut}} +\section{\texorpdfstring{\ci{rule} و \ci{strut}}{فرمانهای rule و strut}} +\label{sec:rule} + +چند صفحهٔ قبل ممکن است به فرمان زیر توجه کرده باشید. + + +\begin{lscommand} +\ci{rule}\verb|[|\emph{lift}\verb|]{|\emph{width}\verb|}{|\emph{height}\verb|}| +\end{lscommand} + + +\noindent در حالت نرمال این فرمان یک جعبهٔ سیاه تولید میکند. + + +\begin{example} +\rule{3mm}{.1pt}% +\rule[-1mm]{5mm}{1cm}% +\rule{3mm}{.1pt}% +\rule[1mm]{1cm}{5mm}% +\rule{3mm}{.1pt} +\end{example} + + +\noindent این کار برای رسم خطهای افقی و عمودی مناسب است. خط سیاه در عنوان این مقدمه با فرمان +\ci{rule} رسم شده است. + +یک حالت ویژه این است که یک خط بدون عرض ولی با یک ارتفاع مشخص رسم کنیم. در حروفچینی حرفهای به چنین چیزی +\wi{\lr{strut}} میگویند. کاربرد آن برای این است که شیئ ویژهای دارای حداقل مشخصی از ارتفاع باشد. میتوانید آن را در یک محیط \lr{\texttt{tabular}} بهکار برید تا مطمئن شوید یک سطر دارای یک حداقل ارتفاع مشخص باشد. + + +\begin{example} +\begin{tabular}{|c|} +\hline +\rule{1pt}{4ex}Pitprop \ldots\\ +\hline +\rule{0pt}{4ex}Strut\\ +\hline +\end{tabular} +\end{example} + + +\bigskip +{\flushleft پایان.\par} + +% + +% Local Variables: +% TeX-master: "lshort2e" +% mode: latex +% mode: flyspell +% End: diff --git a/info/lshort/persian/graphic.tex b/info/lshort/persian/graphic.tex new file mode 100644 index 0000000000..2d351aab03 --- /dev/null +++ b/info/lshort/persian/graphic.tex @@ -0,0 +1,768 @@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\chapter{تولید شکلهای ریاضی} +\label{chap:graphics} + +\begin{intro} +بسیاری از افراد از لاتک برای حروفچینی متن استفاده میکنند. اما از آنجا که رهیافت ساختار یافته بسیار مناسب است، لاتک همچنین توانایی تولید تصاویر از فرمانهای متنی را دارد. به علاوه، چندین گسترش از لاتک امکان انجام این کار را به بهترین شکل فراهم میکنند. در این فصل چند نوع از این گسترشها را مطالعه میکنیم. + +\end{intro} + + +\section{مرور} +محیط \ei{picture} امکان برنامهنویسی برای تولید شکل در لاتک را فراهم میکند. توضیح کامل را در \manual ببینید. از یک طرف، چندین محدودیت وجود دارد که از آن جمله محدودیت شیب خطها و شعاع دایرهها است. از طرف دیگر، محیط \ei{picture} از لاتک به همراه فرمان \ci{qbezier} همراه است، \lr{``\texttt{q}''} به معنای +\lr{``quadratic''}\footnote{مترجم: به معنای خم درجه دوم است.} + است. بسیاری از خمها مانند دایره، بیضی، یا ترکیبی از این خمها را میتوان با تقریب خمهای درجهٔ دوم بزیه رسم کرد، هرچند که این کار نیازمند محاسبات ریاضی است. به علاوه، اگر یک زبان برنامهنویسی مانند جاوا برای تولید بلوکهای \ci{qbezier} مورد استفاده قرار گیرد، محیط \ei{picture} بسیار قدرتمند خواهد شد. + +با وجود این که نوشتن کد تصاویر در لاتک بسیار محدود کننده و زمانبر است، کار با آن هنوز خواستگاه دارد زیرا نوشتار را بسیار کوچک میکند و به هیچ فایل تصویری احتیاج ندارد. + +بستههایی مانند \pai{epic} و \pai{eepic} (که به عنوان مثال در +\companion توضیح داده شده اند)، +یا \pai{pstricks} وجود دارند که محدودیتهای محیط \ei{picture} را ندارند و توان گرافیکی لاتک را به مقدار زیادی قدرت میبخشند. + +درحالی که دو بستهٔ اولیه تنها محیط \ei{picture} را قدرت میبخشند، بستهٔ \pai{pstricks} +دارای محیط منحصر به فرد \ei{pspicture} است. قدرت سیستم \pai{pstricks} در این است که این بسته از قابلیتهای \PSi استفاده میکند. به علاوه بستههای مختلفی برای کارهای ویژه نوشته شده است. یکی از این بستهها \lr{\texorpdfstring{\Xy}{Xy}-pic} است که در آخر این فصل توضیح داده شده است. توضیح مفصلتری بر این بسته در +\graphicscompanion ارائه شده است +(با +\companion اشتباه نشود). + +شاید مهمترین ابزار گرافیکی مربوط به لاتک، متاپست است که به همراه متافونت دوقلوهای دونالد کنوث نام دارند. بر خلاف متافونت، که بیتمپ تولید میکند، +متاپست فایلهای \PSi تولید میکند که میتوان آنها را به لاتک انتقال داد. برای مقدمهای بر این موضوع به +\hobby، یا راهنمای +\cite{ursoswald} مراجعه کنید. + +بحث کاملی از استراتژیهای لاتک و تک برای گرافیک +(و قلمها) +را میتوانید در +\hoenig ببینید. +\section{محیط تصویر} +%\secby{Urs Oswald}{osurs@bluewin.ch} +\subsection{فرمانهای ابتدایی} + +یک محیط \ei{picture} \footnote{قبول داشته باشید یا نه، محیط تصویر بهطور هوشمندانه کار میکند، با لاتک استاندارد هیچ بستهای لازم نیست.} +را میتوان با دو فرمان زیر بوجود آورد + +\begin{lscommand} +\ci{begin}\verb|{picture}(|$x,y$\verb|)|\ldots\ci{end}\verb|{picture}| +\end{lscommand} + +\noindent یا + +\begin{lscommand} +\ci{begin}\verb|{picture}(|$x,y$\verb|)(|$x_0,y_0$\verb|)|\ldots\ci{end}\verb|{picture}| +\end{lscommand} + +اعداد $x,\,y,\,x_0,\,y_0$ به \ci{unitlength} اشاره میکنند که میتوان آنها را با فرمانی به شکل زیر دوباره بارگذاری کرد +(ولی این کار را نمیتوان با محیط \ei{picture} انجام داد) + +\begin{lscommand} +\ci{setlength}\verb|{|\ci{unitlength}\verb|}{1.2cm}| +\end{lscommand} + +مقدار پیشفرض \ci{unitlength} برابر \lr{\texttt{1pt}} است. زوج $(x,y)$ اندازهٔ چهارچوب دور تصویر را مشخص میکند. زوج اختیاری $(x_0,y_0)$ مکان گوشهٔ پایین سمت چپ چهارچوب رزرو شده را تعیین میکند. + +بیشتر فرمانها به یکی از دو شکل زیر است + +\begin{lscommand} +\ci{put}\verb|(|$x,y$\verb|){|\emph{object}\verb|}| +\end{lscommand} + +\noindent یا + +\begin{lscommand} +\ci{multiput}\verb|(|$x,y$\verb|)(|$\Delta x,\Delta y$\verb|){|$n$\verb|}{|\emph{object}\verb|}| +\end{lscommand} + +خمهای بزیه از این قاعده مستثنی است. این خمها را میتوان با فرمان زیر رسم کرد + +\begin{lscommand} +\ci{qbezier}\verb|(|$x_1,y_1$\verb|)(|$x_2,y_2$\verb|)(|$x_3,y_3$\verb|)| +\end{lscommand} + +\newpage + + +\subsection{پارهخط} + +\begin{example} +\setlength{\unitlength}{5cm} +\begin{picture}(1,1) + \put(0,0){\line(0,1){1}} + \put(0,0){\line(1,0){1}} + \put(0,0){\line(1,1){1}} + \put(0,0){\line(1,2){.5}} + \put(0,0){\line(1,3){.3333}} + \put(0,0){\line(1,4){.25}} + \put(0,0){\line(1,5){.2}} + \put(0,0){\line(1,6){.1667}} + \put(0,0){\line(2,1){1}} + \put(0,0){\line(2,3){.6667}} + \put(0,0){\line(2,5){.4}} + \put(0,0){\line(3,1){1}} + \put(0,0){\line(3,2){1}} + \put(0,0){\line(3,4){.75}} + \put(0,0){\line(3,5){.6}} + \put(0,0){\line(4,1){1}} + \put(0,0){\line(4,3){1}} + \put(0,0){\line(4,5){.8}} + \put(0,0){\line(5,1){1}} + \put(0,0){\line(5,2){1}} + \put(0,0){\line(5,3){1}} + \put(0,0){\line(5,4){1}} + \put(0,0){\line(5,6){.8333}} + \put(0,0){\line(6,1){1}} + \put(0,0){\line(6,5){1}} +\end{picture} +\end{example} + +پارهخطها را میتوان با فرمان زیر رسم کرد + +\begin{lscommand} +\ci{put}\verb|(|$x,y$\verb|){|\ci{line}\verb|(|$x_1,y_1$\verb|){|$length$\verb|}}| +\end{lscommand} + +فرمان \ci{line} دارای دو آرگومان است: +\begin{enumerate} + \item یک بردار جهتدار، + \item یک طول. +\end{enumerate} +مؤلفههای بردار جهتدار به چند عدد محدود میشود +\[ + -6,\,-5,\,\ldots,\,5,\,6, +\] +و باید نسبت به هم اول باشند +(یعنی دارای بزرگترین مقسوم علیه ۱ باشند). در شکل تمام ۲۵ شیب ممکن در یکچهارم اول نمایش داده شده است. طول بستگی به \ci{unitlength} دارد. آرگومان طول همان مؤلفهٔ افقی است و تنها در حالتی که پارهخط عمودی باشد، این آرگومان همان مؤلفهٔ عمودی است. + +\subsection{پیکانها} + + +\begin{example} +\setlength{\unitlength}{0.75mm} +\begin{picture}(60,40) + \put(30,20){\vector(1,0){30}} + \put(30,20){\vector(4,1){20}} + \put(30,20){\vector(3,1){25}} + \put(30,20){\vector(2,1){30}} + \put(30,20){\vector(1,2){10}} + \thicklines + \put(30,20){\vector(-4,1){30}} + \put(30,20){\vector(-1,4){5}} + \thinlines + \put(30,20){\vector(-1,-1){5}} + \put(30,20){\vector(-1,-4){5}} +\end{picture} +\end{example} + +پیکانها با فرمان زیر رسم میشوند + +\begin{lscommand} +\ci{put}\verb|(|$x,y$\verb|){|\ci{vector}\verb|(|$x_1,y_1$\verb|){|$length$\verb|}}| +\end{lscommand} + +برای پیکانها، مؤلفههای بردارهای جهتدار حتی بیشتر از این محدود هستند و تنها به چند عدد محدود هستند +\[ + -4,\,-3,\,\ldots,\,3,\,4. +\] +این اعداد نیز باید نسبت به هم اول باشند. به تأثیر فرمان \ci{thicklines} روی دو بردار به سمت چپ توجه داشته باشید. + +\subsection{دایره} + +\begin{example} +\setlength{\unitlength}{1mm} +\begin{picture}(60, 40) + \put(20,30){\circle{1}} + \put(20,30){\circle{2}} + \put(20,30){\circle{4}} + \put(20,30){\circle{8}} + \put(20,30){\circle{16}} + \put(20,30){\circle{32}} + + \put(40,30){\circle{1}} + \put(40,30){\circle{2}} + \put(40,30){\circle{3}} + \put(40,30){\circle{4}} + \put(40,30){\circle{5}} + \put(40,30){\circle{6}} + \put(40,30){\circle{7}} + \put(40,30){\circle{8}} + \put(40,30){\circle{9}} + \put(40,30){\circle{10}} + \put(40,30){\circle{11}} + \put(40,30){\circle{12}} + \put(40,30){\circle{13}} + \put(40,30){\circle{14}} + + \put(15,10){\circle*{1}} + \put(20,10){\circle*{2}} + \put(25,10){\circle*{3}} + \put(30,10){\circle*{4}} + \put(35,10){\circle*{5}} +\end{picture} +\end{example} + +فرمان + +\begin{lscommand} + \ci{put}\verb|(|$x,y$\verb|){|\ci{circle}\verb|{|\emph{diameter}\verb|}}| +\end{lscommand} + +\noindent یک دایره به مرکز $(x,y)$ و قطر +(نه شعاع) +\emph{diameter} را رسم میکند. +محیط \ei{picture} تنها قطرهای تا حداکثر ۱۴ میلیمتر را میپذیرد. فرمان \ci{circle*} +قرصها را تولید میکند +(دایرههای توپر). + +همانند پارهخطها، باید از بستههای دیگری نیز استفاده کرد، مانند \pai{eepic} یا \pai{pstricks}. +برای راهنمایی کامل در مورد این بستهها به +\graphicscompanion مراجعه کنید. + +حالت دیگری نیز در محیط \ei{picture} وجود دارد. اگر از انجام محاسبات ریاضی نمیترسید، دایرهها و بیضیهای دلخواه را میتوان با خمهای بزیه به هم چسباند. برای مثالهایی از کدهای جاوا به +\graphicsinlatex مراجعه کنید. +\subsection{متن و فرمول} + +\begin{example} +\setlength{\unitlength}{0.8cm} +\begin{picture}(6,5) + \thicklines + \put(1,0.5){\line(2,1){3}} + \put(4,2){\line(-2,1){2}} + \put(2,3){\line(-2,-5){1}} + \put(0.7,0.3){$A$} + \put(4.05,1.9){$B$} + \put(1.7,2.95){$C$} + \put(3.1,2.5){$a$} + \put(1.3,1.7){$b$} + \put(2.5,1.05){$c$} + \put(0.3,4){$F= + \sqrt{s(s-a)(s-b)(s-c)}$} + \put(3.5,0.4){$\displaystyle + s:=\frac{a+b+c}{2}$} +\end{picture} +\end{example} + +همانطور که این مثال نشان میدهد، متن و فرمول را میتوان در محیط \ei{picture} با فرمان \ci{put} به طریق عادی درج کرد. + +%\subsection{\texorpdfstring{\lr{$\backslash$multiput}\rl{\, و } \lr{$\backslash$linethikness}}{فرمانهای $\backslash$multiput و $\backslash$linethikness}} +\subsection{\texorpdfstring{\ci{multiput} و \ci{linethikness}}{فرمانهای multiput و linethikness}} + +\begin{example} +\setlength{\unitlength}{2mm} +\begin{picture}(30,20) + \linethickness{0.075mm} + \multiput(0,0)(1,0){26}% + {\line(0,1){20}} + \multiput(0,0)(0,1){21}% + {\line(1,0){25}} + \linethickness{0.15mm} + \multiput(0,0)(5,0){6}% + {\line(0,1){20}} + \multiput(0,0)(0,5){5}% + {\line(1,0){25}} + \linethickness{0.3mm} + \multiput(5,0)(10,0){2}% + {\line(0,1){20}} + \multiput(0,5)(0,10){2}% + {\line(1,0){25}} +\end{picture} +\end{example} + +فرمان + +\begin{lscommand} + \ci{multiput}\verb|(|$x,y$\verb|)(|$\Delta x,\Delta y$\verb|){|$n$\verb|}{|\emph{object}\verb|}| +\end{lscommand} + +\noindent دارای چهار آرگومان است: نقطهٔ شروع، نقطهٔ پایان، بردار انتقال از یک شیئ به شیئ بعدی، تعداد اشیاء، وشیئ که باید رسم شود. فرمان \ci{linethickness} به پارهخطهای افقی و عمودی تأثیر دارد ولی روی خطهای اریب و دایرهها بیتأثیر است. این فرمان مسلماً روی خمهای بزیه تأثیر دارد! +\subsection{بیضی} + +\begin{example} +\setlength{\unitlength}{0.75cm} +\begin{picture}(6,4) + \linethickness{0.075mm} + \multiput(0,0)(1,0){7}% + {\line(0,1){4}} + \multiput(0,0)(0,1){5}% + {\line(1,0){6}} + \thicklines + \put(2,3){\oval(3,1.8)} + \thinlines + \put(3,2){\oval(3,1.8)} + \thicklines + \put(2,1){\oval(3,1.8)[tl]} + \put(4,1){\oval(3,1.8)[b]} + \put(4,3){\oval(3,1.8)[r]} + \put(3,1.5){\oval(1.8,0.4)} +\end{picture} +\end{example} + +فرمان + +\begin{lscommand} + \ci{put}\verb|(|$x,y$\verb|){|\ci{oval}\verb|(|$w,h$\verb|)}| +\end{lscommand} + +\noindent یا + +\begin{lscommand} + \ci{put}\verb|(|$x,y$\verb|){|\ci{oval}\verb|(|$w,h$\verb|)[|\emph{position}\verb|]}| +\end{lscommand} + +\noindent یک بیضی به مرکز $(x,y)$ و به عرض $w$ و ارتفاع $h$ تولید میکند. آرگومانهای مکان \emph{position} که عبارتند از \lr{\texttt{b}}، \lr{\texttt{t}}، \lr{\texttt{l}}، \lr{\texttt{r}} به \lr{``top''}(بالا)، \lr{``bottom''}(پایین)، \lr{``left''}(چپ)، +و \lr{``right''}(راست) +اشاره دارند و میتوانند همانند مثال با هم ترکیب شوند. + +ضخامت خط را میتوان با دو نوع فرمان کنترل کرد: +\LRE{\ci{linethickness}\verb|{|\emph{length}\verb|}|} +از یک طرف، و \ci{thinlines} و \ci{thicklines} از طرف دیگر \LRE{\ci{linethickness}\verb|{|\emph{length}\verb|}|} +فقط به خطهای افقی و عمودی +(و خمهای درجه دوم بزیه) +تأثیر دارد، در حالی که \ci{thinlines} و \ci{thicklines} بر خطهای اریب و دایرهها و بیضیها نیز تأثیر دارند. + +\subsection{استفاده چندباره از جعبههای تصویر پیشساخته} + +\begin{example} +\setlength{\unitlength}{0.5mm} +\begin{picture}(120,168) +\newsavebox{\foldera} +\savebox{\foldera} + (40,32)[bl]{% definition + \multiput(0,0)(0,28){2} + {\line(1,0){40}} + \multiput(0,0)(40,0){2} + {\line(0,1){28}} + \put(1,28){\oval(2,2)[tl]} + \put(1,29){\line(1,0){5}} + \put(9,29){\oval(6,6)[tl]} + \put(9,32){\line(1,0){8}} + \put(17,29){\oval(6,6)[tr]} + \put(20,29){\line(1,0){19}} + \put(39,28){\oval(2,2)[tr]} +} +\newsavebox{\folderb} +\savebox{\folderb} + (40,32)[l]{% definition + \put(0,14){\line(1,0){8}} + \put(8,0){\usebox{\foldera}} +} +\put(34,26){\line(0,1){102}} +\put(14,128){\usebox{\foldera}} +\multiput(34,86)(0,-37){3} + {\usebox{\folderb}} +\end{picture} +\end{example} + +یک جعبهٔ تصویر را میتوان با فرمان + +\begin{lscommand} + \ci{newsavebox}\verb|{|\emph{name}\verb|}| +\end{lscommand} + +\noindent +معرفی، و با فرمان + +\begin{lscommand} + \ci{savebox}\verb|{|\emph{name}\verb|}(|\emph{width,height}\verb|)[|\emph{position}\verb|]{|\emph{content}\verb|}| +\end{lscommand} + +\noindent تعریف، و نهایتاً با فرمان + +\begin{lscommand} + \ci{put}\verb|(|$x,y$\verb|)|\ci{usebox}\verb|{|\emph{name}\verb|}| +\end{lscommand} + +رسم کرد. + +پارامتر اختیاری \emph{position} نقش لنگر را برای جعبه بازی میکند. در مثال این پارامتر برابر \lr{\texttt{bl}} تعریف شده است که لنگر را در گوشهٔ چپ پایین صفحه قرار میدهد. گزینههای دیگر \lr{\texttt{t}} (بالا) +و \lr{\texttt{r}} (راست) +هستند. + +آرگومان \emph{name} به یک جعبه در لاتک ارجاع میکند و بنابراین طبیعت فرمان دارد. تصاویر درون جعبهها میتوانند تودرتو باشند: +در این مثال \ci{foldera} درون \ci{folderb} تعریف شده است. + +فرمان \ci{oval} که باید همانند \ci{line} استفاده شود به پارهخطهای کمتر از ۳ میلیمتر بیتأثیر است. + +\subsection{خمهای درجهٔ دوم بزیه} + +\begin{example} +\setlength{\unitlength}{0.8cm} +\begin{picture}(6,4) + \linethickness{0.075mm} + \multiput(0,0)(1,0){7} + {\line(0,1){4}} + \multiput(0,0)(0,1){5} + {\line(1,0){6}} + \thicklines + \put(0.5,0.5){\line(1,5){0.5}} + \put(1,3){\line(4,1){2}} + \qbezier(0.5,0.5)(1,3)(3,3.5) + \thinlines + \put(2.5,2){\line(2,-1){3}} + \put(5.5,0.5){\line(-1,5){0.5}} + \linethickness{1mm} + \qbezier(2.5,2)(5.5,0.5)(5,3) + \thinlines + \qbezier(4,2)(4,3)(3,3) + \qbezier(3,3)(2,3)(2,2) + \qbezier(2,2)(2,1)(3,1) + \qbezier(3,1)(4,1)(4,2) +\end{picture} +\end{example} + +همانطور که این مثال نشان میدهد، تقسیم یک دایره به چهار خم بزیه مطلوب نیست. حداقل ۸ قسمت مورد نیاز است. شکل، دوباره اثر فرمان \ci{linethickness} را روی خطهای افقی و عمودی، و اثر \ci{thinlines} و \ci{thicklines} را روی خطهای مورب نشان میدهد. این مثال همچنین نشان میدهد که همهٔ این فرمانها روی خمهای بزیه مؤثر هستند و اثر فرمانهای قبلی را از بین میبرند. + +فرض کنید $P_1=(x_1,\,y_1),\,P_2=(x_2,\,y_2)$ نقاط انتهایی باشند، و $m_1,\,m_2$ به ترتیب شیبهای خمهای بزیه باشند. نقطهٔ کنترل کنندهٔ میانی +$S=(x,\,y)$ با رابطهٔ + + +\begin{equation} \label{zwischenpunkt} + \left\{ + \begin{array}{rcl} + x & = & \displaystyle \frac{m_2 x_2-m_1x_1-(y_2-y_1)}{m_2-m_1}, \\ + y & = & y_i+m_i(x-x_i)\qquad (i=1,\,2). + \end{array} + \right. +\end{equation} + +\noindent +داده شده است. +\graphicsinlatex را برای دیدن یک برنامهٔ جاوا که خطفرمان لازم برای فرمانهای \ci{qbezier} را ارائه میدهد ببینید. +\subsection{تسبیح} + +\begin{example} +\setlength{\unitlength}{1cm} +\begin{picture}(4.3,3.6)(-2.5,-0.25) +\put(-2,0){\vector(1,0){4.4}} +\put(2.45,-.05){$x$} +\put(0,0){\vector(0,1){3.2}} +\put(0,3.35){\makebox(0,0){$y$}} +\qbezier(0.0,0.0)(1.2384,0.0) + (2.0,2.7622) +\qbezier(0.0,0.0)(-1.2384,0.0) + (-2.0,2.7622) +\linethickness{.075mm} +\multiput(-2,0)(1,0){5} + {\line(0,1){3}} +\multiput(-2,0)(0,1){4} + {\line(1,0){4}} +\linethickness{.2mm} +\put( .3,.12763){\line(1,0){.4}} +\put(.5,-.07237){\line(0,1){.4}} +\put(-.7,.12763){\line(1,0){.4}} +\put(-.5,-.07237){\line(0,1){.4}} +\put(.8,.54308){\line(1,0){.4}} +\put(1,.34308){\line(0,1){.4}} +\put(-1.2,.54308){\line(1,0){.4}} +\put(-1,.34308){\line(0,1){.4}} +\put(1.3,1.35241){\line(1,0){.4}} +\put(1.5,1.15241){\line(0,1){.4}} +\put(-1.7,1.35241){\line(1,0){.4}} +\put(-1.5,1.15241){\line(0,1){.4}} +\put(-2.5,-0.25){\circle*{0.2}} +\end{picture} +\end{example} + + +در این شکل، هر نیمهٔ متقارن از تسبیح $y=\cosh x -1$ با یک خم بزیه تقریب زده شده است. نیمهٔ سمت راست در نقطهٔ + \((2,\,2.7622)\) به پایان میرسد، که شیب خط در این نقطه +\(m=3.6269\) است. با استفادهٔ دوباره از رابطهٔ ( +\ref{zwischenpunkt})، میتوانیم نقاط میانی کنترلی را بدست آوریم. این نقاط برابرند با +$(1.2384,\,0)$ و + $(-1.2384,\,0)$. +علامتهای صلیب نقاط تسبیح را نشان میدهند. خطا قابل چشمپوشی است و کمتر از یک درصد است. + +این مثال استفاده از آرگومان اختیاری فرمان \verb|\begin{picture}| را نشان میدهد. +تصویر به صورت مناسب مولفههای ریاضی تعریف شده است، با این وجود با فرمان + +\begin{lscommand} + \ci{begin}\verb|{picture}(4.3,3.6)(-2.5,-0.25)| +\end{lscommand} + +\noindent گوشهٔ سمت چپ پایین +(که با قرص سیاه مشخص شده است) +با مختصات +$(-2.5,-0.25)$ تعریف شده است. +\subsection{سرعت در نظریه نسبیت عام} + +\begin{example} +\setlength{\unitlength}{0.8cm} +\begin{picture}(6,4)(-3,-2) + \put(-2.5,0){\vector(1,0){5}} + \put(2.7,-0.1){$\chi$} + \put(0,-1.5){\vector(0,1){3}} + \multiput(-2.5,1)(0.4,0){13} + {\line(1,0){0.2}} + \multiput(-2.5,-1)(0.4,0){13} + {\line(1,0){0.2}} + \put(0.2,1.4) + {$\beta=v/c=\tanh\chi$} + \qbezier(0,0)(0.8853,0.8853) + (2,0.9640) + \qbezier(0,0)(-0.8853,-0.8853) + (-2,-0.9640) + \put(-3,-2){\circle*{0.2}} +\end{picture} +\end{example} + +نقاط کنترلی خمهای بزیه با فرمولهای +\eqref{zwischenpunkt} محاسبه شدهاند. +شاخهٔ مثبت با $P_1=(0,\,0)$، $\,m_1=1$، $P_2=(2,\,\tanh 2)$، و $\,m_2=1/\cosh^2 2$ تعریف میشود. +دوباره، تصویر به شکل مختصات مناسب مؤلفهای ریاضی تعریف شده است و گوشهٔ سمت چپ پایین با مختصات + $(-3,-2)$ تعریف شده است + (دیسک سیاه). + + +\section{بستهٔ گرافیک \lr{TikZ \& PGF}} + +امروزه هر سیستم تولید خروجی \lr{\LaTeX{}} توانایی تولید تصاویر بُرداری زیبا را دارد، تنها ابزار انجام این کار ممکن است تغییر کند. بستهٔ \lr{PGF} +یک لایهٔ رویی برای انجام این کار را در اختیار شما قرار میدهد و اجازه میدهد که این کار را با استفاده از فرمانهای ساده به راحتی انجام دهید + و تصاویر برداری پیچیده را دقیقاً از داخل نوشتار تولید کنید. بستهٔ \lr{PGF} دارای راهنمای +۵۰۰ صفحهای است\cite{pgfplots}. +بنابراین در این بخش کوتاه قصد داریم تنها جرعهای از این چشمهٔ بیکران را به شما بچشانیم. + +برای دسترسی سطح بالا به توابع \lr{PGF} باید بستهٔ \pai{tikz} را فراخوانی کنید. با استفاده از بستهٔ \lr{tikz} میتوانید فرمانهای بسیار مؤثری را برای +رسم تصاویر از داخل نوشتار خود استفاده کنید. از محیط \ei{tikzpicture} برای این کار استفاده کنید. + +\begin{example} +\begin{tikzpicture}[scale=3] + \clip (-0.1,-0.2) + rectangle (1.8,1.2); + \draw[step=.25cm,gray,very thin] + (-1.4,-1.4) grid (3.4,3.4); + \draw (-1.5,0) -- (2.5,0); + \draw (0,-1.5) -- (0,1.5); + \draw (0,0) circle (1cm); + \filldraw[fill=green!20!white, + draw=green!50!black] + (0,0) -- (3mm,0mm) + arc (0:30:3mm) -- cycle; +\end{tikzpicture} +\end{example} +اگر به زبانهای دیگر برنامهنویسی آشنا هستید، ممکن است به فرمان آشنای نیمنقطه (\lr{\texttt{;}}) توجه کرده باشید که +برای جداسازی فرمانهای مختلف مورد استفاده قرار میگیرد. با استفاده از فرمان \ci{usetikzlibrary} در سرآغاز نوشتار خود +میتوانید امکانات بیشتری را برای رسم اشکال ویژه فعال کنید، مانند جعبههایی که کمی خم شدهاند. +\begin{example} +\usetikzlibrary{% + decorations.pathmorphing} +\begin{tikzpicture}[ + decoration={bent,aspect=.3}] + \draw [decorate,fill=lightgray] + (0,0) rectangle (5.5,2); + \node[circle,draw] + (A) at (.5,.5) {A}; + \node[circle,draw] + (B) at (5,1.5) {B}; + \draw[->,decorate] (A) -- (B); + \draw[->,decorate] (B) -- (A); +\end{tikzpicture} +\end{example} + +همچنین میتوانید دیاگرامهایی را رسم کنید که مانند این است که دقیقاً از یک کتاب برنامه نویسی پاسکال برداشته شده است. +کد این کار کمی پیچیدهتر از مثال بالا است، بنابراین تنها اثر آن را نمایش میدهم. اگر به راهنمای بستهٔ \lr{PGF} +نگاهی بیندازید، میتوانید راهنمای مفصل رسم این دیاگرامها را ببینید. + +\setLR +\begin{center} +\begin{tikzpicture}[point/.style={coordinate},thick,draw=black!50,>=stealth', + tip/.style={->,shorten >=1pt},every join/.style={rounded corners}, + skip loop/.style={to path={-- ++(0,#1) -| (\tikztotarget)}}, + hv path/.style={to path={-| (\tikztotarget)}}, + vh path/.style={to path={|- (\tikztotarget)}}, + terminal/.style={ + rounded rectangle, + minimum size=6mm, + thick,draw=black!50, + top color=white,bottom color=black!20, + font=\ttfamily\tiny}, + nonterminal/.style={ + rectangle, + minimum size=6mm, + thick, + draw=red!50!black!50, % 50% red and 50% black, + top color=white, % a shading that is white at the top... + bottom color=red!50!black!20, % and something else at the bottom + font=\itshape\tiny}] +\matrix[column sep=4mm] { + % First row: + & & & & & & & & & & & \node (plus) [terminal] {+};\\ + % Second row: + \node (p1) [point] {}; & \node (ui1) [nonterminal] {\rl{عدد بدونعلامت}}; & + \node (p2) [point] {}; & \node (dot) [terminal] {.}; & + \node (p3) [point] {}; & \node (digit) [terminal] {\rl{رقم}}; & + \node (p4) [point] {}; & \node (p5) [point] {}; & + \node (p6) [point] {}; & \node (e) [terminal] {E}; & + \node (p7) [point] {}; & & + \node (p8) [point] {}; & \node (ui2) [nonterminal] {\rl{عدد بدونعلامت}}; & + \node (p9) [point] {}; & \node (p10) [point] {};\\ + % Third row: + & & & & & & & & & & & \node (minus)[terminal] {-};\\ +}; +{ [start chain] + \chainin (p1); + \chainin (ui1) [join=by tip]; + \chainin (p2) [join]; + \chainin (dot) [join=by tip]; + \chainin (p3) [join]; + \chainin (digit) [join=by tip]; + \chainin (p4) [join]; + { [start branch=digit loop] + \chainin (p3) [join=by {skip loop=-6mm,tip}]; + } + \chainin (p5) [join,join=with p2 by {skip loop=6mm,tip}]; + \chainin (p6) [join]; + \chainin (e) [join=by tip]; + \chainin (p7) [join]; + { [start branch=plus] + \chainin (plus) [join=by {vh path,tip}]; + \chainin (p8) [join=by {hv path,tip}]; + } + { [start branch=minus] + \chainin (minus) [join=by {vh path,tip}]; + \chainin (p8) [join=by {hv path,tip}]; + } + \chainin (p8) [join]; + \chainin (ui2) [join=by tip]; + \chainin (p9) [join,join=with p6 by {skip loop=-11mm,tip}]; + \chainin (p10) [join=by tip]; +} +\end{tikzpicture} +\end{center} +\setRL + +\pagebreak +چیزهای بیشتری وجود دارد؛ اگر میخواهید نمودار دادههای عددی را رسم کنید، باید نگاه دقیقتری به راهنمای بستهٔ \pai{pgfplot} +بیندازید. این راهنما شامل هر چیزی است که برای رسم این نمودارها لازم دارید. حتی میتوانید فرمان \lr{\texttt{gnuplot}} +را استفاده کنید تا مقدار دقیق توابع مورد نظر خود را بدست آورید. + +\section{\lr{\Xy-pic}} +%\secby{Alberto Manuel Brand\~ao Sim\~oes}{albie@alfarrabio.di.uminho.pt} +\pai{xy} یک بسته برای طراحی دیاگرامهاست. برای استفاده از آن، فرمان زیر را در سرآغاز نوشتار خود قرار دهید: + +\begin{lscommand} +\verb|\usepackage[|\emph{options}\verb|]{xy}| +\end{lscommand} + +\emph{options} + لیستی از توابع \lr{\Xy-pic} است که میخواهید فراخوانی کنید. این گزینهها برای غلط\-گیری بسیار مؤثر هستند. توصیه میکنم تمام گزینهها را با گزینهٔ \verb!all! فعال کنید تا لاتک تمام فرمانهای \lr{\Xy} را فراخوانی کند. + +دیاگرامهای \lr{\Xy-pic} روی یک طرح ماتریسی نمایش داده میشوند، که هر دیاگرام در یک خانهٔ ماتریس قرار میگیرد: + +\begin{example} +\begin{displaymath} +\xymatrix{A & B \\ + C & D } +\end{displaymath} +\end{example} + +فرمان \ci{xymatrix} باید در محیط ریاضی مورد استفاده قرار بگیرد. در اینجا دو سطر و دو ستون مشخص کردهایم. برای این که این ماتریس را به یک دیاگرام تبدیل کنیم باید جهت پیکانها را با فرمان \ci{ar} مشخص کنیم. + +\begin{example} +\begin{displaymath} +\xymatrix{ A \ar[r] & B \ar[d] \\ + D \ar[u] & C \ar[l] } +\end{displaymath} +\end{example} + +فرمان پیکان در سلول اصلی پیکان قرار داده میشود. آرگومانها جهت پیکان هستند و باید به +\lr{\texttt{u}p}،\lr{\texttt{d}own}، \lr{\texttt{r}ight}، یا +\lr{\texttt{l}eft} +اشاره کنند. + + +\begin{example} +\begin{displaymath} +\xymatrix{ + A \ar[d] \ar[dr] \ar[r] & B \\ + D & C } +\end{displaymath} +\end{example} + +برای رسم قطرها، فقط کافی است جهت را معرفی کنیم. در حقیقت، میتوانید جهت را تکرار کنید تا پیکانها بزرگتر شوند. + +\begin{example} +\begin{displaymath} +\xymatrix{ + A \ar[d] \ar[dr] \ar[drr] & & \\ + B & C & D } +\end{displaymath} +\end{example} + + +میتوانیم حتی دیاگرامهای جالب با افزودن برچسب به پیکانها طراحی کنیم. برای این کار، از فرمانهای زیرنویس و بالانویس استفاده میکنیم. + +\begin{example} +\begin{displaymath} +\xymatrix{ + A \ar[r]^f \ar[d]_g & + B \ar[d]^{g'} \\ + D \ar[r]_{f'} & C } +\end{displaymath} +\end{example} + + +همانطور که نشان داده شد، این کارها را همانند سبک ریاضی میتوان انجام داد. تنها تفاوت در این است که بالانویس به معنای بالای پیکان و پاییننویس پایین پیکان است. عملگر سومی نیز وجود دارد : \verb+|+ این فرمان باعث میشود متنی در درون یک پیکان ظاهر شود. + +\begin{example} +\begin{displaymath} +\xymatrix{ + A \ar[r]|f \ar[d]|g & + B \ar[d]|{g'} \\ + D \ar[r]|{f'} & C } +\end{displaymath} +\end{example} + + +برای رسم یک پیکان با یک حفره درون آن از \verb!\ar[...]|\hole! استفاده کنید. + +در بعضی حالات، مهم است که تفاوت بین انواع پیکانها را بدانیم. این کار را میتوان با قرار دادن برچسبی بر آنها یا تغییر ظاهر آنها انجام داد. + + +\begin{example} +\begin{displaymath} +\xymatrix{ +\bullet\ar@{->}[rr] && \bullet\\ +\bullet\ar@{.<}[rr] && \bullet\\ +\bullet\ar@{~)}[rr] && \bullet\\ +\bullet\ar@{=(}[rr] && \bullet\\ +\bullet\ar@{~/}[rr] && \bullet\\ +\bullet\ar@{^{(}->}[rr] && + \bullet\\ +\bullet\ar@2{->}[rr] && \bullet\\ +\bullet\ar@3{->}[rr] && \bullet\\ +\bullet\ar@{=+}[rr] && \bullet +} +\end{displaymath} +\end{example} + + +به تفاوت بین دو دیاگرام توجه کنید: + + +\begin{example} +\begin{displaymath} +\xymatrix{ + \bullet \ar[r] + \ar@{.>}[r] & + \bullet +} +\end{displaymath} +\end{example} + +\begin{example} +\begin{displaymath} +\xymatrix{ + \bullet \ar@/^/[r] + \ar@/_/@{.>}[r] & + \bullet +} +\end{displaymath} +\end{example} + + +تنظیمکنندههای بین دو اسلش روش رسم خمها را مشخص میکنند. +\lr{\Xy-pic} روشهای بسیاری را برای تغییر سبک رسم خمها ارائه میکند: برای اطلاع بیشتر به راهنمای \lr{\Xy-pic} مراجعه کنید. + +%%% Local Variables: +%%% TeX-master: "lshort.tex" +%%% mode: flyspell +%%% TeX-PDF-mode: t +%%% End: diff --git a/info/lshort/persian/lshort-a5.tex b/info/lshort/persian/lshort-a5.tex new file mode 100644 index 0000000000..08be4ae8d0 --- /dev/null +++ b/info/lshort/persian/lshort-a5.tex @@ -0,0 +1,10 @@ +\documentclass[a5paper,twoside,9pt]{extbook} +\usepackage{mylayout} +\usepackage[left=1.7cm,right=2.2cm,top=2cm,bottom=1.5cm]{geometry} +\input{lshort-base.tex} + +% Local Variables: +% TeX-master: "lshort2e" +% mode: latex +% mode: flyspell +% End: diff --git a/info/lshort/persian/lshort-base.tex b/info/lshort/persian/lshort-base.tex new file mode 100644 index 0000000000..c773a88126 --- /dev/null +++ b/info/lshort/persian/lshort-base.tex @@ -0,0 +1,98 @@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Contents: Main Input File of the LaTeX2e Introduction +% $Id: lshort-base.tex 171 2008-09-24 13:05:00Z oetiker $ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% lshort.tex - The not so short introduction to LaTeX +% by Tobias Oetiker +% oetiker@ee.ethz.ch +% +% based on LKURTZ.TEX Uni Graz & TU Wien, 1987 +%----------------------------------------------------------------------- +% +% To compile lshort, you need TeX 3.x, LaTeX and makeindex +% +% The sources files of the Intro are: +% lshort.tex (this file), +% titel.tex, contrib.tex, biblio.tex +% things.tex, typeset.tex, math.tex, lssym.tex, spec.tex, +% lshort.sty, fancyheadings.sty +% +% Further the verbatim.sty and the layout.sty +% from the LaTeX Tools distribution is +% required. +% +% +% To print the AMS symbols you need the AMS fonts and the packages +% amsfonts, eufrak and eucal from (AMS LaTeX 1.2) +% +% --------------------------------------------------------------------- + +\usepackage{lshort} +\usepackage{makeidx,shortvrb,latexsym} + +% +% This document is ``public domain''. It may be printed and +% distributed free of charge in its original form (including the +% list of authors). If it is changed or if parts of it are used +% within another document, then the author list must include +% all the original authors AND that author (those authors) who +% has (have) made the changes. +% +% Original Copyright H.Partl, E.Schlegl, and I.Hyna (1987). +% English Version Copyright by Tobias Oetiker (1994,1995), +% +% --------------------------------------------------------------------- +% +% +% Formats also with\textt{letterpaper} option, but the pagebreaks might not +% fall as nicely. +% +% To produce a A5 booklet, use a tool like pstops or dvitodvi +% to past them together in the right order. Most dvi printer drivers +% can shrink the resulting output to fit on a A4 sheet. +% +\makeindex +\typeout{Copyright T.Oetiker, H.Partl, E.Schlegl, I.Hyna} + +\DeclareMathOperator{\argh}{argh} +\DeclareMathOperator*{\nut}{Nut} + +\begin{document} +\SplitFootnoteRule +\frontmatter +\include{title} +%\include{contrib} +\include{transpreface} +\include{overview} +\pagestyle{fancy} +\tableofcontents +\listoffigures +\listoftables +\enlargethispage{\baselineskip} +\mainmatter +\include{things} +\include{typeset} +\include{math} +\include{lssym} +\include{spec} +\include{graphic} +\include{custom} +%\include{appendix} +\backmatter +\include{biblio} +\refstepcounter{chapter} +\addcontentsline{toc}{chapter}{نمایه} +\printindex +\end{document} + + + + + +% + +% Local Variables: +% TeX-master: "lshort2e" +% mode: latex +% mode: flyspell +% End: diff --git a/info/lshort/persian/lshort.pdf b/info/lshort/persian/lshort.pdf Binary files differnew file mode 100644 index 0000000000..9403d0acb3 --- /dev/null +++ b/info/lshort/persian/lshort.pdf diff --git a/info/lshort/persian/lshort.sty b/info/lshort/persian/lshort.sty new file mode 100644 index 0000000000..9281eb7e10 --- /dev/null +++ b/info/lshort/persian/lshort.sty @@ -0,0 +1,376 @@ +% !TeX root= lshort.tex +% !TEX TS-program=xelatex +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Contents: Special Commands for the LShort2e Introduction +% $Id: lshort.sty,v 1.2 2003/03/19 20:57:45 oetiker Exp $ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% By Tobias Oetiker +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%\errorcontextlines=10 + +%save pageref an label +\let\lsspageref\pageref +\ProvidesPackage{lshort} + +\RequirePackage{mflogo} +\RequirePackage{verbatim} +%\RequirePackage{fancyhea} +\RequirePackage{fancyhdr} +\RequirePackage{calc} +\RequirePackage{lastpage} +\RequirePackage{amsmath,latexsym,amsthm} +\RequirePackage{amssymb} +%\RequirePackage{cmmib57}% Use blueSky cmmib5 cmmib7 cmsy +\RequirePackage[all]{xy} +%\RequirePackage[T1]{fontenc} +%\RequirePackage[latin1]{inputenc} +\RequirePackage{lmodern} +%\RequirePackage{textcomp} +%\RequirePackage{type1cm}% remove size restrictions +%\RequirePackage{aeguill} +% some packages which draw a euro +\RequirePackage{textcomp} +\RequirePackage[onehalfspacing]{setspace} +\RequirePackage{hyperref} + +\hypersetup{colorlinks=true,linkcolor=red,citecolor=green,filecolor=magneta,urlcolor=cyan} + + +% need some magic here to keep the original definition of rightarrow +\newcommand{\org@Rightarrow}{} +\let\org@Rightarrow\Rightarrow +\usepackage{marvosym} +\let\MVRightarrow\Rightarrow +\let\Rightarrow\org@Rightarrow +%%%% +\RequirePackage[gen]{eurosym} % redefines \EUR +\RequirePackage{eurosans} +\let\EUROSANS\euro +% marvosym defines \EUR, \EURtm, \EURhv and \EURcr (with \def), while europs +% uses \providecommand to define them :-( so let's first undefine them: +\let\EURtm\undefined +\let\EURhv\undefined +\let\EURcr\undefined +\RequirePackage{europs} +%\RequirePackage[mathcal]{euscript} +%\IfFileExists{eucal.sty} +% {\RequirePackage[psamsfonts]{eucal}} +% {\IfFileExists{euscript.sty} +% {\RequirePackage[mathcal]{euscript}}{}} + +\RequirePackage{url} +% Lets have some nice headings + +% +\pagestyle{fancyplain} +\renewcommand{\chaptermark}[1]{\markboth{#1}{}} +\renewcommand{\sectionmark}[1]{\markright{\thesection{} #1}} +\lhead[\fancyplain{}{\bfseries\thepage}] + {\fancyplain{}{\bfseries\rightmark}} +\rhead[\fancyplain{}{\bfseries\leftmark}] + {\fancyplain{}{\bfseries\thepage}} +\cfoot[]{} + +\RequirePackage{pgfplots} +\RequirePackage{tikz} +\usetikzlibrary{% + arrows,% + calc,% + fit,% + patterns,% + plotmarks,% + shapes.geometric,% + shapes.misc,% + shapes.symbols,% + shapes.arrows,% + shapes.callouts,% + shapes.multipart,% + shapes.gates.logic.US,% + shapes.gates.logic.IEC,% + er,% + automata,% + backgrounds,% + chains,% + topaths,% + trees,% + petri,% + mindmap,% + matrix,% + calendar,% + folding,% + fadings,% + through,% + positioning,% + scopes,% + decorations.fractals,% + decorations.shapes,% + decorations.text,% + decorations.pathmorphing,% + decorations.pathreplacing,% + decorations.footprints,% + decorations.markings,% + shadows} +\addtolength{\headheight}{1.6pt} + + + + + +% + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Adapted from TeX FAQ +\renewcommand{\Email}{\begingroup \def\UrlLeft{<}\def\UrlRight{>} \urlstyle{tt}\Url} % email address +\def\mailto|#1|{\href{mailto:#1}{\Email|#1|}} % url to mail somewhere +\newcommand{\CTANref}{\begingroup \urlstyle{tt}\Url} % +\def\CTAN|#1|{\href{ftp://ftp.dante.de/tex-archive/#1}{\CTANref|CTAN:/tex-archive/#1|}} +\newcommand\Newsgroup{\begingroup \urlstyle{tt}\Url} % newsgroup +\let\URL\url % just a URL + +\newcommand{\PSi}{پست\-اسکریپت +\index{پستاسکریپت} +\romanindex{PostScript} +} +\newcommand{\EPSi}{کپسول پستاسکریپت%Encapsulated \textsc{PostScript} +\index{\lr{Encapsulated PostScript}@\lr{Encapsulated \textsc{PostScript}}}% +\index{\lr{PostScript}@lr{\textsc{PostScript}}!\lr{Encapsulated}}% +} +% Earlier paragraphs were separated by some space +% +%\setlength{\parindent}{0pt} +%\setlength{\parskip}{1.5ex plus 0.7ex minus 0.6ex} + +\newcommand{\manual}{\cite{manual}\,} +\newcommand{\companion}{\cite{companion}\,} +\newcommand{\guide}{\cite{local}\,} +\newcommand{\contrib}[3]{#1\quad\mailto|#2|{\small\\\quad\textit{#3}}\\[1ex]} +% +% Some commands for helping with INDEX creation +% +%\newcommand{\bs}{\symbol{'134}}%Print backslash +%\newcommand{\bs}{\ensuremath{\mathtt{\backslash}}}%Print backslash +% Index entry for a command (\cih for hidden command index +\newcommand{\eei}[1]{% +%\index{\lr{extension}!\texttt{#1}} +\index{بیی@پسوند!\texttt{#1}}\texttt{#1}} +% probably add handling of period like handling of \ in \ci +\newcommand{\fni}[1]{% +\index{\lr{font}!#1@\texttt{\bs#1}}% +\index{#1@\texttt{\hspace*{-1.2ex}\bs #1}}\texttt{\bs #1}} +\newcommand{\cih}[1]{% +\index{فرمانها!\lr{#1}@\texttt{\bs#1}}% +%\index{\lr{commands}!#1@\texttt{\bs#1}}% +\index{#1@\texttt{\hspace*{-1.2ex}\bs #1}}} +\newcommand{\ci}[1]{\cih{#1}\texttt{\bs #1}} +%Package +\newcommand{\paih}[1]{% +\index{بستهها!\lr{#1}@\textsf{#1}}% +%\index{\lr{packages}!#1@\textsf{#1}}% +\index{#1@\textsf{#1}}} +\newcommand{\pai}[1]{% +\paih{#1}\textsf{#1}} +% Index entry for an environment + +\newcommand{\ei}[1]{% +\index{محیطها!\texttt{#1}}% +%\index{\lr{envoronments}!\texttt{#1}}% +\index{#1@\texttt{#1}}% +\texttt{#1}} +% Indexentry for a word (Word inserted into the text) +\newcommand{\wi}[1]{\index{#1}#1} +% Typesetting Commands +% +\newenvironment{lscommand}% + {\begin{latin}\nopagebreak\par\small\addvspace{3.2ex plus 0.8ex minus 0.2ex}% + \vskip -\parskip + \noindent% + \begin{tabular}{|l|}\hline\rule{0pt}{1em}\ignorespaces}% + {\\\hline\end{tabular}\par\nopagebreak\addvspace{3.2ex plus 0.8ex + minus 0.2ex}% + \vskip -\parskip\end{latin}} +% +% Type setting Code Fragments +% +\newenvironment{code}{\begin{latin}\begin{quote}}{\end{quote}\end{latin}} +% +% Intro Environment +\newenvironment{intro}{\farsifontshafigh}{\vspace*{2ex minus 1.5ex}} +% +\newcommand{\secby}[2]{\LR{\nopagebreak\par\addvspace{-1.5ex}% + \vskip -\parskip\noindent{\tiny \lr{By} #1 \mailto|#2|}\par\nopagebreak% + \addvspace{1ex plus 0.8ex minus 0.2ex}% + \vskip -\parskip\noindent\ignorespaces}} +% +% propper bookmark entries in pdftex + +%\noindent\addvspace{1ex}\small #1 $<$\texttt{#2}$>$\par\addvspace{2ex}\noindnet\ignorespaces} +% +% +% Symbol Entry for Math Symbol Tables +% +\newcommand{\X}[1]{$#1$&\texttt{\string#1}\hspace*{1ex}} +% normal text .... +\newcommand{\SC}[1]{#1&\texttt{\string#1}\hspace*{1ex}} +% for accents in text mode +\newcommand{\A}[1]{#1&\texttt{\string#1}\hspace*{1ex}} +\newcommand{\BB}[2]{#1#2&\texttt{\string#1{} #2}\hspace*{1ex}} + +\newcommand{\W}[2]{$#1{#2}$& + \texttt{\string#1}\texttt{\string{\string#2\string}}\hspace*{1ex}} +\newcommand{\Y}[1]{$\big#1$ &\texttt{\string#1}} % +% Mathsymbol Table +\newsavebox{\symbbox} +\newenvironment{symbols}[1]% +{\par\vspace*{2ex} +\renewcommand{\arraystretch}{1.1} +\begin{lrbox}{\symbbox} +\hspace*{4ex}\begin{latin}\begin{tabular}{@{}#1@{}}}% +{\end{tabular}\end{latin}\end{lrbox}\makebox[\textwidth]{\usebox{\symbbox}}\par\medskip} +% +% Special Prep for AMS Symbols Printout +% Should work if AMS is not available +% + +%% we have no PS versions of the rsfs fonts ... so this is a nogo for pdf +%\ifx\HyPsd@pageref\undefined +\RequirePackage{mathrsfs} +%\fi +\RequirePackage{latexsym} +\RequirePackage[mathcal]{euscript} +% +% Print |--| to show a distance +% +\newcommand{\demowidth}[1]{\rule{0.3pt}{1.3ex}\rule{#1}{0.3pt}\rule{0.3pt}{1.3ex}} +% +% +% --- example ---- +% This is an environment to set LaTeX examples. +% On the left side the source text and on the +% right side the typeset text. +% +% \begin{example} +% \Large This is Large +% \end{example} +% This Part is stolen from the verbaim.sty by FMi +% +\newwrite\example@out +\newcounter{exacnt} +\setcounter{exacnt}{1} +\newlength{\savefboxrule} +\newlength{\savefboxsep} +\newlength{\outdent} +\setlength{\outdent}{1cm} +\addtolength{\headwidth}{\outdent} +\newenvironment{example}% +{\@RTLfalse\begingroup% Lets Keep the Changes Local + \@bsphack + \immediate\openout \example@out \jobname.exa + \let\do\@makeother\dospecials\catcode`\^^M\active + \def\verbatim@processline{% + \immediate\write\example@out{\the\verbatim@line}}% + \verbatim@start}% +{\immediate\closeout\example@out\@esphack\endgroup% + % + % And here comes my part. :- + % + \stepcounter{exacnt}% + \setlength{\parindent}{0pt}% + \par\addvspace{3.0ex plus 0.8ex minus 0.5ex}\vskip -\parskip +% Page \lsspageref{exa:\theexacnt} +\expandafter\ifx\csname r@exa\theexacnt\endcsname\relax\else +%\ifx\pdfoutput\undefined % We're not running pdftex + %\ifodd\lsspageref{exa\theexacnt}\hspace*{0pt}\else\hspace*{-\outdent}\fi% +%\else +%% HyPsd@pageref internal hyperref command v6.69c<<<<<<< HEAD +% \if@twoside\ifodd\HyPsd@pageref{exa\theexacnt}\hspace*{-\outdent}\else\hspace*{0pt}\fi\fi + %======= + \ifodd\HyPsd@pageref{exa\theexacnt}\hspace*{-\outdent}\else\if@twoside\hspace*{0pt}\else\hspace*{-\outdent}\fi\fi%>>>>>>> 404cfb64c15599f79b0868b6d9ef8d43d8850358 +%\fi +\fi +\makebox[\textwidth][l]{% +%\raisebox{-\height}[0pt][\totalheight]{% + \begin{latin}\begin{minipage}[c]{0.5\outdent+0.46\textwidth-3mm}% + \small\verbatiminput{\jobname.exa} + \end{minipage}\end{latin}% + %}% + \hspace{5mm}% + \setlength{\savefboxrule}{\fboxrule}% + \setlength{\fboxrule}{0.1pt}% + \setlength{\savefboxsep}{\fboxsep}% + \setlength{\fboxsep}{3mm}% + % \raisebox{-\height}[0pt][\totalheight]{% + \fbox{% + \begin{latin} + \begin{minipage}{0.5\outdent+0.54\textwidth-3.5mm-2\fboxrule-2\fboxsep}% + \setlength{\fboxrule}{\savefboxrule}% + \setlength{\fboxsep}{\savefboxsep}% + \setlength{\fboxrule}{0.5pt}% + \setlength{\parskip}{1ex plus 0.4ex minus 0.2ex}% + \begin{trivlist}\item\small\input{\jobname.exa} + \end{trivlist} + \end{minipage}\end{latin}%\@rltrue + }% +% }% +}\label{exa\theexacnt}% +\par\addvspace{3ex plus 0.8ex minus 0.5ex}\vskip -\parskip +} + +\newenvironment{lined}[1]% + {\begin{center}\begin{minipage}{#1}\hrule\medskip} + {\vspace{-1ex}\hrule \end{minipage}\end{center}} +% I want no headers on pages created by clearpage + +\renewcommand{\cleardoublepage} + {\clearpage\if@twoside \ifodd\c@page\else + \hbox{}\thispagestyle{empty}\newpage\if@twocolumn\hbox{}\newpage\fi\fi\fi} + + + +\newcommand{\graphicscompanion}{\cite{graphicscompanion} } +\newcommand{\hobby}{\cite{metapost} } +\newcommand{\hoenig}{\cite{unbound} } +\newcommand{\graphicsinlatex}{\cite{ursoswald} } +\usepackage{xepersian} + +\@ifundefined{Footnote}{\let\Footnote\LTRfootnote}{} + +\newcommand{\romanindex}[1]{\index{\lr{#1}}} +\newcommand\emp[1]{«#1»} +\newcommand\femph[1]{{\it #1}} +\let\originalemph\emph +\renewcommand{\emph}[1]{\originalemph{\lr{#1}}} + +% \DeclareMathOperator{\argh}{argh} +% \DeclareMathOperator*{\nut}{Nut} + + +%%%%%%%%%%%%%%%%%%%End of titlesec definitions%%%%%%%%%%%%%%%%%%%%%%%%%%% +\settextfont[UprightFont={ALotus},BoldFont={ALotusBold},ItalicFont={ALotusItalic},Scale=1]{ALotus} +\setlatintextfont[Scale=1]{Linux Libertine} +\defpersianfont\farsifontsayeh[Scale=1.1]{ATitr} +\defpersianfont\farsifontpook[Scale=1]{AKufiOutline} +\defpersianfont\farsifontnavaar[Scale=1]{AHoma} +\defpersianfont\farsifontshafigh[Scale=1]{AMitra} +\defpersianfont\farsifontscheherazade[Scale=1.1]{Scheherazade} +\defpersianfont\nastaliq[Scale=2]{IranNastaliq} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\pagestyle{fancy} +% with this we ensure that the chapter and section +% headings are in lowercase. +\renewcommand{\chaptermark}[1]{% +\markboth{#1}{}} +\renewcommand{\sectionmark}[1]{% +\markright{\thesection\ #1}} + +\fancyhf{} % delete current header and footer +\fancyhead[LO,RE]{\bfseries\thepage} +\fancyhead[RO]{\bfseries\rightmark} +\fancyhead[LE]{\bfseries\leftmark} +\renewcommand{\headrulewidth}{0.5pt} +\renewcommand{\footrulewidth}{0pt} +\addtolength{\headheight}{0.5pt} % space for the rule +\fancypagestyle{plain}{% + \fancyhead{} % get rid of headers on plain pages + \renewcommand{\headrulewidth}{0pt} % and the line +} diff --git a/info/lshort/persian/lshort.tex b/info/lshort/persian/lshort.tex new file mode 100644 index 0000000000..ea8740c7e8 --- /dev/null +++ b/info/lshort/persian/lshort.tex @@ -0,0 +1,9 @@ +% !TEX TS-program=xelatex +\documentclass[11pt,a4paper,twoside]{book} +\usepackage{mylayout} +\input{lshort-base.tex} +% Local Variables: +% TeX-master: "lshort2e" +% mode: latex +% mode: flyspell +% End: diff --git a/info/lshort/persian/lssym.tex b/info/lshort/persian/lssym.tex new file mode 100644 index 0000000000..bdd2ddfca1 --- /dev/null +++ b/info/lshort/persian/lssym.tex @@ -0,0 +1,377 @@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Contents: TeX and LaTeX and AMS symbols for Maths +% $Id: lssym.tex 169 2008-09-24 07:32:13Z oetiker $ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\section{فهرست نمادهای ریاضی} +\label{symbols} + +جدولهای زیر تمام نمادهایی را نشان میدهند که در \femph{سبک} + ریاضی وجود دارند. + +% +% Conditional Text in case the AMS Fonts are installed +% +برای استفاده از نمادهای جدولهای +\ref{AMSD} +%\LRE{\hyperref[AMSD]{12.4}} +الی +\ref{AMSmisc}% +%\LRE{\hyperref[AMSmisc]{19.4}}، +\footnote{این جدولها از \texttt{symbols.tex} توسط \lr{David Carlisle} +انتخاب شدهاند و طبق توصیهٔ \lr{Josef Tkadlec} تغییر یافتهاند.} +بستۀ \pai{amssymb} باید در سرآغاز فرا\-خوانی شده باشد و قلمهای \lr{\AmS} باید روی سیستم نصب شده باشند. اگر بستۀ \lr{\AmS} و قلمهای آن روی سیستم شما نصب نیست، نگاهی به +\CTANref|CTAN:macros/latex/required/amslatex| بیندازید. لیست کاملتری از نمادها را میتوانید در \CTANref|CTAN:info/symbols/comprehensive| بیابید. + + +\begin{table}[!h] +\caption{لهجههای سبک ریاضی} \label{mathacc} +\begin{symbols}{*3{cl}} +\W{\hat}{a} & \W{\check}{a} & \W{\tilde}{a} \\ +\W{\grave}{a} & \W{\dot}{a} & \W{\ddot}{a} \\ +\W{\bar}{a} & \W{\vec}{a} & \W{\widehat}{AAA} \\ +\W{\acute}{a} & \W{\breve}{a} & \W{\widetilde}{AAA} \\ +\W{\mathring}{a} +\end{symbols} +\end{table} + + +\begin{table}[!h] +\caption{الفبای یونانی} \label{greekletters} +\bigskip +\rl{بعضی از حروف مانند \ci{Alpha}، \ci{Beta} و غیره دارای شکل بزرگ نیستند، زیرا شکل بزرگ آنها شبیه حروف رومن \lr{A}، \lr{B}، و \ldots هستند.} +\begin{symbols}{*4{cl}} + \X{\alpha} & \X{\theta} & \X{o} & \X{\upsilon} \\ + \X{\beta} & \X{\vartheta} & \X{\pi} & \X{\phi} \\ + \X{\gamma} & \X{\iota} & \X{\varpi} & \X{\varphi} \\ + \X{\delta} & \X{\kappa} & \X{\rho} & \X{\chi} \\ + \X{\epsilon} & \X{\lambda} & \X{\varrho} & \X{\psi} \\ + \X{\varepsilon}& \X{\mu} & \X{\sigma} & \X{\omega} \\ + \X{\zeta} & \X{\nu} & \X{\varsigma} & \\ + \X{\eta} & \X{\xi} & \X{\tau} & \\ + \X{\Gamma} & \X{\Lambda} & \X{\Sigma} & \X{\Psi} \\ + \X{\Delta} & \X{\Xi} & \X{\Upsilon} & \X{\Omega} \\ + \X{\Theta} & \X{\Pi} & \X{\Phi} +\end{symbols} +\end{table} + + + +\begin{table}[!tbp] +\caption{روابط دوتایی} \label{binaryrel} +\bigskip +\rl{نمادهای زیر را با افزودن \ci{not} در فرمان آنها میتوانید نقیض کنید.} +\begin{symbols}{*3{cl}} + \X{<} & \X{>} & \X{=} \\ + \X{\leq}or \verb|\le| & \X{\geq}or \verb|\ge| & \X{\equiv} \\ + \X{\ll} & \X{\gg} & \X{\doteq} \\ + \X{\prec} & \X{\succ} & \X{\sim} \\ + \X{\preceq} & \X{\succeq} & \X{\simeq} \\ + \X{\subset} & \X{\supset} & \X{\approx} \\ + \X{\subseteq} & \X{\supseteq} & \X{\cong} \\ + \X{\sqsubset}$^a$ & \X{\sqsupset}$^a$ & \X{\Join}$^a$ \\ + \X{\sqsubseteq} & \X{\sqsupseteq} & \X{\bowtie} \\ + \X{\in} & \X{\ni}, \verb|\owns| & \X{\propto} \\ + \X{\vdash} & \X{\dashv} & \X{\models} \\ + \X{\mid} & \X{\parallel} & \X{\perp} \\ + \X{\smile} & \X{\frown} & \X{\asymp} \\ + \X{:} & \X{\notin} & \X{\neq}or \verb|\ne| +\end{symbols} +\centerline{\rl{\footnotesize $^a$ از بستۀ \textsf{latexsym} برای دستیابی به این نماد استفاده کنید}} +\end{table} + +\begin{table}[!tbp] +\caption{عملگرهای دوتایی} +\begin{symbols}{*3{cl}} + \X{+} & \X{-} & & \\ + \X{\pm} & \X{\mp} & \X{\triangleleft} \\ + \X{\cdot} & \X{\div} & \X{\triangleright}\\ + \X{\times} & \X{\setminus} & \X{\star} \\ + \X{\cup} & \X{\cap} & \X{\ast} \\ + \X{\sqcup} & \X{\sqcap} & \X{\circ} \\ + \X{\vee}, \verb|\lor| & \X{\wedge}, \verb|\land| & \X{\bullet} \\ + \X{\oplus} & \X{\ominus} & \X{\diamond} \\ + \X{\odot} & \X{\oslash} & \X{\uplus} \\ + \X{\otimes} & \X{\bigcirc} & \X{\amalg} \\ + \X{\bigtriangleup} &\X{\bigtriangledown}& \X{\dagger} \\ + \X{\lhd}$^a$ & \X{\rhd}$^a$ & \X{\ddagger} \\ + \X{\unlhd}$^a$ & \X{\unrhd}$^a$ & \X{\wr} +\end{symbols} + +\end{table} + +\begin{table}[!tbp] +\caption{عملگرهای بزرگ} +\begin{symbols}{*4{cl}} + \X{\sum} & \X{\bigcup} & \X{\bigvee} \\ + \X{\prod} & \X{\bigcap} & \X{\bigwedge} \\ + \X{\coprod} & \X{\bigsqcup} & \X{\biguplus} \\ + \X{\int} & \X{\oint} & \X{\bigodot} \\ + \X{\bigoplus} & \X{\bigotimes} & \\ +\end{symbols} + +\end{table} + + +\begin{table}[!tbp] +\caption{پیکانها} \label{tab:arrows} +\begin{symbols}{*2{cl}} + \X{\leftarrow}or \verb|\gets|& \X{\longleftarrow} \\ + \X{\rightarrow}or \verb|\to|& \X{\longrightarrow} \\ + \X{\leftrightarrow} & \X{\longleftrightarrow} \\ + \X{\Leftarrow} & \X{\Longleftarrow} \\ + \X{\Rightarrow} & \X{\Longrightarrow} \\ + \X{\Leftrightarrow} & \X{\Longleftrightarrow}\\ + \X{\mapsto} & \X{\longmapsto} \\ + \X{\hookleftarrow} & \X{\hookrightarrow} \\ + \X{\leftharpoonup} & \X{\rightharpoonup} \\ + \X{\leftharpoondown} & \X{\rightharpoondown} \\ + \X{\rightleftharpoons} & \X{\iff}(bigger spaces) \\ + \X{\uparrow} & \X{\downarrow} \\ + \X{\updownarrow} & \X{\Uparrow} \\ + \X{\Downarrow} & \X{\Updownarrow} \\ + \X{\nearrow} & \X{\searrow} \\ + \X{\swarrow} & \X{\nwarrow} \\ + \X{\leadsto}$^a$ +\end{symbols} +\centerline{\rl{\footnotesize $^a$ از بستۀ \textsf{latexsym} برای دستیابی به این نماد استفاده کنید}} +\end{table} + +\begin{table}[!tbp] +\caption{پیکانها به عنوان لهجه} \label{arrowacc} +\begin{symbols}{*2{cl}} +\W{\overrightarrow}{AB} & \W{\underrightarrow}{AB} \\ +\W{\overleftarrow}{AB} & \W{\underleftarrow}{AB} \\ +\W{\overleftrightarrow}{AB} & \W{\underleftrightarrow}{AB} \\ +\end{symbols} +\end{table} + +\begin{table}[!tbp] +\caption{حائلها}\label{tab:delimiters} +\begin{symbols}{*3{cl}} + \X{(} & \X{)} & \X{\uparrow} \\ + \X{[}or \verb|\lbrack| & \X{]}or \verb|\rbrack| & \X{\downarrow} \\ + \X{\{}or \verb|\lbrace| & \X{\}}or \verb|\rbrace| & \X{\updownarrow} \\ + \X{\langle} & \X{\rangle} & \X{\Uparrow} \\ + \X{|}or \verb|\vert| & \X{\|}or \verb|\Vert| & \X{\Downarrow} \\ + \X{/} & \X{\backslash} & \X{\Updownarrow} \\ + \X{\lfloor} & \X{\rfloor} & \\ + \X{\rceil} & \X{\lceil} &&\\ +\end{symbols} +\end{table} + +\begin{table}[!tbp] +\caption{حائلهای بزرگ} +\begin{symbols}{*3{cl}} + \Y{\lgroup} & \Y{\rgroup} & \Y{\lmoustache} \\ + \Y{\arrowvert} & \Y{\Arrowvert} & \Y{\bracevert} \\ + \Y{\rmoustache} \\ +\end{symbols} +\end{table} + + +% + +\begin{table}[!tbp] +\caption{نمادهای متفرقه} +\begin{symbols}{*4{cl}} + \X{\dots} & \X{\cdots} & \X{\vdots} & \X{\ddots} \\ + \X{\hbar} & \X{\imath} & \X{\jmath} & \X{\ell} \\ + \X{\Re} & \X{\Im} & \X{\aleph} & \X{\wp} \\ + \X{\forall} & \X{\exists} & \X{\mho}$^a$ & \X{\partial} \\ + \X{'} & \X{\prime} & \X{\emptyset} & \X{\infty} \\ + \X{\nabla} & \X{\triangle} & \X{\Box}$^a$ & \X{\Diamond}$^a$ \\ + \X{\bot} & \X{\top} & \X{\angle} & \X{\surd} \\ +\X{\diamondsuit} & \X{\heartsuit} & \X{\clubsuit} & \X{\spadesuit} \\ + \X{\neg}or \verb|\lnot| & \X{\flat} & \X{\natural} & \X{\sharp} +\end{symbols} +\centerline{\rl{\footnotesize $^a$ از بستۀ \textsf{latexsym} برای دستیابی به این نماد استفاده کنید}} +\end{table} +%\setRL +% + +\begin{table}[!tbp] +\caption{نمادهای غیر ریاضی} +\bigskip +\rl{این نمادها را در سبک متنی نیز میتوان به کار برد.} +\begin{symbols}{*4{cl}} + \SC{\dag} & \SC{\S} & \SC{\copyright} & \SC{\textregistered} \\ + \SC{\ddag} & \SC{\P} & \SC{\pounds} & \SC{\%} \\ +\end{symbols} +\end{table} + +\clearpage + +% +% +% If the AMS Stuff is not available, we drop out right here :-) +% + +\begin{table}[!tbp] +\caption{ حائلهای \lr{\AmS}.}\label{AMSD} +\bigskip +\begin{symbols}{*4{cl}} +\X{\ulcorner}&\X{\urcorner}&\X{\llcorner}&\X{\lrcorner}\\ +\X{\lvert}&\X{\rvert}&\X{\lVert}&\X{\rVert} +\end{symbols} +\end{table} + +\begin{table}[!tbp] +\caption{ \lr{\AmS} یونانی و عبری} +\begin{symbols}{*5{cl}} +\X{\digamma} &\X{\varkappa} & \X{\beth} &\X{\gimel} & \X{\daleth} +\end{symbols} +\end{table} + +\begin{table}[tbp] + \caption{الفبای ریاضی} \label{mathalpha} +\bigskip \rl{جدول +\ref{mathfonts} +%\hyperref[mathfonts]{4.6} +در صفحهٔ +\pageref{mathfonts} را برای دیگر قلمهای ریاضی ببینید.} +\begin{symbols}{@{}*3l@{}} +\rl{نمونه}& \rl{فرمان} & \rl{بستهٔ مورد نیاز}\\ +\hline +\rule{0pt}{1.05em}$\mathrm{ABCDE abcde 1234}$ + & \verb|\mathrm{ABCDE abcde 1234}| + & \\ +$\mathit{ABCDE abcde 1234}$ + & \verb|\mathit{ABCDE abcde 1234}| + & \\ +$\mathnormal{ABCDE abcde 1234}$ + & \verb|\mathnormal{ABCDE abcde 1234}| + & \\ +$\mathcal{ABCDE abcde 1234}$ + & \verb|\mathcal{ABCDE abcde 1234}| + & \\ +$\mathscr{ABCDE abcde 1234}$ + &\verb|\mathscr{ABCDE abcde 1234}| + &\pai{mathrsfs}\\ +$\mathfrak{ABCDE abcde 1234}$ + & \verb|\mathfrak{ABCDE abcde 1234}| + &\pai{amsfonts} or \textsf{amssymb} \\ +$\mathbb{ABCDE abcde 1234}$ + & \verb|\mathbb{ABCDE abcde 1234}| + &\pai{amsfonts} or \textsf{amssymb} \\ +\end{symbols} +\end{table} + +\begin{table}[!tbp] +\caption{عملگرهای دوتایی \lr{\AmS}} +\begin{symbols}{*3{cl}} + \X{\dotplus} & \X{\centerdot} & \\ + \X{\ltimes} & \X{\rtimes} & \X{\divideontimes} \\ + \X{\doublecup} & \X{\doublecap} & \X{\smallsetminus} \\ + \X{\veebar} & \X{\barwedge} & \X{\doublebarwedge}\\ + \X{\boxplus} & \X{\boxminus} & \X{\circleddash} \\ + \X{\boxtimes} & \X{\boxdot} & \X{\circledcirc} \\ + \X{\intercal} & \X{\circledast} & \X{\rightthreetimes} \\ + \X{\curlyvee} & \X{\curlywedge} & \X{\leftthreetimes} +\end{symbols} +\end{table} + + +\begin{table}[!tbp] +\caption{روابط دوتایی \lr{\AmS}} +\setLR +\begin{symbols}{*3{cl}} + \X{\lessdot} & \X{\gtrdot} & \X{\doteqdot} \\ + \X{\leqslant} & \X{\geqslant} & \X{\risingdotseq} \\ + \X{\eqslantless} & \X{\eqslantgtr} & \X{\fallingdotseq} \\ + \X{\leqq} & \X{\geqq} & \X{\eqcirc} \\ + \X{\lll}or \verb|\llless| & \X{\ggg} & \X{\circeq} \\ + \X{\lesssim} & \X{\gtrsim} & \X{\triangleq} \\ + \X{\lessapprox} & \X{\gtrapprox} & \X{\bumpeq} \\ + \X{\lessgtr} & \X{\gtrless} & \X{\Bumpeq} \\ + \X{\lesseqgtr} & \X{\gtreqless} & \X{\thicksim} \\ + \X{\lesseqqgtr} & \X{\gtreqqless} & \X{\thickapprox} \\ + \X{\preccurlyeq} & \X{\succcurlyeq} & \X{\approxeq} \\ + \X{\curlyeqprec} & \X{\curlyeqsucc} & \X{\backsim} \\ + \X{\precsim} & \X{\succsim} & \X{\backsimeq} \\ + \X{\precapprox} & \X{\succapprox} & \X{\vDash} \\ + \X{\subseteqq} & \X{\supseteqq} & \X{\Vdash} \\ + \X{\shortparallel} & \X{\Supset} & \X{\Vvdash} \\ + \X{\blacktriangleleft} & \X{\sqsupset} & \X{\backepsilon} \\ + \X{\vartriangleright} & \X{\because} & \X{\varpropto} \\ + \X{\blacktriangleright}& \X{\Subset} & \X{\between} \\ + \X{\trianglerighteq} & \X{\smallfrown} & \X{\pitchfork} \\ + \X{\vartriangleleft} & \X{\shortmid} & \X{\smallsmile} \\ + \X{\trianglelefteq} & \X{\therefore} & \X{\sqsubset} +\end{symbols} +\setRL +\end{table} + + +\begin{table}[!tbp] +\caption{پیکانهای \lr{\AmS}} +\begin{symbols}{*2{cl}} + \X{\dashleftarrow} & \X{\dashrightarrow} \\ + \X{\leftleftarrows} & \X{\rightrightarrows} \\ + \X{\leftrightarrows} & \X{\rightleftarrows} \\ + \X{\Lleftarrow} & \X{\Rrightarrow} \\ + \X{\twoheadleftarrow} & \X{\twoheadrightarrow} \\ + \X{\leftarrowtail} & \X{\rightarrowtail} \\ + \X{\leftrightharpoons} & \X{\rightleftharpoons} \\ + \X{\Lsh} & \X{\Rsh} \\ + \X{\looparrowleft} & \X{\looparrowright} \\ + \X{\curvearrowleft} & \X{\curvearrowright} \\ + \X{\circlearrowleft} & \X{\circlearrowright} \\ + \X{\multimap} & \X{\upuparrows} \\ + \X{\downdownarrows} & \X{\upharpoonleft} \\ + \X{\upharpoonright} & \X{\downharpoonright} \\ + \X{\rightsquigarrow} & \X{\leftrightsquigarrow} \\ +\end{symbols} +\end{table} + +\begin{table}[!tbp] +\caption{نقیض روابط دوتایی و پیکانهای \lr{\AmS}}\label{AMSNBR} +\setLR +\begin{symbols}{*3{cl}} + \X{\nless} & \X{\ngtr} & \X{\varsubsetneqq} \\ + \X{\lneq} & \X{\gneq} & \X{\varsupsetneqq} \\ + \X{\nleq} & \X{\ngeq} & \X{\nsubseteqq} \\ + \X{\nleqslant} & \X{\ngeqslant} & \X{\nsupseteqq} \\ + \X{\lneqq} & \X{\gneqq} & \X{\nmid} \\ + \X{\lvertneqq} & \X{\gvertneqq} & \X{\nparallel} \\ + \X{\nleqq} & \X{\ngeqq} & \X{\nshortmid} \\ + \X{\lnsim} & \X{\gnsim} & \X{\nshortparallel} \\ + \X{\lnapprox} & \X{\gnapprox} & \X{\nsim} \\ + \X{\nprec} & \X{\nsucc} & \X{\ncong} \\ + \X{\npreceq} & \X{\nsucceq} & \X{\nvdash} \\ + \X{\precneqq} & \X{\succneqq} & \X{\nvDash} \\ + \X{\precnsim} & \X{\succnsim} & \X{\nVdash} \\ + \X{\precnapprox} & \X{\succnapprox} & \X{\nVDash} \\ + \X{\subsetneq} & \X{\supsetneq} & \X{\ntriangleleft} \\ + \X{\varsubsetneq} & \X{\varsupsetneq} & \X{\ntriangleright} \\ + \X{\nsubseteq} & \X{\nsupseteq} & \X{\ntrianglelefteq}\\ + \X{\subsetneqq} & \X{\supsetneqq} &\X{\ntrianglerighteq}\\[0.5ex] + \X{\nleftarrow} & \X{\nrightarrow} & \X{\nleftrightarrow}\\ + \X{\nLeftarrow} & \X{\nRightarrow} & \X{\nLeftrightarrow} + +\end{symbols} +\setRL +\end{table} + +% +\begin{table}[!tbp] +\caption{متفرقه \lr{\AmS}}\label{AMSmisc} +\begin{symbols}{*3{cl}} + \X{\hbar} & \X{\hslash} & \X{\Bbbk} \\ + \X{\square} & \X{\blacksquare} & \X{\circledS} \\ + \X{\vartriangle} & \X{\blacktriangle} & \X{\complement} \\ + \X{\triangledown} &\X{\blacktriangledown} & \X{\Game} \\ + \X{\lozenge} & \X{\blacklozenge} & \X{\bigstar} \\ + \X{\angle} & \X{\measuredangle} & \\ + \X{\diagup} & \X{\diagdown} & \X{\backprime} \\ + \X{\nexists} & \X{\Finv} & \X{\varnothing} \\ + \X{\eth} & \X{\sphericalangle} & \X{\mho} +\end{symbols} +\end{table} +% + + +% Local Variables: +% TeX-master: "lshort" +% mode: latex +% mode: flyspell +% End: diff --git a/info/lshort/persian/math.tex b/info/lshort/persian/math.tex new file mode 100644 index 0000000000..38c09c6fbb --- /dev/null +++ b/info/lshort/persian/math.tex @@ -0,0 +1,776 @@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Contents: Math typesetting with LaTeX +% $Id: math.tex 169 2008-09-24 07:32:13Z oetiker $ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\chapter{حروفچینی فرمولهای ریاضی} + + +%At the end of this chapter we will return to xepersian adaption +\begin{intro} + +حال آماده هستید! در این فصل به قویترین قسمت تک، حروفچینی ریاضی، حمله میکنیم. اما توجه داشته باشید، این فصل فقط سطح کار را صیقل میدهد. با وجود این که مطالب این فصل برای بسیاری از افراد کافی است، اگر نتوانستید در آن پاسخ بعضی از نیازهای حروفچینی ریاضی خود را بیابید ناامید نشوید. به احتمال بسیار زیاد جواب شما در \lr{\AmS-\LaTeX{}} داده شده است. +\end{intro} +\section{\texorpdfstring{کلاف \lr{\texorpdfstring{\AmS}{AMS}-\LaTeX{}}}{کلاف AMS-Latex}} +اگر میخواهید حروفچینی (پیشرفته) +\wi{ریاضی}\romanindex{mathematics} +انجام دهید، باید از کلاف +\lr{\AmS-\LaTeX} +استفاده کنید. کلاف +\lr{\AmS-\LaTeX} +مجموعهای از بستهها و طبقهها برای حروفچینی ریاضی است. ما بیشتر به بررسی بستۀ +\pai{amsmath} +میپردازیم که جزیی از این کلاف است. +\lr{\AmS-\LaTeX} +توسط \wi{انجمن ریاضی آمریکا} تولید شده است و بهطور گسترده برای حروفچینی ریاضی مورد استفاده قرار میگیرد. خود لاتک دارای محیطهایی ابتدایی برای ریاضی است، اما این محیطها محدود هستند +(یا برعکس: \lr{\AmS-\LaTeX} نامحدود است) +و در بعضی حالات ناپایدار نیز هستند. + +\lr{\AmS-\LaTeX} +جزیی از توزیع مورد نیاز است و توسط تمام توزیعهای اخیر لاتک ارائه میشود.% +\footnote{اگر آن را ندارید، به + \texttt{CTAN:macros/latex/required/amslatex} مراجعه کنید.} +در این فصل فرض بر این است که \pai{amsmath} در سرآغاز نوشتار فراخوانی شده است: + +\begin{code} +\verb|\usepackage{amsmath}| +\end{code} +\section{فرمولهای تنها} + +دو راه برای چیدن یک \wi{فرمول}\romanindex{formulae} وجود دارد: در متن داخل یک پاراگراف +(\wi{سبک متنی}\Footnote{text style}\romanindex{textstyle})، +یا پاراگراف میتواند برای نمایش جداگانه شکسته شود +(\wi{سبک نمایشی}\Footnote{display style}\romanindex{display style}). +فرمولهای ریاضی {\femph درون} +متن \romanindex{equation} یک پاراگراف در میان دو نماد \texttt{\$} وارد میشوند: + + +\begin{example} +Add $a$ squared and $b$ squared +to get $c$ squared. Or, using +a more mathematical approach: +$a^2 + b^2 = c^2$ +\end{example} +\begin{example} +\TeX{} is pronounced as +$\tau\epsilon\chi$\\[5pt] +100~m$^{3}$ of water\\[5pt] +This comes from my $\heartsuit$ +\end{example} + +اگر میخواهید فرمولهای بیشتری را جدا از بقیه پاراگراف بنویسید، مناسبتر است که آن را \femph{نمایش} +دهید بهجای آنکه پاراگراف را بشکنید. برای انجام این کار از محیط فرمول استفاده کنید و فرمولها را بین \verb|\begin{equation}| و +\verb|\end{equation}| قرار دهید.% +\footnote{این یک فرمان \textsf{amsmath} است. اگر به این بسته دسترسی ندارید از محیط \ei{displaymath} مربوط به خود لاتک استفاده کنید.} +آنگاه میتوانید به فرمول یک برچسب (\ci{label}) بدهید و در دیگر نقاط نوشتار با فرمان \ci{eqref} به آن ارجاع دهید. اگر میخواهید به فرمول اسم ویژهای بدهید بهجای اینکار از فرمان \ci{tag} استفاده کنید. از \ci{eqref} نمیتوانید برای \ci{tag} استفاده کنید. + +\begin{example} +Add $a$ squared and $b$ squared +to get $c$ squared. Or, using +a more mathematical approach + \begin{equation} + a^2 + b^2 = c^2 + \end{equation} +Einstein says + \begin{equation} + E = mc^2 \label{clever} + \end{equation} +He didn't say + \begin{equation} + 1 + 1 = 3 \tag{dumb} + \end{equation} +This is a reference to +\eqref{clever}. +\end{example} + + +اگر نمیخواهید لاتک فرمولها را شمارهگذاری کند، از شکل ستارهدار محیط \texttt{equation} استفاده کنید، \ei{equation*}، یا حتی آسانتر، فرمول را بین دو علامت \ci{[} و \ci{]} قرار دهید:\footnote{\romanindex{\textsf{amsmath} equation} + \romanindex{\LaTeX equation} این فرمان دوباره از \textsf{amsmath} است. اگر این بسته را فراخوانی نکردهاید، از محیط \texttt{equation} مربوط به خود لاتک استفاده کنید. نام فرمانهای \lr{\textsf{amsmath}/\LaTeX{}} ممکن است به نظر برسد که کمی گیجکننده هستند، ولی این واقعاً یک مشکل برای کسانی که از این بسته استفاده میکنند نیست. بهتر است این بسته را از ابتدا فراخوانی کنید زیرا ممکن است بعداً مجبور به استفاده از آن شوید، و آنگاه محیطهای غیر شمارهگذاری شده خود لاتک ممکن است توسط این بسته شمارهگذاری شود.} +\begin{example} +Add $a$ squared and $b$ squared +to get $c$ squared. Or, using +a more mathematical approach + \begin{equation*} + a^2 + b^2 = c^2 + \end{equation*} +or you can type less for the +same effect: + \[ a^2 + b^2 = c^2 \] +\end{example} + +به تفاوت حروفچینی بین \wi{سبک متنی} + و \wi{سبک نمایشی} + توجه کنید: +\begin{example} +This is text style: +$\lim_{n \to \infty} + \sum_{k=1}^n \frac{1}{k^2} + = \frac{\pi^2}{6}$. +And this is display style: + \begin{equation} + \lim_{n \to \infty} + \sum_{k=1}^n \frac{1}{k^2} + = \frac{\pi^2}{6} + \end{equation} +\end{example} + +در سبک متنی، عبارات طولانی یا عمیق را در \ci{smash} محصور کنید. این کار لاتک را وادار میسازد ارتفاع عبارت را نادیده بگیرد و باعث یکنواخت شدن فاصله بین خطها میشود. + +\begin{example} +A $d_{e_{e_p}}$ mathematical +expression followed by a +$h^{i^{g^h}}$ expression. As +opposed to a smashed +\smash{$d_{e_{e_p}}$} expression +followed by a +\smash{$h^{i^{g^h}}$} expression. +\end{example} +\subsection{سبک ریاضی} + +همچنین تفاوتهایی بین \femph{\wi{سبک ریاضی}} + و \femph{سبک متنی} +وجود دارد. به عنوان مثال در \femph{سبک ریاضی}: + +\begin{enumerate} + +\item \romanindex{math mode spacing}\index{فاصلهگذاری!سبک ریاضی} +بسیاری از فاصلهها و شکست خطها در سبک ریاضی بیاهمیت هستند، زیرا تمام فاصلهها در عبارات ریاضی یا به طور منطقی ایجاد میشوند، و یا این که باید توسط فرمانهایی مانند \ci{,} و \ci{quad} یا +\ci{qquad} تولید شوند +( بعداً به این فرمانها میرسیم، بخش +\ref{sec:math-spacing} +%\LRE{\hyperref[sec:math-spacing]{5.4}} + را ببینید). + +\item خطهای خالی مجاز نیستند. هر فرمول تنها در یک پاراگراف قرار داده میشود. + +\item هر حرف به عنوان نام یک متغیر درنظر گرفته میشود و به همین منظور چیده میشود. اگر میخواهید در یک فرمول متن عادی بنویسید (قلم نرمال ایستاده و فاصله نرمال) +آنگاه باید متن را بوسیله فرمان \verb|\text{...}| وارد کنید +(همچنین بخش +\ref{sec:fontsz} +%\LRE{\hyperref[sec:fontsz]{6.4}} +در صفحه +\pageref{sec:fontsz} را ببینید). +\end{enumerate} +\begin{example} +$\forall x \in \mathbf{R}: + \qquad x^{2} \geq 0$ +\end{example} +\begin{example} +$x^{2} \geq 0\qquad + \text{for all }x\in\mathbf{R}$ +\end{example} + +ریاضیدانها از نمادهای پیچیدهای استفاده میکنند: مناسب است که در اینجا از قلم \wi{\lr{blackboard bold}} استفاده کنیم، +\romanindex{bold symbols} که با استفاده از \ci{mathbb} از بسته \pai{amssymb} بدست میآید.\footnote{\pai{amssymb} قسمتی از کلاف \lr{} نیست، اما ممکن است هنوز قسمتی از توزیع لاتک شما باشد. توزیع خود را بررسی کنید یا به \texttt{CTAN:/fonts/amsfonts/latex/} بروید و آن را دریافت کنید.} +\ifx\mathbb\undefined\else +آخرین مثال عبارت است از + +\begin{example} +$x^{2} \geq 0\qquad + \text{for all } x + \in \mathbb{R}$ +\end{example} +\fi + +جدول +\ref{mathalpha} +%\hyperref[mathalpha]{14.4} + در صفحه +\pageref{mathalpha} +و جدول +\ref{mathfonts} +%\LRE{\hyperref[mathfonts]{4.6}} +در صفحه +\pageref{mathfonts} +را برای دیدن قلمهای دیگر ریاضی ببینید. + +\section{ساختن بلوکهای فرمولی} + +در این بخش، مهمترین فرمانهای مورد استفاده در حروفچینی ریاضی را شرح میدهیم. بسیاری از فرمانهای این بخش احتیاج به +\textsf{amsmath} ندارند +(اگر احتیاج داشته باشند، صریحاً بیان میشود) +اما بههرحال این بسته را فراخوانی کنید. + + +\romanindex{Greek letters}\textbf{\wi{حروف یونانی }کوچک} +به صورت \verb|\alpha|، \verb|\beta|، \verb|\gamma|، \ldots، وارد میشوند و حروف بزرگ به صورت \verb|\Gamma|، \verb|\Delta|، \ldots وارد میشوند.\footnote{در لاتک حروف بزرگ آلفا، بتا، و غیره تعریف شده نیستند زیرا به شکل \lr{A}، \lr{B}\ldots به نظر میرسند. همینکه رمزینه جدید ریاضی تمام شود، همه چیز تغییر میکند.} + +به جدول +\ref{greekletters} +%\LRE{\hyperref[greekletters]{2.4}} +در صفحه +\pageref{greekletters} برای دیدن لیستی از حروف یونانی نظری بیندازید. +\begin{example} +$\lambda,\xi,\pi,\theta, + \mu,\Phi,\Omega,\Delta$ +\end{example} + + +\textbf{توانها و اندیسها} +را میتوان توسط +\romanindex{exponent}\romanindex{subscript}\index{توان}\index{اندیس} +\verb|^| +%\index{\verb|^|} + و +\verb|_|%\index{\verb|_|} + نوشت. +بسیاری از فرمانها سبک ریاضی تنها روی اولین حرف بعد از خودشان تأثیر دارند، بنابراین اگر میخواهید یک فرمان بر روی چند حرف تأثیر داشته باشد، باید آن حروف را توسط \verb|{...}| در یک گروه قرار دهید. + +جدول +\ref{binaryrel} +%\LRE{\hyperref[binaryrel]{3.4}} +در صفحه +\pageref{binaryrel} شامل بسیاری از عملگرها مانند $\subseteq$ و $\perp$ است. + +\begin{example} +$p^3_{ij} \qquad + m_\text{Knuth} \\[5pt] + a^x+y \neq a^{x+y}\qquad + e^{x^2} \neq {e^x}^2$ +\end{example} + + + +\textbf{\wi{رادیکال}} +توسط \ci{sqrt} و ریشهٔ $-n$ام به صورت \LRE{\verb|\sqrt[|$n$\verb|]|} نوشته میشود. لاتک اندازهٔ علامت رادیکال را بهطور خودکار مشخص میکند. اگر تنها علامت رادیکال مورد نیاز باشد از \verb|\surd| استفاده کنید. + +در جدول +\ref{tab:arrows} +%\LRE{\hyperref[tab:arrows]{6.4}} +در صفحهٔ +\pageref{tab:arrows} دیگر پیکانها مانند $\hookrightarrow$ و $\rightleftharpoons$ آورده شدهاند. +\begin{example} +$\sqrt{x} \Leftrightarrow x^{1/2} + \quad \sqrt[3]{2} + \quad \sqrt{x^{2} + \sqrt{y}} + \quad \surd[x^2 + y^2]$ +\end{example} + + +\romanindex{three dots} +\romanindex{vertical dots} +\romanindex{horizontal dots} +\index{سهنقطه} +\index{سهنقطه!عمودی} +\index{سهنقطه!افقی} +معمولاً از نقطه برای نمایش دادن عمل ضرب هنگام کار با نمادها استفاده میشود؛ با این وجود گاهی اوقات از چند نقطه برای کمک کردن به خواننده جهت گروهبندی فرمولها استفاده میشود. برای نوشتن یک نقطه در وسط از \ci{cdot} استفاده میشود. \ci{cdots} سه \textbf{\wi{نقطه}} +در وسط قرار میدهد درحالیکه \ci{ldots} نقطهها را روی خط کرسی قرار میدهد. بعلاوه، \ci{vdots} برای قرار دادن عمودی و \ci{ddots} برای قراردادن کج وجود دارند. مثال دیگری را میتوانید در بخش +\ref{sec:arraymat} +%\LRE{\hyperref[sec:arraymat]{2.4.4}} +ببینید. +\begin{example} +$\Psi = v_1 \cdot v_2 + \cdot \ldots \qquad + n! = 1 \cdot 2 + \cdots (n-1) \cdot n$ +\end{example} + + + +فرمانهای \ci{overline} و \ci{underline} \textbf{خط افقی} +درست در بالا یا پایین عبارت قرار میدهند: +\romanindex{horizontal line} +\index{خط!افقی} +\index{خط!عمودی} +\begin{example} +$0.\overline{3} = + \underline{\underline{1/3}}$ +\end{example} + +فرمانهای \ci{overbrace} و \ci{underbrace} \textbf{کروشهٔ افقی} +در بالا یا پایین یک عبارت قرار میدهند: +\romanindex{horizontal brace} +\index{براکت!افقی}\index{افقی!براکت} +\begin{example} +$\underbrace{\overbrace{a+b+c}^6 + \cdot \overbrace{d+e+f}^9} + _\text{meaning of life} = 42$ +\end{example} + + +\romanindex{mathematical accents}\index{لهجه!ریاضی} +برای افزودن لهجه مانند \textbf{پیکان کوچک} +یا علامت \textbf{\wi{تیلدا}} +به متغیرها، فرمانهای ارائه شده در جدول +\ref{mathacc} +%\LRE{\hyperref[mathacc]{1.4}} +در صفحه +\pageref{mathacc} ممکن است مفید باشند. +کلاه و تیلدا که روی چند حرف قرار میگیرد با \ci{widetilde} +و \ci{widehat} درست میشود. به تفاوت بین محل قرار گرفتن \ci{hat} و \ci{widehat} \ci{bar} برای متغیرهایی که دارای اندیس هستند توجه کنید. علامت + \verb|'|\Footnote{apostrophe}\romanindex{apostrophe} +%\index{'@\verb"|'"|} + تولید پرایم +\index{بیی@پرایم}\romanindex{prime} میکند: +% a dash is -- +\begin{example} +$f(x) = x^2 \qquad f'(x) + = 2x \qquad f''(x) = 2\\[5pt] + \hat{XY} \quad \widehat{XY} + \quad \bar{x_0} \quad \bar{x}_0$ +\end{example} + + +\textbf{بردارها}\romanindex{vectors}\index{بردارها} +اغلب با افزودن یک \wi{علامت پیکان} +بر روی یک متغیر بدست میآیند. اینکار را با فرمان \ci{vec} انجام میدهیم. دو فرمان \ci{overrightarrow} و \ci{overleftarrow} +برای نشان دادن پیکان از $A$ به $B$ بهکار میروند: +\begin{example} +$\vec{a} \qquad + \vec{AB} \qquad + \overrightarrow{AB}$ +\end{example} + +نام یک تابع مانند لگاریتم اغلب با قلم ایستاده نوشته میشود، بنابراین لاتک فرمانهای زیر را برای نوشتن نام مهمترین توابع بهکار میبرد: +\romanindex{mathematical functions}\index{توابع!ریاضی} + +\setLR +\begin{tabular}{llllll} +\ci{arccos} & \ci{cos} & \ci{csc} & \ci{exp} & \ci{ker} & \ci{limsup} \\ +\ci{arcsin} & \ci{cosh} & \ci{deg} & \ci{gcd} & \ci{lg} & \ci{ln} \\ +\ci{arctan} & \ci{cot} & \ci{det} & \ci{hom} & \ci{lim} & \ci{log} \\ +\ci{arg} & \ci{coth} & \ci{dim} & \ci{inf} & \ci{liminf} & \ci{max} \\ +\ci{sinh} & \ci{sup} & \ci{tan} & \ci{tanh}& \ci{min} & \ci{Pr} \\ +\ci{sec} & \ci{sin} \\ +\end{tabular} +\setRL + +\begin{example} +\[\lim_{x \rightarrow 0} + \frac{\sin x}{x}=1\] +\end{example} + +برای توابعی که در لیست بالا قرار ندارند، از فرمان \ci{DeclareMathOperator} +استفاده کنید. حتی حالت ستارهدار این فرمانها برای توابعی که حد بالا یا پایین دارند وجود دارد. این فرمانها تنها در سرآغاز باید فعال شوند بنابراین مثال زیر باید در سرآغاز قرار داده شود. +\begin{example} +%\DeclareMathOperator{\argh}{argh} +%\DeclareMathOperator*{\nut}{Nut} +\[3\argh = 2\nut_{x=1}\] +\end{example} +برای \wi{تابع هنگ}\romanindex{modulo function}، دو فرم وجود دارد: \ci{bmod} برای عملگر دوتایی $a \bmod b$ و \ci{pmod} برای عبارتی به شکل $x\equiv a \pmod{b}$: +\begin{example} +$a\bmod b \\ + x\equiv a \pmod{b}$ +\end{example} + +\textbf{کسر} +\index{قیی@کسر} +ایستاده را با فرمان \verb|{...}{...}|\ci{frac} مینویسیم. در حالت متنی، کسر کوچک نوشته میشود تا در ارتفاع خط قرار بگیرد. این فرم را در سبک نمایشی نیز با \ci{dfrac} میتوانید اجرا کنید. اغلب فرم کج +$1/2$ بهتر است، زیرا برای کسرهای کوچک خواناتر است: + +\begin{example} +In display style: +\[3/8 \qquad \frac{3}{8} + \qquad \tfrac{3}{8} \] +\end{example} + + +\begin{example} +In text style: +$1\frac{1}{2}$~hours \qquad +$1\dfrac{1}{2}$~hours +\end{example} + + + + + +در اینجا فرمان \ci{partial} برای \wi{مشتق جزئی}\romanindex{partial derivative} بهکار رفته است: +\begin{example} +\[\sqrt{\frac{x^2}{k+1}}\qquad + x^\frac{2}{k+1}\qquad + \frac{\partial^2f} + {\partial x^2} \] +\end{example} + +برای نوشتن \wi{ضرایب دوجملهای} \romanindex{binomial coefficient} یا چیزهایی شبیه این، از فرمان \ci{binom} از بستۀ \pai{amsmath} استفاده میشود: +\begin{example} +Pascal's rule is +\begin{equation*} + \binom{n}{k} =\binom{n-1}{k} + + \binom{n-1}{k-1} +\end{equation*} +\end{example} + +برای \wi{عملگرهای دوتایی} \romanindex{binary relations} ممکن است قرار دادن نمادها بررویهم مفید باشد. فرمان + +\setLR +\ci{stackrel}\verb|{#1}{#2}| +\setRL + +\noindent +نماد درون \verb|#1| را به اندازه قلم توان روی \verb|#2| قرار میدهد که در محل معمول آن قرار میگیرد. +\begin{example} +\begin{equation*} + f_n(x) \stackrel{*}{\approx} 1 +\end{equation*} +\end{example} + +\textbf{\wi{عملگر انتگرال}} +با فرمان \ci{int}, \textbf{\wi{عملگر جمع}} +با \ci{sum}، و \textbf{\wi{عملگر ضرب}}\romanindex{sum operator}\romanindex{integral operator}\romanindex{product operator} با \ci{prod} تولید میشوند. حد بالا و پایین این عملگرها با \verb|^| و \verb|_| مانند اندیس و توان نوشته میشوند: +\begin{example} +\begin{equation*} +\sum_{i=1}^n \qquad +\int_0^{\frac{\pi}{2}} \qquad +\prod_\epsilon +\end{equation*} +\end{example} + +برای کنترل بیشتر روی محل قرار گرفتن اندیسها در عبارات پیچیده، \pai{amsmath} فرمان \ci{substack} را ارائه میکند: +\begin{example} +\begin{equation*} +\sum^n_{\substack{0<i<n \\ + j\subseteq i}} + P(i,j) = Q(i,j) +\end{equation*} +\end{example} + + +لاتک همۀ انواع \textbf{\wi{براکت}} +و \textbf{\wi{حائل}} \romanindex{braces}\romanindex{delimiters} (مانند $[\;\langle\;\|\;\updownarrow$) را حمایت میکند. +براکتهای گرد و مربعی را میتوان با کلید مربوط به خودشان نوشت و آکولاد را میتوان با \verb|\{| نوشت اما همۀ حائلها را میتوان با فرمانهایی ویژه نوشت (مانند +\verb|\updownarrow|). +\begin{example} +\begin{equation*} +{a,b,c} \neq \{a,b,c\} +\end{equation*} +\end{example} + +اگر فرمان \ci{left} را در ابتدای یک حائل چپ، و فرمان \ci{right} را در ابتدای یک حائل راست قرار دهیم، لاتک بهطور خودکار اندازهٔ حائل را تصحیح میکند. توجه داشته باشید که تمام فرمانهای \ci{left} را باید با فرمان متناظر \ci{right} ببندید. اگر در سمت راست چیزی نمیخواهید از \ci{right} نامرئی استفاده کنید: +\begin{example} +\begin{equation*} +1 + \left(\frac{1}{1-x^{2}} + \right)^3 \qquad +\left. \ddagger \frac{~}{~}\right) +\end{equation*} +\end{example} + +گاهی اوقات لازم است تا اندازهٔ درست یک حائل ریاضی را دستی تنظیم کنیم \romanindex{mathematical delimiter}\index{حائل!ریاضی} +که با فرمانهای \ci{big}، \ci{Big}، \ci{bigg} و +\ci{Bigg} به عنوان پیشوند بیشتر فرمانهای حائل امکانپذیر است: +\begin{example} +$\Big((x+1)(x-1)\Big)^{2}$\\ +$\big( \Big( \bigg( \Bigg( \quad +\big\} \Big\} \bigg\} \Bigg\} \quad +\big\| \Big\| \bigg\| \Bigg\| \quad +\big\Downarrow \Big\Downarrow +\bigg\Downarrow \Bigg\Downarrow$ +\end{example} + برای دیدن لیست کاملی از حائلها جدول +\ref{tab:delimiters} +%\LRE{\hyperref[tab:delimiters]{8.4}} +در صفحه +\pageref{tab:delimiters} را ببینید. +\section{تنظیم عمودی} +\subsection{فرمولهای چندگانه} +\romanindex{multiple equation}\index{فرمول!چندگانه} + +برای فرمولهایی که در چند خط قرار میگیرند یا برای \wi{دستگاه معادلات} + \romanindex{equation system}, +میتوانید از محیط \ei{align} و \verb|align*| به جای \texttt{equation} و \texttt{equation*} استفاده کنید.\footnote{محیط \ei{align} از بستۀ \textsf{amsmath} است. محیط مشابه به این محیط در خود لاتک با عنوان \ei{eqnarray} وجود دارد، اما عموماً توصیه نمیشود زیرا مکان و برچسب آن پایدار نیست.} +با \ei{align} هر خط معادله یک شماره میگیرد. \verb|align*| هیچ چیز را شمارهگذاری نمیکند. + +محیط \ei{align} یک معادله را پیرامون علامت \verb|&| گرد میکند. +فرمان \verb|\\| خطها را میشکند. اگر میخواهید یک معادله را شمارهگذاری نکنید از فرمان \ci{nonumber} برای حذف شمارهٔ آن استفاده کنید. این فرمان باید \femph{قبل} +از \verb|\\| قرار داده شود: +\begin{example} +\begin{align} +f(x) &= (a+b)(a-b) \label{1}\\ + &= a^2-ab+ba-b^2 \\ + &= a^2+b^2 \tag{wrong} +\end{align} +This is a reference to \eqref{1}. +\end{example} + +\index{فرمولهای طولانی}\romanindex{long equations} +\textbf{فرمولهای طولانی} +به صورت خودکار شکسته نمیشوند. نویسنده باید مشخص کند کجا باید شکسته شوند و تورفتگی مناسب را مشخص کند: +\begin{example} +\begin{align} +f(x) &= 3x^5 + x^4 + 2x^3 + \nonumber \\ + &\qquad + 9x^2 + 12x + 23 \\ + &= g(x) - h(x) +\end{align} +\end{example} +بستۀ \pai{amsmath} چند محیط مفید دیگر را نیز در بر دارد: \verb|flalign|، +\verb|gather|، \verb|multline| و \verb|split|. برای اطلاعات بیشتر به راهنمای این بسته مراجعه کنید. +\subsection{آرایه و ماتریس} \label{sec:arraymat} + +برای حروفچینی آرایهها از محیط \ei{array} استفاده کنید. این محیط شبیه محیط \texttt{tabular} است. فرمان \verb|\\| برای شکستن خطها بهکار میرود: +\begin{example} +\begin{equation*} + \mathbf{X} = \left( + \begin{array}{ccc} + x_1 & x_2 & \ldots \\ + x_3 & x_4 & \ldots \\ + \vdots & \vdots & \ddots + \end{array} \right) +\end{equation*} +\end{example} + + +از محیط \ei{array} همچنین برای نوشتن +\romanindex{piecewise function}\wi{توابع چندضابطه} +توسط یک \verb|.| به عنوان یک حائل راست نامرئی استفاده میشود:\footnote{اگر میخواهید خیلی از این فرم استفاده کنید محیط \ei{cases} از بستۀ + \textsf{amsmath} کار را بسیار راحت میکند و بنابراین ارزش نگاه کردن را دارد.} +\begin{example} +\begin{equation*} +|x| = \left\{ + \begin{array}{rl} + -x & \text{if } x < 0\\ + 0 & \text{if } x = 0\\ + x & \text{if } x > 0 + \end{array} \right. +\end{equation*} +\end{example} + + + +\ei{array} را میتوان برای نوشتن ماتریسها \index{ماتریس}\romanindex{matrix} نیز بهکار برد، اما +\pai{amsmath} راه حل بهتری را توسط محیط \ei{matrix} پیشنهاد میکند. شش نسخه از آن با حائلهای مختلف وجود دارد: \ei{matrix} +(خالی)، \ei{pmatrix} $($، \ei{bmatrix} $[$، \ei{Bmatrix} $\{$، \ei{vmatrix} $\vert$ و +\ei{Vmatrix} $\Vert$. با \ei{array} لازم نیست تعداد ستونها را مشخص کنید. بیشترین تعداد ستون ۱۰ +است اما قابل تغییر است +(هرچند معمولاً بیشتر از ۱۰ ستون لازم نیست!). +\begin{example} +\begin{equation*} + \begin{matrix} + 1 & 2 \\ + 3 & 4 + \end{matrix} \qquad + \begin{bmatrix} + 1 & 2 & 3 \\ + 4 & 5 & 6 \\ + 7 & 8 & 9 + \end{bmatrix} +\end{equation*} +\end{example} + + +\section{فاصله در محیط ریاضی}\label{sec:math-spacing} + +\romanindex{math spacing}\index{فاصلهٔ ریاضی} +اگر فاصلهٔ انتخاب شده توسط لاتک در فرمولها مناسب نیست، میتوان آن را با فرمانهایی تصحیح کرد: \ci{,} برای +$\frac{3}{18}\:\textrm{quad}$ (\demowidth{0.166em})، \ci{:} برای $\frac{4}{18}\: +\textrm{quad}$ (\demowidth{0.222em}) و \ci{;} برای $\frac{5}{18}\: +\textrm{quad}$ (\demowidth{0.277em}). حرف فرار \verb*|\ | تولید یک فاصله بین \ci{quad} +(\demowidth{1em}) و \ci{qquad} (\demowidth{2em}) میکند. اندازهٔ +\ci{quad} متناظر با عرض حرف \lr{`M'} از این قلم جاری است. \verb|\!| +%\cih{"!} +تولید یک فاصلهٔ منفی به اندازهٔ $-\frac{3}{18}\:\textrm{quad}$ ($-$\demowidth{0.166em}) میکند. + +توجه کنید \lr{`d'} در عملیات دیفرانسیل به خوبی در قلم ایستاده نوشته میشود: +\begin{example} +\begin{equation*} + \int_1^2 \ln x \mathrm{d}x \qquad + \int_1^2 \ln x \,\mathrm{d}x +\end{equation*} +\end{example} + + +در مثال بعد، تابع جدید \ci{ud} را تعریف میکنیم که نماد $\,\mathrm{d}$ را تولید میکند (به فاصلهٔ +\demowidth{0.166em} +قبل از +$\text{d}$ توجه داشته باشید)، +بنابراین لازم نیست هربار آن را بنویسیم. فرمان \ci{newcommand} در سرآغاز آورده میشود. +\begin{example} +\newcommand{\ud}{\,\mathrm{d}} + +\begin{equation*} + \int_a^b f(x)\ud x +\end{equation*} +\end{example} + +اگر میخواهید انتگرال چندگانه را بنویسید، خواهید دید که فاصله بین انتگرالها نامطبوع است. میتواید این فاصله را با فرمان \ci{!} +%\cih{"!} + تغییر دهید، اما بستۀ +\pai{amsmath} + راه حل سادهتری برای اینکار دارد که عبارت است از +\ci{iint}، \ci{iiint}، \ci{iiiint}، و \ci{idotsint}. + +\begin{example} +\newcommand{\ud}{\,\mathrm{d}} + +\[ \int\int f(x)g(y) + \ud x \ud y \] +\[ \int\!\!\!\int + f(x)g(y) \ud x \ud y \] +\[ \iint f(x)g(y) \ud x \ud y \] +\end{example} + +برای اطلاعات بیشتر به راهنمای الکترونیکی \texttt{testmath.tex} از \lr{\AmS-\LaTeX} یا فصل ۸ از \companion{} مراجعه کنید. +\subsection{اشباح} + +وقتی فرمولهای مرتب عمودی شامل \verb|^| و \verb|_| مینویسید، گاهی اوقات لاتک خیلی کمک نمیکند. با استفاده از فرمان \ci{phantom} میتوانید فضایی برای حرفی که نمیخواهید در خروجی ظاهر شود ایجاد کنید. راحتترین راه برای فهمیدن این موضوع مثال زیر است: +\begin{example} +\begin{equation*} +{}^{14}_{6}\text{C} +\qquad \text{versus} \qquad +{}^{14}_{\phantom{1}6}\text{C} +\end{equation*} +\end{example} +اگر میخواهید تعداد زیادی از ایزوتوپها را همانند مثال بالا بنویسید، بستۀ \pai{mhchem} برای نوشتن فرمولهای شیمی بسیار مفید است. +\section{ریزهکاری با قلمهای ریاضی}\label{sec:fontsz} +قلمهای مختلف ریاضی را در جدول +\ref{mathalpha} +%\LRE{\hyperref[mathalpha]{14.4}} +در صفحه +\pageref{mathalpha} آوردهایم. +\begin{example} + $\Re \qquad + \mathcal{R} \qquad + \mathfrak{R} \qquad + \mathbb{R} \qquad $ +\end{example} +دوتای آخر به \pai{amssymb} یا \pai{amsfonts} احتیاج دارند. + +گاهی اوقات باید به لاتک بگویید که اندازه را تصحیح کند. در سبک ریاضی، اینکار را با فرمان زیر انجام میدهیم: + +\begin{latin} +\ci{displaystyle}~($\displaystyle 123$), + \ci{textstyle}~($\textstyle 123$), +\ci{scriptstyle}~($\scriptstyle 123$) \rl{و}\\ +\ci{scriptscriptstyle}~($\scriptscriptstyle 123$). +\end{latin} + +اگر $\sum$ در یک کسر قرار داشته باشد، به سبک متنی حروفچینی میشود مگر این که به لاتک اطلاع دهید: +\begin{example} +\begin{equation*} + P = \frac{\displaystyle{ + \sum_{i=1}^n (x_i- x) + (y_i- y)}} + {\displaystyle{\left[ + \sum_{i=1}^n(x_i-x)^2 + \sum_{i=1}^n(y_i- y)^2 + \right]^{1/2}}} +\end{equation*} +\end{example} +تغییر سبک عموماً روی عملگرهای بزرگ و حدود آنها تاثیر میگذارد. + +% This is not a math accent, and no maths book would be set this way. +% mathop gets the spacing right. + +\subsection{حروف سیاه} +\romanindex{bold symbols}\index{حروف سیاه} + +نوشتن حروف سیاه در لاتک سخت است؛ یک حروفچین آماتور ممکن است بخواهد بیش از حد از حروف سیاه استفاده کند. فرمان تغییر قلم \verb|\mathbf| حروف سیاه را تولید میکند، اما این حروف ایستاده هستند و نمادهای ریاضی ایتالیک هستند، و یک فرمان \ci{boldmath} وجود دارد، \femph{این فرمان تنها باید در خارج از سبک ریاضی مورد استفاده قرار گیرد}. +با این وجود از آن میتوان برای نمادها نیز استفاده کرد: +\begin{example} +$\mu, M \qquad +\mathbf{\mu}, \mathbf{M}$ +\qquad \boldmath{$\mu, M$} +\end{example} + +بستۀ \pai{amsbsy} (توسط \pai{amsmath} توزیع میشود) +و همچنین +\pai{bm} از کلاف \texttt{tools} اینکار را با ارائه فرمان \ci{boldsymbol} راحتتر میکنند: + +\begin{example} +$\mu, M \qquad +\boldsymbol{\mu}, \boldsymbol{M}$ +\end{example} +\section{قضیهها، قانونها} + +هنگام نوشتن نوشتار ریاضی، ممکن است به نوشتن ساختارهایی مانند قضیه، تعریف، اصل، و غیره احتیاج پیدا کنید. +\begin{lscommand} +\ci{newtheorem}\verb|{|\emph{name}\verb|}[|\emph{counter}\verb|]{|% + \emph{text}\verb|}[|\emph{section}\verb|]| +\end{lscommand} +آرگومان \emph{name} کلمه کلیدی برای شناسایی \lr{theorem} است. با آرگومان \emph{text} نام واقعی قضیه را معرفی میکنید که در خروجی چاپ میشود. + +آرگومانهای درون کروشه اختیاری هستند. از آنها برای مشخص کردن نوع شمارهگذاری قضیه استفاده میشود. از آرگومان \emph{counter} +برای همنوع شدن شمارهگذاری با یک شمارهگذاری تعریف شده استفاده میشود. آرگومان \emph{section} اجازه میدهد در شماره قضیه شماره بخش نیز وارد شود. + +بعداز اجرای فرمان \ci{newtheorem} در سرآغاز مستندتان، میتوانید از محیط تعریف شده در نوشتار به شکل زیر استفاده کنید. +\begin{code} +\verb|\begin{|\emph{name}\verb|}[|\emph{text}\verb|]|\\ +\lr{This is my interesting theorem}\\ +\verb|\end{|\emph{name}\verb|}| +\end{code} + +بستۀ \pai{amsthm} (قسمتی از \lr{\AmS-\LaTeX}) +فرمان \verb|}|\emph{style}\verb|{|\ci{theoremstyle} +را ارائه میکند که توسط آن میتوانید از محیطهای از پیشتعریفشده مانند \texttt{definition} (تیتر بزرگ، بدنه رومن)، +\texttt{plain} (تیتر بزرگ، بدنه ایتالیک) +یا \texttt{remark} (تیتر ایتالیک، بدنه رومن) +استفاده کنید. + +تئوری بس است. مثالهای زیر هر نوع ابهامی را از بین میبرد و مشخص میکند محیط +\verb|\newtheorem| کمی برای فهمیدن مشکل است. + +% actually define things +\begin{latin} +\theoremstyle{definition} \newtheorem{law}{Law} +\theoremstyle{plain} \newtheorem{jury}[law]{Jury} +\theoremstyle{remark} \newtheorem*{marg}{Margaret} +\end{latin} + +ابتدا قضیهها را تعریف میکنیم: +\begin{latin} +\begin{verbatim} +\theoremstyle{definition} \newtheorem{law}{Law} +\theoremstyle{plain} \newtheorem{jury}[law]{Jury} +\theoremstyle{remark} \newtheorem*{marg}{Margaret} +\end{verbatim} +\end{latin} + + +\begin{example} +\begin{law} \label{law:box} +Don't hide in the witness box +\end{law} +\begin{jury}[The Twelve] +It could be you! So beware and +see law~\ref{law:box}.\end{jury} +\begin{marg}No, No, No\end{marg} +\end{example} + + +قضیهٔ \lr{Jury} دارای شمارهگذاری \lr{Law} است، بنابراین شمارهای را اخذ میکند که در دنبالهٔ شمارهٔ \lr{Laws} است. آرگومان داخل کروشه برای معین کردن یک عنوان شبیه قضیه است. + + +\begin{example} +\newtheorem{mur}{Murphy}[section] + + +\begin{mur} If there are two or +more ways to do something, and +one of those ways can result in +a catastrophe, then someone +will do it.\end{mur} +\end{example} + + + +قضیهٔ \lr{Murphy} شمارهای وابسته به شمارهٔ بخش جاری اخذ میکند. میتوانید بهجای بخش از فصل و شبیه آن استفاده کنید. + +بستۀ \pai{amsthm} دارای محیط \ei{proof} نیز است. + +\renewcommand\proofname{Proof} +\begin{example} +\begin{proof} + Trivial, use +\[E=mc^2\] +\end{proof} +\end{example} + + +با فرمان \ci{qedhere} میتوانید علامت انتهای اثبات را در مواقعی که بهتنهایی در یک خط قرار دارد در مکان مناسبی درج کنید. + +\begin{example} +\begin{proof} + Trivial, use +\[E=mc^2 \qedhere\] +\end{proof} +\end{example} + +اگر میخواهید تا محیط مناسبی برای خود طراحی کنید، بستۀ \pai{ntheorem} گزینههای بسیار زیادی در اختیارتان قرار میدهد. + + + +% Local Variables: +% TeX-master: "lshort" +% mode: latex +% mode: flyspell +% End: diff --git a/info/lshort/persian/mylayout.sty b/info/lshort/persian/mylayout.sty new file mode 100644 index 0000000000..f141a097ef --- /dev/null +++ b/info/lshort/persian/mylayout.sty @@ -0,0 +1,358 @@ +% !TeX root= lshort.tex +% !TEX TS-program=xelatex + +%% +%% This is file `mylayout.sty', generated +%% on <1995/7/3> with the docstrip utility (2.2i). +%% +%% The original source files were: +%% +%% layout.dtx (with options: `package') +%% +%% IMPORTANT NOTICE: +%% This file is part of the `tools' bundle +%% in the LaTeX2e distribution. +%% +%% You are not allowed to distribute this file. +%% For distribution of the original source see +%% the copyright notice in the source file, and +%% in the file readme.txt distributed with the +%% tools bundle. +%% +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{mylayout} + [1995/06/25 v1.1i + Show layout parameters] +\DeclareOption{dutch}{% + \def\Headertext{Kopregel} + \def\Bodytext{Broodtekst} + \def\Footertext{Voetregel} + \def\MarginNotestext{Marge\\Notities} + \def\oneinchtext{een inch} + \def\notshown{niet getoond} + } +\DeclareOption{english}{% + \def\Headertext{Header} + \def\Bodytext{Body} + \def\Footertext{Footer} + \def\MarginNotestext{Margin\\Notes} + \def\oneinchtext{one inch} + \def\notshown{not shown} + } +\DeclareOption{french}{% + \def\Headertext{Ent\^{e}te} + \def\Bodytext{Corps} + \def\Footertext{Pied de page} + \def\MarginNotestext{Marge\\Notes} + \def\oneinchtext{un pouce} + \def\notshown{non affich\'{e}} + } +\DeclareOption{francais}{\ExecuteOptions{french}} +\DeclareOption{verbose}{\let\type\typeout} +\DeclareOption{silent}{\let\type\@gobble} +\def\lay@value{} +\DeclareOption{integers}{% + \renewcommand*{\lay@value}[2]{% + \expandafter\number\csname #1@#2\endcsname pt}} +\DeclareOption{reals}{% + \renewcommand*{\lay@value}[2]{\the\csname #2\endcsname}} +\ExecuteOptions{english,silent,integers} +\ProcessOptions +\@ifundefined{bs}{\newcommand\bs{\char '134 }}% + {\renewcommand\bs{\char '134 }} +\def\ConvertToCount#1#2{% + #1=#2 + \divide #1 by 65536} +\def\SetToHalf#1#2{#1=#2\relax\divide#1by\tw@} +\def\SetToQuart#1#2{#1=#2\relax\divide#1by4} +\def\Identify#1{% + \put(\PositionX,\PositionY){\circle{20}} + \put(\PositionX,\PositionY){\makebox(0,0){\tiny #1}} +} +\def\InsideHArrow#1{{% + \ArrowLength = #1 + \divide\ArrowLength by \tw@ + \advance\ArrowLength by -10 + \advance\PositionX by -10 + \ifnum\ArrowLength<\z@ + \put(\PositionX,\PositionY){\vector(1,0){-\ArrowLength}} + \advance\PositionX by 20 + \put(\PositionX,\PositionY){\vector(-1,0){-\ArrowLength}} + \else + \put(\PositionX,\PositionY){\vector(-1,0){\ArrowLength}} + \advance\PositionX by 20 + \put(\PositionX,\PositionY){\vector(+1,0){\ArrowLength}} + \fi +}} +\def\InsideVArrow#1{{% + \ArrowLength = #1 + \divide\ArrowLength by \tw@ + \advance\ArrowLength by -10 + \advance\PositionY by -10 + \put(\PositionX,\PositionY){\vector(0,-1){\ArrowLength}} + \advance\PositionY by 20 + \put(\PositionX,\PositionY){\vector(0,+1){\ArrowLength}} +}} +\def\OutsideHArrow#1#2#3{{% + \PositionX = #1 + \advance\PositionX by #3 + \put(\PositionX,\PositionY){\vector(-1,0){#3}} + \PositionX = #1 \advance\PositionX-#2 + \advance\PositionX by -#3 + \put(\PositionX,\PositionY){\vector(+1,0){#3}} +}} +\def\OutsideVArrow#1#2#3#4{{% + \PositionY = #1 + \advance\PositionY by -#3 + \put(\PositionX,\PositionY){\vector(0,+1){#3}} + \PositionY = #1 + \advance\PositionY#2 + \advance\PositionY#4 + \put(\PositionX,\PositionY){\vector(0,-1){#4}} +}} +\def\Show#1#2{\bs #2 = \lay@value{#1}{#2}} +\def\Type#1#2{% + \type{#2 = \lay@value{#1}{#2}}} +\newcount\oneinch +\oneinch=72 +\newcount\cnt@paperwidth +\newcount\cnt@paperheight +\ConvertToCount\cnt@paperwidth\paperwidth +\ConvertToCount\cnt@paperheight\paperheight +\newcount\cnt@hoffset +\newcount\cnt@voffset +\ConvertToCount\cnt@hoffset\hoffset +\ConvertToCount\cnt@voffset\voffset +\newcount\cnt@textheight +\newcount\cnt@textwidth +\ConvertToCount\cnt@textheight\textheight +\ConvertToCount\cnt@textwidth\textwidth +\newcount\cnt@topmargin +\newcount\cnt@oddsidemargin +\newcount\cnt@evensidemargin +\ConvertToCount\cnt@topmargin\topmargin +\ConvertToCount\cnt@oddsidemargin\oddsidemargin +\ConvertToCount\cnt@evensidemargin\evensidemargin +\newcount\cnt@headheight +\newcount\cnt@headsep +\ConvertToCount\cnt@headheight\headheight +\ConvertToCount\cnt@headsep\headsep +\newcount\cnt@marginparsep +\newcount\cnt@marginparwidth +\newcount\cnt@marginparpush +\ConvertToCount\cnt@marginparsep\marginparsep +\ConvertToCount\cnt@marginparwidth\marginparwidth +\ConvertToCount\cnt@marginparpush\marginparpush +\newcount\cnt@footskip +\ConvertToCount\cnt@footskip\footskip +\newcount\fheight +\fheight=12 +\newcount\ref@top +\ref@top=\cnt@paperheight \advance\ref@top by -\oneinch +\newcount\ref@hoffset +\newcount\ref@voffset +\ref@hoffset=\cnt@hoffset \advance\cnt@hoffset by \oneinch +\ref@voffset=\cnt@voffset +\cnt@voffset=\ref@top +\advance\cnt@voffset by -\ref@voffset +\newcount\ref@head +\ref@head=\ref@top + \advance\ref@head by -\ref@voffset + \advance\ref@head by -\cnt@topmargin + \advance\ref@head by -\cnt@headheight +\newcount\ref@body +\ref@body=\ref@head + \advance\ref@body by -\cnt@headsep + \advance\ref@body by -\cnt@textheight +\newcount\ref@foot + \ref@foot=\ref@body + \advance\ref@foot by -\cnt@footskip +\newcount\ref@margin +\newcount\ref@marginwidth +\newcount\ref@marginpar +\newcount\Interval +\newcount\ExtraYPos +\newcount\PositionX +\newcount\PositionY +\newcount\ArrowLength +\newcommand\layout{% + \@mylayout + \if@twoside + \@mylayout + \fi} +\newcommand\@mylayout{\latinfont% + \thispagestyle{empty} + \if@twoside + \ifodd\count\z@ + \typeout{Two-sided document style, odd page.} + \ref@marginwidth=\cnt@oddsidemargin + \ref@marginpar=\oneinch + \advance\ref@marginpar by \ref@hoffset + \advance\ref@marginpar by \cnt@oddsidemargin + \ref@margin\ref@marginpar + \if@reversemargin + \advance\ref@marginpar by -\cnt@marginparsep + \advance\ref@marginpar by -\cnt@marginparwidth + \else + \advance\ref@marginpar by \cnt@textwidth + \advance\ref@marginpar by \cnt@marginparsep + \fi + \else + \typeout{Two-sided document style, even page.} + \ref@marginwidth=\cnt@evensidemargin + \ref@marginpar=\oneinch + \advance\ref@marginpar by \ref@hoffset + \advance\ref@marginpar by \cnt@evensidemargin + \ref@margin\ref@marginpar + \if@reversemargin + \advance\ref@marginpar by \cnt@textwidth + \advance\ref@marginpar by \cnt@marginparsep + \else + \advance\ref@marginpar by -\cnt@marginparsep + \advance\ref@marginpar by -\cnt@marginparwidth + \fi + \fi + \else + \typeout{One-sided document style.} + \ref@marginwidth=\cnt@oddsidemargin + \ref@marginpar=\oneinch + \advance\ref@marginpar by \ref@hoffset + \advance\ref@marginpar by \cnt@oddsidemargin + \ref@margin\ref@marginpar + \if@reversemargin + \advance\ref@marginpar by -\cnt@marginparsep + \advance\ref@marginpar by -\cnt@marginparwidth + \else + \advance\ref@marginpar by \cnt@textwidth + \advance\ref@marginpar by \cnt@marginparsep + \fi + \fi + \setlength{\unitlength}{.5pt} + \begin{picture}(\cnt@paperwidth,\cnt@paperheight) + \centering + \thicklines + \put(0,0){\framebox(\cnt@paperwidth,\cnt@paperheight){\mbox{}}} + \put(0,\cnt@voffset){\dashbox{10}(\cnt@paperwidth,0){\mbox{}}} + \put(\cnt@hoffset,0){\dashbox{10}(0,\cnt@paperheight){\mbox{}}} + \put(\ref@margin,\ref@head){% + \framebox(\cnt@textwidth,\cnt@headheight)% + {\footnotesize\Headertext}} + \put(\ref@margin,\ref@body){% + \framebox(\cnt@textwidth,\cnt@textheight){\Bodytext}} + \put(\ref@margin,\ref@foot){% + \framebox(\cnt@textwidth,\fheight){\footnotesize\Footertext}} + \put(\ref@marginpar,\ref@body){% + \framebox(\cnt@marginparwidth,\cnt@textheight)% + {\footnotesize\shortstack{\MarginNotestext}}} + \thinlines + \SetToHalf\PositionX\cnt@textwidth + \advance\PositionX by \ref@margin + \PositionY = \ref@body + \advance\PositionY by 50 + \Identify{8} + \InsideHArrow\cnt@textwidth + \SetToHalf\PositionY\cnt@textheight + \advance\PositionY by \ref@body + \PositionX = \cnt@textwidth + \divide\PositionX by 5 + \multiply \PositionX by 4 + \advance\PositionX by \ref@margin + \Identify{7} + \InsideVArrow\cnt@textheight + \PositionY = \ref@foot + \SetToHalf\PositionX\cnt@hoffset + \Identify{1} + \InsideHArrow\cnt@hoffset + \SetToQuart\PositionY\cnt@textheight + \advance\PositionY by \ref@body + \OutsideHArrow\ref@margin\ref@marginwidth{20} + \PositionX = \cnt@hoffset + \advance\PositionX by -30 + \Identify{3} + \SetToQuart\PositionY\cnt@textheight + \advance\PositionY by \ref@body + \advance\PositionY by 30 + \SetToHalf\PositionX\cnt@marginparwidth + \advance\PositionX by \ref@marginpar + \Identify{10} + \InsideHArrow\cnt@marginparwidth + \advance\PositionY by 30 + \if@twoside + \ifodd\count\z@ + \OutsideHArrow\ref@marginpar\cnt@marginparsep{20} + \PositionX = \ref@marginpar + \else + \OutsideHArrow\ref@margin\cnt@marginparsep{20} + \PositionX = \ref@margin + \fi + \else + \OutsideHArrow\ref@marginpar\cnt@marginparsep{20} + \PositionX = \ref@marginpar + \fi + \advance\PositionX by 30 + \Identify{9} + \PositionX = \cnt@textwidth + \divide\PositionX by 8 + \advance\PositionX by \ref@margin + \OutsideVArrow\ref@foot\cnt@footskip{20}{20} + \PositionY = \ref@foot + \advance\PositionY by -30 + \Identify{11} + \PositionX = \cnt@paperwidth + \advance\PositionX by -50 + \PositionY = \cnt@paperheight + \ExtraYPos = \PositionY + \advance\ExtraYPos by -\cnt@voffset + \advance\PositionY by \cnt@voffset + \divide\PositionY by \tw@ + \Identify{2} + \InsideVArrow\ExtraYPos + \Interval = \cnt@textwidth + \divide\Interval by 8 + \PositionX = \ref@margin + \advance\PositionX by \Interval + \Identify{4} + \ExtraYPos = \ref@head + \advance\ExtraYPos\cnt@headheight + \ArrowLength = \PositionY + \advance\ArrowLength-\ExtraYPos + \advance\ArrowLength-\cnt@topmargin + \advance\ArrowLength-10% + \OutsideVArrow\ExtraYPos\cnt@topmargin{20}{\ArrowLength} + \advance\PositionX by \Interval + \Identify{5} + \advance\ArrowLength\cnt@topmargin + \OutsideVArrow\ref@head\cnt@headheight{20}{\ArrowLength} + \advance\PositionX by \Interval + \Identify{6} + \advance\ArrowLength\cnt@headheight + \ExtraYPos=\ref@body + \advance\ExtraYPos\cnt@textheight + \OutsideVArrow\ExtraYPos\cnt@headsep{20}{\ArrowLength} + \end{picture} + + \medskip + \vtop to 0pt{% + \@minipagerestore\footnotesize\ttfamily + \begin{tabular}{@{}rl@{\hspace{20pt}}rl} + 1 & \oneinchtext\ + \bs\texttt{hoffset} & 2 & \oneinchtext\ + \bs\texttt{voffset} \\ + 3 & \Show{cnt}{oddsidemargin} & 4 & \Show{cnt}{topmargin} \\ + & or \bs\texttt{evensidemargin} & & \\ + 5 & \Show{cnt}{headheight} & 6 & \Show{cnt}{headsep} \\ + 7 & \Show{cnt}{textheight} & 8 & \Show{cnt}{textwidth} \\ + 9 & \Show{cnt}{marginparsep}&10& \Show{cnt}{marginparwidth} \\ + 11& \Show{cnt}{footskip} & & \Show{cnt}{marginparpush} + \rlap{(\notshown)}\\ + & \Show{ref}{hoffset} & & \Show{ref}{voffset} \\ + & \Show{cnt}{paperwidth} & & \Show{cnt}{paperheight} \\ + + \end{tabular}\vss} + \Type{ref}{hoffset} + \Type{ref}{voffset} + \Type{cnt}{textheight} + \Type{cnt}{textwidth} + \newpage +} +\endinput +%% +%% End of file `layout.sty'. diff --git a/info/lshort/persian/overview.tex b/info/lshort/persian/overview.tex new file mode 100644 index 0000000000..61dba7b535 --- /dev/null +++ b/info/lshort/persian/overview.tex @@ -0,0 +1,101 @@ +% !TeX root= lshort.tex +% !TEX TS-program=xelatex + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Contents: Who contributed to this Document +% $Id: overview.tex 169 2008-09-24 07:32:13Z oetiker $ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +% Because this introduction is the reader's first impression, I have +% edited very heavily to try to clarify and economize the language. +% I hope you do not mind! I always try to ask "is this word needed?" +% in my own writing but I don't want to impose my style on you... +% but here I think it may be more important than the rest of the book. +% --baron + +\chapter{پیشگفتار} + +\lr{\LaTeX{}} \cite{manual} +یک سیستم حروفچینی است که برای تولید نوشتار با کیفیت عالی علمی و ریاضی بسیار مناسب است. این سیستم همچنین برای تولید انواع دیگر نوشتار، از یک نامهٔ ساده تا کتابهای کامل، مناسب است. +\lr{\LaTeX} +از +\lr{\TeX} \cite{texbook} +به عنوان موتور حروفچین استفاده میکند. + +این مقدمهٔ کوتاه به معرفی لاتک میپردازد و برای بسیاری از کاربردهای آن کافی است. برای مشاهدهٔ شرح کاملی از سیستم لاتک به +\cite{manual,companion} +مراجعه کنید. + +\bigskip +\noindent +این مقدمه به ۶ فصل تقسیم میشود: +\begin{description} +\item[فصل ۱] +شما را از ساختار ابتدایی نوشتارهای لاتک آگاه میسازد. همچنین کمی از تاریخچهٔ لاتک نیز در این فصل گنجانده شده است. بعد از مطالعهٔ این فصل، شمایی کلی از روش کار لاتک را میآموزید. +\item[فصل ۲] +به درون جزئیات حروفچینی نوشتار سفر میکند. این فصل بیشتر فرمانها و محیطهای اساسی لاتک را معرفی و تشریح میکند. بعد از مطالعهٔ این فصل، توانایی تولید نوشتار خود را خواهید داشت. +\item[فصل ۳] +روش نگارش فرمولها را در لاتک شرح میدهد. مثالهای زیادی برای توضیح کامل قدرت واقعی لاتک در این زمینه ارائه شده است. در انتهای این فصل تمام نمادهای موجود لاتک در چندین جدول آورده شده است. +\item[فصل ۴] +روش تولید نمایه و کتابنامه، و الصاق تصویرهای ای.پی.اس را شرح میدهد. همچنین روش تولید نوشتههای پی.دی.اف به وسیلهٔ پی.دی.اف.لاتک بیان میشود و چندین بستهٔ گسترشیافته معرفی میشود. +\item[فصل ۵] +روش تولید شکل را با کمک لاتک شرح میدهد. به جای رسم شکلها به وسیلهٔ برنامههای کامپیوتری، ذخیره و الصاق آنها، یاد میگیرید که این شکلها را چگونه در لاتک معرفی کنید و آنگاه لاتک آنها را برای شما رسم میکند. +\item[فصل ۶] +شامل اطلاعاتی خطرناک برای تغییر طرح نوشتار در لاتک است. این فصل به شما یاد میدهد که، بسته به توانایی شما، چگونه چیزهایی را تغییر دهید تا طرح زیبای خروجی لاتک را به شکلی زشت و ناراحتکننده تبدیل کنید. +\end{description} +\bigskip +\noindent +بسیار مهم است که فصلهای این مقدمه را به ترتیب مطالعه کنید --- این کتاب آنقدر پرحجم نیست. مطمئن شوید که تمام مثالها را به دقت مطالعه کردهاید، زیرا حجم گستردهای از اطلاعات این کتاب در مثالهایش نهفته است. + +\bigskip +\noindent +لاتک برای بسیاری از انواع کامپیوترها، از کامپیوترهای شخصی گرفته تا مکینتاش و سیستمهای بزرگ یونیکس و وی.ام.اس، وجود دارد. بر روی بسیاری از کامپیوترهای دانشگاهها این سیستم نصب و آمادهٔ استفاده است. نصب خانگی لاتک در +\guide +شرح داده شده است. اگر در نصب این سیستم به مشکل برخوردید، از کسی که این کتاب را به شما داده است کمک بگیرید. هدف این کتاب راهنمایی شما برای نصب لاتک نیست، بلکه هدف آن راهنمایی برای تولید نوشتار توسط لاتک است. + +\bigskip +\noindent +اگر به چیزهایی وابسته به لاتک احتیاج دارید، نگاهی به وبگاه شبکه آرشیو بزرگ تک +(\lr{CTAN}) +بیندازید. صفحهٔ خانگی این آرشیو در +\lr{\texttt{http://www.ctan.org}} +قرار دارد. +همهٔ بستههای لاتک را میتوانید از آرشیو اف.تی.پی +\lr{\texttt{ftp://www.ctan.org}} +و سایتهای آینهای آن در سراسر جهان دریافت کنید. + +در کتاب ارجاعهای دیگری به +\lr{\texttt{CTAN}} +خواهید یافت، که به طور ویژه به نوشتهها و نرمافزارهایی مورد نیاز اشاره میکنند. به جای نوشتن متن کامل +\lr{url}، +تنها کلمهٔ +\lr{\texttt{CTAN}} +را به همراه شاخهای که باید بروید، نوشتهام. + +اگر میخواهید لاتک را روی کامپیوتر خود راهاندازی کنید، به آدرس زیر نگاهی بیندازید: + +\setLR{\CTAN|systems|}\setRL + + +\vspace{\stretch{1}} +\noindent +اگر نظری برای اضافه یا کم کردن این مقدمه دارید، لطفاً مرا آگاه سازید. در این رابطه که چه قسمت از این مقدمه مناسب است و چه قسمت باید بیشتر توضیح داده شود، بسیار مایل هستم که دیدگاههای افراد تازهکار رابدانم. + +\bigskip + +\begin{latin} +\begin{verse} +\contrib{Tobias Oetiker}{tobi@oetiker.ch}% +\noindent{OETIKER+PARTNER AG\\Aarweg 15\\4600 Olten\\Switzerland} +\end{verse} +\vspace{\stretch{1}} +\end{latin} + + +% + +% Local Variables: +% TeX-master: "lshort2e" +% mode: latex +% mode: flyspell +% End: diff --git a/info/lshort/persian/preface.tex b/info/lshort/persian/preface.tex new file mode 100644 index 0000000000..56466d2307 --- /dev/null +++ b/info/lshort/persian/preface.tex @@ -0,0 +1,77 @@ +\chapter{پیشگفتار} + +\lr{\LaTeX{}} \cite{manual} +یک سیستم حروفچینی است که برای تولید نوشتار با کیفیت عالی علمی و ریاضی بسیار مناسب است. این سیستم همچنین برای تولید انواع دیگر نوشتار، از یک نامهٔ ساده تا کتابهای کامل، مناسب است. +\lr{\LaTeX} +از +\lr{\TeX} \cite{texbook} +به عنوان موتور حروفچین استفاده میکند. + +این مقدمهٔ کوتاه به معرفی لاتک میپردازد و برای بسیاری از کاربردهای آن کافی است. برای مشاهدهٔ شرح کاملی از سیستم لاتک به +\cite{manual,companion} +مراجعه کنید. + +\bigskip +\noindent +این مقدمه به ۶ فصل تقسیم میشود: +\begin{description} +\item[فصل ۱] +شما را از ساختار ابتدایی نوشتارهای لاتک آگاه میسازد. همچنین کمی از تاریخچهٔ لاتک نیز در این فصل گنجانده شده است. بعد از مطالعهٔ این فصل، شمایی کلی از روش کار لاتک را میآموزید. +\item[فصل ۲] +به درون جزئیات حروفچینی نوشتار سفر میکند. این فصل بیشتر فرمانها و محیطهای اساسی لاتک را معرفی و تشریح میکند. بعد از مطالعهٔ این فصل، توانایی تولید نوشتار خود را خواهید داشت. +\item[فصل ۳] +روش نگارش فرمولها را در لاتک شرح میدهد. مثالهای زیادی برای توضیح کامل قدرت واقعی لاتک در این زمینه ارائه شده است. در انتهای این فصل تمام نمادهای موجود لاتک در چندین جدول آورده شده است. +\item[فصل ۴] +روش تولید نمایه و کتابنامه، و الصاق تصویرهای ای.پی.اس را شرح میدهد. همچنین روش تولید نوشتههای پی.دی.اف به وسیلهٔ پی.دی.اف.لاتک بیان میشود و چندین بستهٔ گسترشیافته معرفی میشود. +\item[فصل ۵] +روش تولید شکل را با کمک لاتک شرح میدهد. به جای رسم شکلها به وسیلهٔ برنامههای کامپیوتری، ذخیره و الصاق آنها، یاد میگیرید که این شکلها را چگونه در لاتک معرفی کنید و آنگاه لاتک آنها را برای شما رسم میکند. +\item[فصل ۶] +شامل اطلاعاتی خطرناک برای تغییر طرح نوشتار در لاتک است. این فصل به شما یاد میدهد که، بسته به توانایی شما، چگونه چیزهایی را تغییر دهید تا طرح زیبای خروجی لاتک را به شکلی زشت و ناراحتکننده تبدیل کنید. +\end{description} +\bigskip +\noindent +بسیار مهم است که فصلهای این مقدمه را به ترتیب مطالعه کنید --- این کتاب آنقدر پرحجم نیست. مطمئن شوید که تمام مثالها را به دقت مطالعه کردهاید، زیرا حجم گستردهای از اطلاعات این کتاب در مثالهایش نهفته است. + +\bigskip +\noindent +لاتک برای بسیاری از انواع کامپیوترها، از کامپیوترهای شخصی گرفته تا مکینتاش و سیستمهای بزرگ یونیکس و وی.ام.اس، وجود دارد. بر روی بسیاری از کامپیوترهای دانشگاهها این سیستم نصب و آمادهٔ استفاده است. نصب خانگی لاتک در +\guide +شرح داده شده است. اگر در نصب این سیستم به مشکل برخوردید، از کسی که این کتاب را به شما داده است کمک بگیرید. هدف این کتاب راهنمایی شما برای نصب لاتک نیست، بلکه هدف آن راهنمایی برای تولید نوشتار توسط لاتک است. + +\bigskip +\noindent +اگر به چیزهایی وابسته به لاتک احتیاج دارید، نگاهی به وبگاه شبکه آرشیو بزرگ تک +(\lr{CTAN}) +بیندازید. صفحهٔ خانگی این آرشیو در +\lr{\texttt{http://www.ctan.org}} +قرار دارد. +همهٔ بستههای لاتک را میتوانید از آرشیو اف.تی.پی +\lr{\texttt{ftp://www.ctan.org}} +و سایتهای آینهای آن در سراسر جهان دریافت کنید. + +در کتاب ارجاعهای دیگری به +\lr{\texttt{CTAN}} +خواهید یافت، که به طور ویژه به نوشتهها و نرمافزارهایی مورد نیاز اشاره میکنند. به جای نوشتن متن کامل +\lr{url}، +تنها کلمهٔ +\lr{\texttt{CTAN}} +را به همراه شاخهای که باید بروید، نوشتهام. + +اگر میخواهید لاتک را روی کامپیوتر خود راهاندازی کنید، به آدرس زیر نگاهی بیندازید: + +\setLR{\CTAN|systems|}\setRL + + +\vspace{\stretch{1}} +\noindent +اگر نظری برای اضافه یا کم کردن این مقدمه دارید، لطفاً مرا مطلع سازید. در این رابطه که چه قسمت از این مقدمه مناسب است و چه قسمت باید بیشتر توضیح داده شود، بسیار مایل هستم که دیدگاههای افراد تازهکار رابدانم. + +\bigskip + +\begin{latin} +\begin{verse} +\contrib{Tobias Oetiker}{tobi@oetiker.ch}% +\noindent{OETIKER+PARTNER AG\\Aarweg 15\\4600 Olten\\Switzerland} +\end{verse} +\vspace{\stretch{1}} +\end{latin} diff --git a/info/lshort/persian/spec.tex b/info/lshort/persian/spec.tex new file mode 100644 index 0000000000..63b70a1716 --- /dev/null +++ b/info/lshort/persian/spec.tex @@ -0,0 +1,782 @@ +% !TeX root= lshort.tex +% !TEX TS-program=xelatex + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Contents: Specialities of the LaTeX system +% $Id: spec.tex 172 2008-09-25 05:26:50Z oetiker $ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\chapter{ابزارهای ویژه} +\begin{intro} +وقتی که در حال تهیهٔ یک نوشتار بزرگ هستید، لاتک با ارائهٔ ابزارهای ویژهای مانند تولید نمایه، کتابنامه، و غیره به شما کمک میکند. لیست کاملتری از ابزارهایی که در لاتک وجود دارد در +\manual{} و \companion +ارائه شده است. +\end{intro} +\section{الصاق بستههای پستاسکریپت}\label{eps} + +لاتک ابزارهای ابتدایی کار با اشیاء شناور مانند تصویر و گرافیک را با محیطهای \texttt{figure} و \texttt{table} ارائه میکند. +چندین راه برای تولید گرافیک واقعی توسط خود لاتک بوسیلهٔ بستههایی وجود دارد که تعدادی از آنها در فصل +\ref{chap:graphics} +بیان شده است. برای اطلاعات بیشتر به + \manual{} و \companion{}مراجعه کنید. + +یک راه سادهتر برای داشتن گرافیک در یک نوشتار این است که تصاویر را به وسیله نرم\-افزارهایی% +\footnote{مانند \lr{XFig}، \lr{Gnuplot}، \ldots} +تولید کرد و آنگاه آنها را در نوشتار وارد کرد. لاتک راههای بسیاری برای انجام اینکار در اختیار شما قرار میدهد، اما این مقدمه تنها استفاده از +\EPSi{}\Footnote{Encapsulated \textsc{PostScript}} + را شرح میدهد، زیرا کار با آن بسیار آسان و معمول است. برای این که تصاویر را به فرمت ای.پی.اس دربیاورید باید چاپگر +\PSi + داشته باشید.% +\footnote{گزینهٔ دیگر استفاده از نرمافزار \textsc{\wi{\lr{GhostScript}}} +است که آن را میتوانید از + \CTANref|support/ghostscript| تهیه کنید. کاربران ویندوز و \lr{OS/2} ممکن است نیاز داشته باشند به \textsc{\lr{GSview}} نگاهی بیندازند.} + +چندین فرمان، مناسب الصاق یک تصویر به نوشتار در بستهٔ +\pai{graphicx} موجود است که توسط \lr{D.~P.~Carlisle} + تهیه شده است. این بسته قسمتی از یک خانواده از بستههاست که کلاف +\lr{graphics} +نامیده میشود.% +\Footnote{\CTANref|macros/latex/required/graphics|} + + +با فرض آنکه روی سیستمی کار میکنید که به چاپگر +\PSi مجهز و بستهٔ \textsf{\lr{graphicx}} +نصب شده است، گامهای زیر شما را در الصاق تصویر به نوشتارتان یاری میکند: +\begin{itemize} +\item[(۱)] + تصویر مورد نظر را از برنامهٔ ای.پی.اس مربوطه به فرمت \lr{EPS} خارج کنید.\footnote{اگر از برنامهٔ ای.پی.اس مربوطه نمیتوانید تصویر را به فرمت ای.پی.اس خارج کنید، سعی کنید چاپگر ای.پی.اس (مانند +\lr{Apple LaserWriter}) را نصب کنید و خروجی آن را به فایل قرار دهید. اگر خوششانس باشید تصویر به فرمت ای.پی.اس ذخیره خواهد شد. توجه داشته باشید که یک تصویر ای.پی.اس نباید بیش از یک صفحه باشد. بعضی از چاپگرها را میتوان تنظیم کرد که خروجی خود را به فرمت ای.پی.اس تولید کنند.} +\item[(۲)] + بستهٔ \textsf{\lr{graphicx}} را در سرآغاز فایل به شکل زیر فراخوانی کنید، +\begin{lscommand} +\verb|\usepackage[|\emph{driver}\verb|]{graphicx}| +\end{lscommand} +\noindent + که \emph{driver} نام مبدل دی.وی.آی به پستاسکریپت است. مبدلی که بسیار مورد استفاده همگان قرار میگیرد مبدل \texttt{\lr{dvips}} است. نام درایور مورد نیاز است، زیرا هیچ استانداردی برای الصاق یک تصویر در تک وجود ندارد. با دانستن نام درایور، بستهٔ \textsf{\lr{graphicx}} روش درست الصاق تصویر را در فایل \eei{.dvi} بهکار میبندد، و بنابراین چاپگر به شکل درست میتواند فایل \eei{.eps} را تولید کند. +\item[(۳)] + فرمان +\begin{lscommand} +\ci{includegraphics}\verb|[|\emph{key}=\emph{value,}\ldots\verb|]{|\emph{file}\verb|}| +\end{lscommand} +\noindent را بهکار گیرید تا فایل تصویر را در نوشتار خود وارد کنید. پارامتر اختیاری لیستی از کلیدهای جداشده توسط ویرگول را قبول میکند و مقادیر مورد نظر را تنظیم میکند. کلیدها را میتوان برای تغییر عرض و ارتفاع، و چرخاندن تصویر بهکار برد. جدول +\ref{keyvals} +%\LRE{\hyperref[keyvals]{1.5}} +مهمترین کلیدها را نشان میدهد. +\end{itemize} + +\begin{table}[htb] +\caption{نام کلیدها برای بستهٔ \lr{\textsf{graphicx}}} +\label{keyvals} +\begin{lined}{9cm} +\begin{tabular}{@{}lr} +\texttt{width}& تنظیم عرض تصویر\\ +\texttt{height}&تنظیم ارتفاع تصویر\\ +\texttt{angle}&چرخش تصویر پاد ساعتگرد\\ +\texttt{scale}&تنظیم اندازه تصویر\\ +\end{tabular} + +\bigskip +\end{lined} +\end{table} + + +مثال زیر به شرح مطالب گفته شده کمک میکند: +\begin{code} +\begin{verbatim} +\begin{figure} +\centering +\includegraphics[angle=90, + width=0.5\textwidth]{test} +\caption{This is a test.} +\end{figure} +\end{verbatim} +\end{code} +این فرمان تصویر ذخیره شده در \texttt{test.eps} را به نوشتار الصاق میکند. تصویر در ابتدا به اندازهٔ ۹۰ درجه چرخش مییابد و سپس در +انتها به اندازهٔ نصف عرض پاراگراف تنظیم میشود. نسبت تنظیم ۱ است زیرا هیچ ارتفاعی مشخص نشده است. پارامترهای عرض و ارتفاع را میتوان بهطور صریح مشخص کرد +(نه بر حسب چیز دیگر مانند عرض پاراگراف). +برای اطلاعات بیشتر به جدول +\ref{units} +%\LRE{\hyperref[units]{5.6}} +در صفحه +\pageref{units} مراجعه کنید.اگر میخواهید اطلاعات کاملی در این مورد داشته باشید +\cite{graphics} و \cite{eps} + را مطالعه کنید. +\sectionmark{نمایه سازی} +\thispagestyle{fancy} +\section{کتابنامه} + +کتابنامه +\index{قیی@کتابنامه} +را میتوان با محیط \ei{thebibliography} تولید کرد. هر فقره را میتوان با فرمان +\begin{lscommand} +\ci{bibitem}\verb|[|\emph{label}\verb|]{|\emph{marker}\verb|}| +\end{lscommand} +درست کرد. در این صورت از +\emph{marker} میتوان برای ارجاع به یک کتاب یا مقاله در داخل نوشتار استفاده کرد. +\begin{lscommand} +\ci{cite}\verb|{|\emph{marker}\verb|}| +\end{lscommand} +اگر نمیخواهید از گزینهٔ +\emph{label} استفاده کنید، هر فقره به طور خودکار شمارهگذاری میشود. پارامتر بعد از \verb|\begin{thebibliography}| مشخص میکند که چه مقدار فضا باید برای برچسبها در نظر گرفته شود. در مثال زیر، +\verb|{99}| به لاتک میگوید که هیچکدام از شمارههای فقرهها گستردهتر از عدد \lr{99} نیست. + + +%\enlargethispage{2cm} +\begin{example} +Partl~\cite{pa} has +proposed that \ldots +\begin{thebibliography}{99} +\bibitem{pa} H.~Partl: +\emph{German \TeX}, +TUGboat Volume~9, Issue~1 (1988) +\end{thebibliography} +\end{example}} +\chaptermark{ابزارهای ویژه} % w need to fix the damage done by the + %bibliography example. +\sectionmark{نمایه سازی} +\thispagestyle{fancy} + + +برای پروژههای بزرگتر، ممکن است مایل باشید برنامه \lr{Bib\TeX{}} را ببینید. \lr{Bib\TeX{}} با اغلب توزیعهای تک ارائه میشود. این برنامه به شما اجازه میدهد که پایگاهی از مراجع را تهیه کنید و آنهایی را که لازم دارید در یک نوشتار وارد کنید. فرمی که \lr{Bib\TeX{}} برای ذخیرهٔ مراجع ارائه میکند به صورتی است که میتوانید انواع مختلف مرجع را بهطور یکسان ذخیره کنید. + +%\newpage + +\section{نمایه سازی}\label{sec:indexing} +یکی از امکانات بسیار خوب اغلب کتابها \wi{نمایه} +است. به کمک برنامه +\texttt{makeindex} +\footnote{در سیستمهایی که نام یک فایل نمیتواند بیشتر از ۸ حرف باشد، نام این برنامه \texttt{makeidx} است.} +لاتک قادر است به سادگی هرچه تمامتر نمایه تولید کند. این مقدمه تنها فرمانهای ابتدایی نمایهسازی را شرح میدهد. برای شرح کاملتر به \companion مراجعه کنید. \romanindex{makeindex + program} \romanindex{makeidx package}\index{برنامهٔ نمایهساز} + +برای این که لاتک را قادر به ساختن نمایه کنیم باید بستهٔ +\pai{makeidx} را در سرآغاز به صورت زیر فراخوانی کنیم: +\begin{lscommand} +\verb|\usepackage{makeidx}| +\end{lscommand} +\noindent و فرمان ویژهٔ نمایهسازی باید به صورت +\begin{lscommand} + \ci{makeindex} +\end{lscommand} +\noindent در سرآغاز فعال شود. + +محتویات یک نمایه با فرمان +\begin{lscommand} + \ci{index}\verb|{|\emph{key}\verb|}| +\end{lscommand} +\noindent +مشخص میشود، که +\emph{key} +فقرهٔ نمایه است. فرمان نمایه را در مکانی از متن وارد میکنید که میخواهید نمایه به آنجا ارجاع داشته باشد. جدول +\ref{index} +%\LRE{\hyperref[index]{2.5}} +شکل آرگومان +\emph{key} +را با چندین مثال نشان میدهد. + +\begin{table}[!tp] +\caption{مثالهایی از شکل کلیدها} +\label{index} +\begin{center} +\begin{tabular}{@{}rll@{}} + \textbf{توضیح} &\textbf{فقرهٔ نمایه} &\textbf{مثال}\\\hline + \rule{0pt}{1.05em} + فقرهٔ ساده &\lr{hello, 1} &\verb|\index{hello}|\\ + زیرفقره زیر \lr{`hello'} &\lr{\hspace*{2ex}Peter, 3} & \verb|\index{hello!Peter}|\\ + فقرهٔ شکیل &\lr{\textsl{Sam}, 2}& \verb|\index{Sam@\textsl{Sam}}|\\ + همانند بالا &\lr{\textbf{Lin}, 7}& \verb|\index{Lin@\textbf{Lin}}|\\ + شمارهٔ صفحهٔ شکیل &\lr{Jenny, \textbf{3}}& \verb.\index{Jenny|textbf}.\\ + همانند بالا & +\lr{Joe, \textit{5}}&\verb.\index{Joe|textit}. \\ + اعمال لهجه & +\lr{\'ecole, 4}&\LRE{\verb.\index{ecole@\'ecole}.} +\end{tabular} +\end{center} +\end{table} + +وقتی که فایل ورودی با لاتک پردازش میشود، هر فرمان \verb|\index| فقرهٔ مربوطه را به همراه شمارهٔ صفحهٔ جاری در یک فایل ویژه ذخیره میکند. +این فایل دارای همان نام فایل ورودی است، اما پسوند آن (\verb|.idx|) است. این فایل +\eei{.idx} را سپس میتوان با برنامهٔ \texttt{\lr{makeindex}} پردازش کرد. + +\begin{lscommand} + \texttt{makeindex} \emph{filename} +\end{lscommand} +برنامهٔ \texttt{makeindex} نمایهٔ مرتب شده را در فایلی همنام با فایل ورودی ولی با پسوند \eei{.ind} تولید میکند. بعد از این کار اگر فایل ورودی دوباره پردازش شود، نمایهٔ مرتب شده درنقطهای از نوشتار که فرمان +\begin{lscommand} + \ci{printindex} +\end{lscommand} +\noindent قرار داشته باشد ظاهر میشود. + +بستهٔ \pai{showidx} که به همراه لاتک عرضه میشود تمام فقرههای نمایه را در حاشیهٔ سمت چپ متن ظاهر میکند. این کار برای اصلاح و بازدید مکان +دقیق فقرههای نمایه بسیار مفید است. + +توجه کنید که فرمان \ci{index} اگر بهطور دقیق مورد استفاده قرار نگیرد ممکن است صفحه\-بندی را تحت تأثیر قرار دهد. + +\begin{example} +My Word \index{Word}. As opposed +to Word\index{Word}. Note the +position of the full stop. +\end{example} + +\section{سربرگهای تجملی}\label{sec:fancy} + +بستهٔ +\pai{fancyhdr} \footnote{نوشته شده توسط \lr{Piet van Oostrum} و قابل دریافت از + \CTANref|macros/latex/contrib/supported/fancyhdr|.}، + فرمانهایی ساده برای طراحی سربرگ و تهبرگ برای نوشتار ارائه میکند. اگر به قسمت بالای این صفحه نگاه کنید، میتوانید اثر این بسته را ببینید. + + +\begin{figure}[!htbp] +\setLR +\begin{lined}{\textwidth} +\begin{verbatim} +\documentclass{book} +\usepackage{fancyhdr} +\pagestyle{fancy} +% with this we ensure that the chapter and section +% headings are in lowercase. +\renewcommand{\chaptermark}[1]{% + \markboth{#1}{}} +\renewcommand{\sectionmark}[1]{% + \markright{\thesection\ #1}} +\fancyhf{} % delete current header and footer +\fancyhead[LE,RO]{\bfseries\thepage} +\fancyhead[LO]{\bfseries\rightmark} +\fancyhead[RE]{\bfseries\leftmark} +\renewcommand{\headrulewidth}{0.5pt} +\renewcommand{\footrulewidth}{0pt} +\addtolength{\headheight}{0.5pt} % space for the rule +\fancypagestyle{plain}{% + \fancyhead{} % get rid of headers on plain pages + \renewcommand{\headrulewidth}{0pt} % and the line +} +\end{verbatim} +\end{lined} +\setRL +\caption{مثال بارگذاری \pai{fancyhdr}} \label{fancyhdr} +\end{figure} + + +مطلب اصلی در طراحی سربرگ و تهبرگ این است که چگونه نام فصل و بخش جاری را ظاهر کنیم. لاتک این مشکل را با دو روش برطرف میکند. در تعریف سربرگ و تهبرگ، میتوانید از فرمانهای \ci{rightmark} و \ci{leftmark} برای چاپ عنوان فصل و بخش استفاده کنید. مقدار این دو فرمان وقتی که فرمانهای فصل جدید و بخش جدید قرار دارند دوبارهسازی میشوند. + +برای حداکثر انعطافپذیری، فرمان \verb|\chapter| و دوستانش بهطور خودکار مقـــــــــــــدار \ci{rightmark} و \ci{leftmark} را تغییر نمیدهند. فرمانهای +\begin{latin} +\ci{chaptermark}, \ci{sectionmark}, \ci{subsectionmark} +\end{latin} + هستند که وظیفهٔ تعریف دوبارهٔ \ci{rightmark} +و \ci{leftmark} را دارند. + +اگر میخواهید شکل قرار گرفتن عنوان فصل را در سربرگ تغییر دهید، کافی است تنها \ci{chaptermark} + را بهکار ببرید. \cih{sectionmark}\cih{subsectionmark} + + +شکل +\ref{fancyhdr} +%\LRE{\hyperref[fancyhdr]{1.5}} +بارگذاریهای ممکن بستهٔ \pai{fancyhdr} را نشان میدهد که شکل سربرگ و تهبرگ همانند این مقدمه باشد. در هر حال، توصیه میکنم که راهنمای این بسته را که در پانوشت آمده است بهطور کامل مطالعه کنید. +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\section{\texorpdfstring{بستهٔ \lr{Verbatim}}{بستهٔ verbatim}} +در بخشهای پیشین احتمالاً با \femph{محیط} \ei{verbatim} آشنا شدهاید. در این بخش، با \femph{بستهٔ} \pai{verbatim} +آشنا میشوید. بستهٔ \pai{verbatim} اساساً گسترشی از محیط \pai{verbatim} است که تعدادی از مشکلات این محیط را برطرف میکند. این به تنهایی کار خیلی خارقالعادهای نیست، اما این گسترش چندین ابزار جدید تعریف میکند، که به همین دلیل این بسته را در اینجا توضیح میدهم. بستهٔ \pai{verbatim} فرمان + +\begin{lscommand} +\ci{verbatiminput}\verb|{|\emph{filename}\verb|}| +\end{lscommand} + +\noindent را ارائه میکند، که شما را قادر به الصاق یک متن اسکی در نوشتار خود میکند که این متن اسکی باید در محیط \ei{verbatim} قرار داشته باشد. + +از آنجا که بستهٔ \pai{verbatim} قسمتی از کلاف ابزار است، باید روی سیستم شما نصب شده باشد. اگر میخواهید اطلاعات بیشتری در مورد این بسته بدست بیاورید حتماً +\cite{verbatim} را ببینید. +\section{نصب بستههای اضافی} + +اکثر توزیعهای لاتک شامل بسیاری از بستهها است که هنگام نصب لاتک به طور خودکار نصب میشوند، با این حال تعداد بسیار بیشتری از بستهها را میتوان روی اینترنت پیدا کرد. مهمترین مکان روی اینترنت برای دستیابی به این بستهها \lr{CTAN} (\lr{\url{http://www.ctan.org/}}) است. + +بستههایی مانند \pai{geometry}، \pai{hyphenat}، و بسیاری بیشتر از این بستهها بهطور عمومی از دو فایل تشکیل شدهاند: یکی با پسوند \texttt{.ins} و دیگری با پسوند \texttt{.dtx}. اغلب فایلی با نام \texttt{readme.txt} نیز وجود دارد که شامل شرحی از بسته است. بهتر است همواره این فایل را مطالعه کنید. + +اگر فردی فایلهای یک بسته را در سیستم شما ذخیره کرده باشد، لازم است که آنها را پردازش کنید تا توزیع تک این بسته را بشناسد و راهنمای آن را در اختیار شما قرار دهد. اولین قدم به صورت زیر انجام میشود: + +\begin{enumerate} +\item لاتک را روی فایل \texttt{.ins} پردازش کنید. این کار باعث باز کردن فایل \eei{.sty} میشود. +\item فایل \eei{.sty} را به مکانی انتقال دهید تا توزیع تک شما قادر به پیدا کردن آن باشد. معمولاً این مکان در \texttt{\lr{\ldots/\emph{localtexmf}/tex/latex}} قرار دارد +(کاربران ویندوز و \lr{OS/2} میتوانند از بکاسلش به جای اسلش استفاده کنند.) +\item پایگاه نام ـ فایل توزیع خود را بروز کنید. فرمان انجام این کار به توزیع تک شما بستگی دارد: \texttt{texhash} در \lr{teTeX} و \lr{fpTeX}؛ \texttt{mktexlsr} در \lr{web2c}؛ و \lr{\texttt{initexmf -update-fndb}} +در \lr{MikTex} و یا از رابط گرافیکی کاربر مربوطه استفاده کنید. +\end{enumerate} + +\noindent حال میتوانید راهنمای بسته را از فایل \texttt{.dtx} بدست آورید: + +\begin{enumerate} +\item لاتک را روی فایل \texttt{.dtx} پردازش کنید. این کار باعث تولید یک فایل \texttt{.dvi} میشود. توجه داشته باشید که باید لاتک را روی فایل چند بار اجرا کنید تا ارجاعهای متن بهدرستی نمایش داده شوند. +\item بررسی کنید که آیا لاتک فایل \texttt{.idx} را تولید کرده است یا نه. اگر این اتفاق نیفتاده بود به مرحله آخر +\ref{step:final} بروید. +\item برای تولید نمایه، عبارت زیر را وارد کنید:\\ +\setLR + +\fbox{\texttt{makeindex -s gind.ist \textit{name}}} + +\setRL + + (که \textit{\lr{name}} همان نام فایل اصلی بدون هیچ پسوندی است.). + \item لاتک را دوباره روی فایل \texttt{.dtx} پردازش کنید.\label{step:next} + +\item فایل \texttt{.ps} یا \texttt{.pdf} + را برای لذت بیشتر از مطالعه ایجاد کنید.\label{step:final} + +\end{enumerate} + +گاهی اوقات میبینید که فایل \texttt{.glo}\Footnote{glossary} ایجاد شده است. فرمان زیر را بعد از مرحلهٔ +\ref{step:next} و قبل از مرحلهٔ +\ref{step:final} اجرا کنید: + +\noindent +\setLR + +\texttt{makeindex -s gglo.ist -o \textit{name}.gls \textit{name}.glo} + +\setRL + +\noindent مطمئن شوید که لاتک را روی فایل \texttt{.dtx} یکبار دیگر اجرا کنید قبل از آنکه به مرحلهٔ +\ref{step:final} بروید. + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Contents: Chapter on pdfLaTeX +% French original by Daniel Flipo 14/07/2004 +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\section{کار با پی.دی.اف لاتک}\label{sec:pdftex}\index{\lr{PDF}} +%\secby{Daniel Flipo}{Daniel.Flipo@univ-lille1.fr}% +پی.دی.اف یک فرمت +\wi{ابرمتن}% +\Footnote{\wi{\lr{hypertext}}} است. همانند صفحههای وب، بعضی از کلمات دارای ابرارجاع هستند. این کلمات به مکانهای دیگری در نوشتار اشاره میکنند. اگر به این کلمهها اشاره کنیم به مکان دیگری از متن انتقال مییابیم. به زبان لاتک، این موضوع به آن معنا است که هر ارجاع \ci{ref} و \ci{pageref} یک ابرارجاع میشود. به همین ترتیب تمام جدولها، فهرست مطالب، فقرههای نمایه و تمام اشیاء مانند اینها میتوانند ابرارجاع باشند. + +بیشتر صفحههای وب که امروزه نوشته میشوند به صورت \lr{HTML}\Footnote{HyperText + Markup Language} است. این فرمت دو ویژگی مهم برای نوشتن متنهای علمی دارد: +\begin{enumerate} +\item وارد کردن فرمولهای ریاضی در متنهای \lr{HTML} عموماً پشتیبانی نمیشود. با این که استانداردی برای نوشتن فرمول در این فرمت وجود دارد، بسیاری از مرورگرهای امروزی از آن پشتیبانی نمیکنند، یا این که قلمهای مورد نیاز را نمیشناسند. +\item چاپ متنهای \lr{HTML} امکانپذیر است، اما نتیجهٔ کار کاملاً به مرورگرها و سیستمعاملها بستگی دارد. نتیجهٔ چاپ بسیار با چیزی که در دنیای لاتک انتظار داریم متفاوت است. +\end{enumerate} + +تلاشهای بسیاری برای تولید مترجمهایی از لاتک به \lr{HTML} وجود دارد. بعضی از آنها حتی بسیار کارا هستند به این معنی که میتوانند متنهای مناسب وب از فایلهای لاتک بسازند. اما همهٔ آنها حاشیههای چپ و راست متن را میبرند. همینکه شروع کنید متنهای پیچیده با فراخوانی بستههای مختلف تولید کنید همه چیز خراب میشود. نویسندگانی که میخواهند نوشتهٔ آنها بدون تغییر در وب گذاشته شود، نوشتهٔ خود را ابتدا به صورت پی.دی.اف (\lr{PDF}) تبدیل میکنند که به این ترتیب چهارچوب متن و ابرمتن بدون تغییر باقی میماند. بعضی از مرورگرها به ابزار نمایش مستقیم صفحات پی.دی.اف مجهز هستند. + +با وجود آنکه نمایشگر دی.وی.آی و پی.اس برای تقریباً تمام سیستمها وجود دارد، نمایشگر\-های +\wi{\lr{Acrobat Reader}} و \wi{\lr{Xpdf}} برای مشاهدهٔ فایلهای پی.دی.اف بسیار پیشرفته هستند. بنابر\-این تولید نسخهٔ پی.دی.اف از فایل برای استفاده کنندگان بسیار مفید است. +\subsection{نوشتارهای پی.دی.اف برای وب} + +تولید نسخهٔ پی.دی.اف از کد لاتک توسط پی.دی.اف تک\Footnote{pdf\TeX} بسیار آسان است. پی.دی.اف تک برنامهای است که توسط \lr{H\`an~Th\'{\^e}~Th\`anh} نوشته شده است. پی.دی.اف تک خروجی پی.دی.اف تولید میکند در حالی که تک خروجی دی.وی.آی تولید میکند. +\index{\lr{pdftex}@\lr{pdf\TeX}}\index{\lr{pdftex}@\lr{pdf\LaTeX}} + +هر دو برنامهٔ پی.دی.اف تک و پی.دی.اف لاتک بهطور خودکار توسط بسیاری از توزیعهای تک نصب میشود، مانند \lr{te\TeX{}}، \lr{fp\TeX{}}، +\lr{Mik\TeX}، \lr{\TeX{}Live} و \lr{CMac\TeX{}}. + +برای تولید خروجی پی.دی.اف بهجای دی.وی.آی، تنها باید فرمان \lr{\texttt{pdflatex file.tex}} را بهجای \lr{\texttt{latex file.tex}} بهکار برد. +در سیستمهایی که لاتک را نمیتوان از خط فرمان اجرا کرد، میتوانید کلید مخصوص این کار را از مرکز فرمان تک پیدا کنید. + +با لاتک میتوانید اندازهٔ صفحه را با گزینههایی در نوشتار مشخص کنید مانند \texttt{a4paper} یا \texttt{letterpaper}. +این روش در پی.دی.اف لاتک نیز کارساز است، قبل از این، پی.دی.اف لاتک باید اندازهٔ واقعی صفحه را بداند.\romanindex{paper size}\index{اندازهٔ صفحه} +اگر از بستهٔ \lr{\pai{hyperref}} استفاده میکنید (صفحهٔ +\pageref{ssec:pdfhyperref} را ببینید)، اندازهٔ صفحه بهطور خودکار تعیین میشود. در غیر این صورت این کار را باید دستی به صورت زیر انجام دهید: +\begin{code} +\begin{verbatim} +\pdfpagewidth=\paperwidth +\pdfpageheight=\paperheight +\end{verbatim} +\end{code} + +بخش بعد بهطور مفصلتر به تفاوت لاتک و پی.دی.اف لاتک میپردازد. مهمترین تفاوتها عبارتند از قلمها، نوع تصاویر الصاقی، و تنظیم دستی ابرمتنها. + +\subsection{قلمها} + +{پی. دی. اف. لاتک \index{بیی@پی.دی.اف لاتک}} +میتواند با هر نوع قلم کار کند،% +\footnote{مانند \lr{PK bitmaps}، \lr{TrueType}، \lr{PostScript type~1}، ...} +اما قلمهای نرمال لاتک، پی.کی بیتمپها، بعد از تبدیل به پی.دی.اف و هنگام مشاهده با آکروبات ریدر به صورت زشتی پدیدار میشوند. برای رفع این مشکل بهتر است از قلمهای پی.کی بیتمپ نوع ۱ برای تولید نوشتار استفاده کرد. \femph{توزیعهای جدید تک طوری نصب میشوند که این کار به صورت خودکار انجام شود. بهتر است این موضوع را بررسی کنید. اگر این گونه است تمام این بخش را نادیده بگیرید.} + + +\subsection{استفاده از گرافیک} +\label{ssec:pdfgraph} + +الصاق تصاویر در یک نوشتار به شکل خوبی توسط بستهٔ \pai{graphicx} انجام میشود +(صفحهٔ \pageref{eps} را ببینید). +با استفاده از گزینهٔ \femph{درایور} + \lr{pdftex} +این بسته با لاتک نیز کار میکند: + +\begin{code} +\begin{verbatim} +\usepackage[pdftex]{color,graphicx} +\end{verbatim} +\end{code} + +در مثال سادهٔ بالا گزینهٔ رنگ را نیز وارد کردهام، زیرا استفاده از تصاویر رنگی در وب بسیار معمول است. + +این خبر خوب بود. و حالا خبر بد این است که تصاویر به فرم ای.پی.اس با پی.دی.اف لاتک سازگار نیستند. اگر پسوند فایلی را در فرمان \ci{includegraphics} +اعلان نکنید، فرمان \pai{graphicx} بدنبال فرمت مناسب خود، به ترتیب گزینههای درایور میگردد. برای پی.دی.اف تک فرمتهای تصویر مناسب عبارتند از \texttt{.png}، \texttt{.pdf}، \texttt{.jpg} و \texttt{.mps}% +\Footnote{\MP}\index{\lr{metapost}@\lr{\MP}}) + اما فرمت \texttt{.eps} از این نوع نیست. + +راه سادهٔ رفع این مشکل این است که با استفاده از فرمان \lr{epstopdf} تصاویر ای.پی.اس را به پی.دی.اف تبدیل کرد. برای تصاویرِ بُرداری + این روش بسیار مناسب است. برای تصاویر بیتْمَپ، این روش ایدهآل نیست، زیرا فرمت پی.دی.اف به طور طبیعی الصاق تصاویر پی.ان.جی و جِی.پی.ای.جی را پشتیبانی میکند. پی.ان.جی برای تصاویر با تعداد کمی رنگ مناسب است و جِی.پی.ای.جی برای تصاویر کاملتر مناسب است و بسیار کم حجم است. + +حتی بسیار مناسب است که تصاویر هندسی را رسم نکرد و تنها با استفاده از فرمانهایی این تصاویر را در نوشتار قرار داد. زبان مناسب انجام این کار + متاپست \index{\lr{metapost}@\lr{\MP}} است، که در تمام توزیعهای تک وجود دارد و دارای راهنمای کامل است. + +\subsection{ارجاع متنی} +\label{ssec:pdfhyperref} + +بستهٔ \pai{hyperref} مسئولیت برگردان تمام ارجاعات داخلی متن را به ابرارجاع دارد. برای انجام این کار به کمی شعبدهبازی احتیاج است، شما باید فرمان +\verb+\usepackage[pdftex]{hyperref}+ را به عنوان \femph{آخرین} +فرمان در سرآغاز نوشتار خود قرار دهید. + +چندین گزینه برای تغییر رفتار بستهٔ \pai{hyperref} وجود دارد: +\begin{itemize} +\item به صورت تعدادی گزینه بعد از گزینهٔ \lr{pdftex} که با ویرگول جدا میشوند + +\setLR + \verb+\usepackage[pdftex]{hyperref}+ +\setRL + +\item یا در یک خط جداگانه با استفاده از فرمان + +\setLR + \verb+\hypersetup{+\emph{options}\verb+}+ +\setRL + +\end{itemize} + +تنها گزینهٔ اجباری \texttt{pdftex} است؛ بقیهٔ گزینهها اختیاری هستند و اجازهٔ تغییر رفتار ارجاعات را میدهند.% +\footnote{قابل ذکر است که بستهٔ \pai{hyperref} در کار با پی.دی.اف تک دارای هیچ محدودیتی نیست. میتوان آن را تنظیم کرد تا +اطلاعات پی.دی.اف را در خروجی دی.وی.آی نیز هنگام پردازش لاتک ذخیره کند و هنگام تبدیل به پی.اس و در نهایت با مبدل آکروبات دیستایلر به فایل پی.دی.اف انتقال یابد.} در مثال زیر مقادیر پیشفرض به صورت عادی +(غیر ایتالیک) +نوشته شدهاند. + + +\begin{flushleft} +\begin{description} + \item [\lr{\texttt{bookmarks (=true,\textit{false})}}] میلهٔ چوب الف را نمایش میدهد. + \item [\lr{\texttt{unicode (=false,\textit{true})}}] اجازهٔ نمایش حروف غیر لاتین را در چوب الف آکروبات میدهد. + \item [\lr{\texttt{pdftoolbar (=true,\textit{false})}}] میلهٔ ابزار آکروبات را فعال یا غیر فعال میکند. + \item [\lr{\texttt{pdfmenubar (=true,\textit{false})}}] منوی آکروبات را نمایش میدهد. + \item [\lr{\texttt{pdffitwindow (=true,\textit{false})}}] اندازهٔ نمایش را تغییر میدهد. + \item [\lr{\texttt{pdftitle (=\{text\})}}] عنوانی را که هنگام نمایش فایل در قسمت اطلاعات آکروبات ظاهر میشود، نمایش میدهد. + \item [\lr{\texttt{pdfauthor (=\{text\})}}] عنوان نویسندهٔ فایل پی.دی.اف. + \item [\lr{\texttt{pdfnewwindow (=true,\textit{false})}}] مشخص میکند که آیا باید یک صفحهٔ جدید هنگام نمایش فایل ظاهر شود. + \item [\lr{\texttt{colorlinks (=false,\textit{true})}}] ارجاعات را در جعبههای رنگی محصور میکند (\texttt{false}) یا خود ارجاعات به صورت رنگی ظاهر میشوند (\texttt{true}). رنگ این ارجاعات را میتوان بوسیلهٔ گزینههای زیر تنظیم کرد + (مقادیر پیشفرض رنگی نشان داده میشوند): + \begin{description} + \item [\lr{\texttt{linkcolor (=red)}}] رنگ اتصالهای داخلی + (بخشها، صفحهها و غیره) + \item [\lr{\texttt{citecolor (=green)}}] رنگ ارجاعات + (کتابنامه) + \item [\lr{\texttt{filecolor (=magenta)}}] رنگ اتصالها + \item [\lr{\texttt{urlcolor (=cyan)}}] رنگ اتصالهای وب + (ایمیل، وب) + \end{description} +\end{description} +\end{flushleft} +اگر تنظیمات پیشفرض مناسب کار شماست از فرمان زیر استفاده کنید +\begin{code} +\begin{verbatim} +\usepackage[pdftex]{hyperref} +\end{verbatim} +\end{code} + +برای این که لیست چوب الف را باز کنید اتصالها را رنگی کنید +( مقدار \lr{\texttt{=true}} اختیاری است): +\begin{code} +\begin{verbatim} +\usepackage[pdftex,bookmarks,colorlinks]{hyperref} +\end{verbatim} +\end{code} + +وقتی که نوشتاری را برای چاپ آماده میکنید اتصالهای رنگی مناسب نیستند زیرا هنگام چاپ خاکستری چاپ میشوند که مناسب خواندن نیستند. میتوانید از کادرهای رنگی استفاده کنید که هنگام چاپ ظاهر نمیشوند: +\begin{code} +\begin{verbatim} +\usepackage{hyperref} +\hypersetup{colorlinks=false} +\end{verbatim} +\end{code} +\noindent یا اتصالها را سیاه کنید: +\begin{code} +\begin{verbatim} +\usepackage{hyperref} +\hypersetup{colorlinks,% + citecolor=black,% + filecolor=black,% + linkcolor=black,% + urlcolor=black,% + pdftex} +\end{verbatim} +\end{code} + +وقتی که تنها میخواهید اطلاعاتی را در قسمت اطلاعات نوشتار نمایش دهید: +\begin{code} +\begin{verbatim} +\usepackage[pdfauthor={Pierre Desproges},% + pdftitle={Des femmes qui tombent},% + pdftex]{hyperref} +\end{verbatim} +\end{code} + +\vspace{\baselineskip} + +اضافه بر ابرمتنهای خودکار میتوانید اتصالهایی را به صورت دلخواه به صورت زیر تعیین کنید + +\begin{lscommand} +\ci{href}\verb|{|\emph{url}\verb|}{|\emph{text}\verb|}| +\end{lscommand} + +کد + +\begin{code} +\begin{verbatim} +The \href{http://www.ctan.org}{CTAN} website. +\end{verbatim} +\end{code} + +متن +\lr{``\href{http://www.ctan.org}{CTAN}''} را تولید میکند؛ اشاره به کلمهٔ \lr{``CTAN''} شما را به وبگاه \lr{CTAN} راهنمایی میکند. + +اگر مقصد یک اتصال یک صفحهٔ وب نباشد و تنها یک فایل باشد میتوانید از فرمان \ci{href} استفاده کنید: + +\setLR +\begin{verbatim} + The complete document is \href{manual.pdf}{here} +\end{verbatim} +\setRL + +که متن +\lr{``The complete document is here''} را تولید میکند. +یک اشاره به کلمهٔ +\lr{``here''} فایل \lr{\texttt{manual.pdf}} را باز میکند. +(مکان فایل وابسته به مکان فایل جاری است). + +نویسندهٔ یک مقاله ممکن است بخواهد خوانندگان بوسیلهٔ ایمیل با او در تماس باشند که این کار با فرمان \ci{href} درون فرمان \ci{author} در صفحهٔ اول نوشتار امکانپذیر است: + +\setLR +\begin{code} +\begin{verbatim} +\author{Mary Oetiker $<$\href{mailto:mary@oetiker.ch}% + {mary@oetiker.ch}$>$ +\end{verbatim} +\end{code} +\setRL + +توجه داشته باشید که اتصال به ایمیل را طوری قرار دادهام که نه تنها در اتصال ظاهر شده است بلکه در خود صفحه نیز ظاهر میشود. این کار را کردهام زیرا اتصال + +\setLR +\verb+\href{mailto:mary@oetiker.ch}{Mary Oetiker}+\\ +\setRL + +با آکروبات به خوبی کار میکند ولی هنگامی که فایل را چاپ میکنیم آدرس ایمیل دیگر ظاهر نمیشود. + +\subsection{مشکلات اتصالها} +پیغامی همانند + +\setLR +\begin{verbatim} +! pdfTeX warning (ext4): destination with the same + identifier (name{page.1}) has been already used, + duplicate ignored +\end{verbatim} +\setRL + +هنگامی ظاهر میشود که یک شمارنده از نو مقداردهی شود، به عنوان مثال هنگام استفاده از فرمان \ci{mainmatter} که توسط طبقهٔ نوشتار کتاب تعریف میشود. این فرمان شمارندهٔ صفحه را قبل از اولین فصل کتاب برابر با ۱ میکند. ولی از آنجا که اولین صفحهٔ پیشگفتار نیز دارای شمارهٔ ۱ است، تمام اتصالها به صفحهٔ ۱ بهطور یکتا مشخص نمیشود، بنابراین توجه داشته باشید شمارندهٔ چندگانه بیتاثیر است. + +اندازهگیر شمارندهها را میتوان با گزینهٔ \lr{\texttt{plainpages=false}} در گزینههای \lr{hyperref} قرار داد. متأسفانه این کار تنها در شمارهٔ صفحهها کمک میکند. +حتی یک راه حل بنیادی میتواند استفاده از گزینهٔ \texttt{hypertexnames = false} است، اما این کار باعث میشود اتصالهای صفحات قابل استفاده نباشند. + +\subsection{مشکلات چوب الف} +متنی که در چوب الف نمایش داده میشود همواره آن چیزی نیست که انتظار آن را دارید. زیرا چوب الفها تنها متن هستند و حروف کمتری برای نمایش آنها نسبت به لاتک موجود است. \lr{Hyperref} این مشکل را میشناسد و پیغام اخطار مناسب میدهد: +\begin{code} +\setLR +\begin{verbatim} +Package hyperref Warning: +Token not allowed in a PDFDocEncoded string: +\end{verbatim} +\setRL +\end{code} +میتوانید این مشکل را با تخصیص یک متن برای چوب الف حل کنید، که جانشین متن مشکلدار میشود: + +\begin{lscommand} +\ci{texorpdfstring}\verb|{|\emph{\TeX{} text}\verb|}{|\emph{Bookmark Text}\verb|}| +\end{lscommand} + +عبارات ریاضی به عنوان متن چوب الف دارای این مشکل هستند: +\begin{code} +\begin{verbatim} +\section{\texorpdfstring{$E=mc^2$}% + {E=mc^2}} +\end{verbatim} +\end{code} +که باعث میشود عبارت \verb+\section{$E=mc^2$}+ در چوب الف به صورت \lr{``E=mc2''} ظاهر شود. + +تغییرات رنگها نیز به خوبی در چوب الف ظاهر نمیشوند: +\begin{code} +\verb+\section{\textcolor{red}{Red !}}+ +\end{code} +عبارت \lr{``redRed"} در چوب الف ظاهر میشود. فرمان \verb+\textcolor+ نادیده گرفته میشود اما آرگومان آن \lr{(red)} چاپ میشود. + +اگر از فرمان زیر استفاده کنید +\begin{code} +\verb+\section{\texorpdfstring{\textcolor{red}{Red !}}{Red\ !}}+ +\end{code} +نتیجهٔ آن خواناتر خواهد بود. + +اگر نوشتار خود را در یونیکد بنویسید و گزینهٔ \verb+unicode+ را برای \pai{hyperref} استفاده کنید آنگاه قادر خواهید بود حروف یونیکد را در چوب الف وارد کنید. این کار شما را قادر میسازد حروف بیشتری را موقع استفاده از فرمان \ci{texorpdfstring} در چوب الف ظاهر کنید. + +\subsubsection{سازگاری کد بین لاتک و پی.دی.اف لاتک} +\label{sec:pdfcompat} + +بهطور نرمال کد شما با لاتک و پی.دی.اف لاتک پردازش میشود. اشکال عمده برای الصاق تصاویر وجود دارد. راه حل ساده این است که پسوند فایل را با فرمان \ci{includegraphics} تغییر داد. در این صورت سیستم برای فایل مناسب در پروندهٔ موجود جستجو میکند. تنها کاری که باید انجام دهید این است که نسخهٔ مناسب از فایل تصویر را بسازید. در این صورت لاتک بدنبال فایل \texttt{.eps} میگردد و پی.دی.اف لاتک بدنبال +\texttt{.png}، \texttt{.pdf}، \texttt{.jpg} یا \texttt{.mps} میگردد +(به ترتیب). + +در حالتی که میخواهید کدهای متفاوتی برای نسخهٔ پی.دی.اف و حالت عادی داشته باشید، میتوانید به راحتی از بستهٔ \pai{ifpdf}% +\Footnote{\url{http://www.tex.ac.uk/cgi-bin/texfaq2html?label=ifpdf}} + در سرآغاز نوشتار خود استفاده کنید. +احتمالاً این بسته روی سیستم شما وجود دارد در غیر این صورت میکتک این بسته را برای شما نصب میکند. فرمان ویژهٔ \ci{ifpdf} به شما امکان نوشتن فرمانهای شرطی را میدهد. در این مثال میخواهیم نسخهٔ پستاسکریپت سیاه و سفید را به خاطر سهولت چاپ بسازیم اما نسخهٔ پی.دی.اف رنگی را برای وب داشته باشیم. +\begin{code} +\begin{verbatim} +\RequirePackage{ifpdf} % running on pdfTeX? +\ifpdf + \documentclass[a4paper,12pt,pdftex]{book} +\else + \documentclass[a4paper,12pt,dvips]{book} +\fi + +\ifpdf + \usepackage{lmodern} +\fi +\usepackage[bookmarks, % add hyperlinks + colorlinks, + plainpages=false]{hyperref} +\usepackage[T1]{fontenc} +\usepackage[latin1]{inputenc} +\usepackage[english]{babel} +\usepackage{graphicx} +... +\end{verbatim} +\end{code} +در کد بالا بستهٔ \pai{hyperref} را حتی در نسخهٔ غیر پی.دی.اف به کار بردهام. تأثیر فرمان \ci{href} این است که زمان زیادی برای تعریف عبارات شرطی به کار نبریم. + +توجه داشته باشید در توزیعهای جدید تک +(به عنوان مثال تکلایو) +فرمان نرمال، پی.دی.اف لاتک است. این فرمان قادر است به راحتی بین پی.دی.اف و دی.وی.آی تغییر کند. اگر از کد بالا استفاده کنیم، فرمان \verb|pdflatex| +خروجی پی.دی.اف و فرمان \verb|latex| خروجی دی.وی.آی را تولید میکند. + +\section{تولید اسلاید} +\label{sec:beamer} +%\secby{Daniel Flipo}{Daniel.Flipo@univ-lille1.fr} +میتوانید نتایج کارهای علمی خود را با ترانسپارنت روی تخته سیاه نمایش دهید یا مستقیماً با نرمافزارهایی با لپتاپ خود آنها را نمایش دهید. + +\wi{\lr{pdf\LaTeX}} به همراه طبقهٔ \pai{beamer} به شما امکان تولید اسلاید پی.دی.اف را میدهد که حاصل آن شبیه چیزی است که توسط پاورپوینت تولید میشود با این تفاوت که بسیار قابل حمل است، زیرا آکروبات ریدر روی اکثر سیستمها وجود دارد. + +طبقهٔ \pai{beamer} از بستههای \pai{graphicx}، \pai{color} و \pai{hyperref} به همراه گزینههایی برای نمایش اسلاید استفاده میکند. +%La figure~\ref{fig:pdfscr} contient un exemple de fichier minimal +%compiler avec \wi{pdf\LaTeX} et le +%rsultat produit. + +% cran captur par ImageMagick (man ImageMagick) fonction import +% et convertie en jpg toujours par ImageMagick. + + +\begin{figure}[htbp] +\setLR +\begin{verbatim} +\documentclass[10pt]{beamer} +\mode<beamer>{% + \usetheme[hideothersubsections, + right,width=22mm]{Goettingen} +} + +\title{Simple Presentation} +\author[D. Flipo]{Daniel Flipo} +\institute{U.S.T.L. \& GUTenberg} +\titlegraphic{\includegraphics[width=20mm]{USTL}} +\date{2005} + +\begin{document} + +\begin{frame}<handout:0> + \titlepage +\end{frame} + +\section{An Example} + +\begin{frame} + \frametitle{Things to do on a Sunday Afternoon} + \begin{block}{One could \ldots} + \begin{itemize} + \item walk the dog\dots \pause + \item read a book\pause + \item confuse a cat\pause + \end{itemize} + \end{block} + and many other things +\end{frame} +\end{document} +\end{verbatim} +\setRL + \caption{کد نمونه برای طبقهٔ \pai{beamer}} + \label{fig:code-beamer} +\end{figure} + +وقتی که کد ارائه شده در شکل +\ref{fig:code-beamer} +%\LRE{\hyperref[fig:code-beamer]{2.5}} +را با +\lr{\wi{\lr{PDF\LaTeX}}} پردازش میکنید یک فایل پی.دی.اف بدست میآورید متشکل از یک صفحهٔ عنوان و یک صفحه که در آن چندین آیتم میبینید که هر کدام از آنها با مرور فایل به ترتیب ظاهر میشوند. + +یکی از دستاوردهای طبقهٔ \lr{beamer} این است که فایل پی.دی.اف تولید میکند که به صورت مستقیم قابل استفاده است و نیازی نیست مانند طبقهٔ \pai{prosper} به یک مرحلهٔ میانی پستاسکریپت رفت یا این که از بستهٔ \pai{ppower4} استفاده کرد. + +با استفاده از طبقهٔ \pai{beamer} میتوانید نسخههای مختلفی از نوشتار خود بسازید. فایل ورودی میتواند شامل راهکارهایی برای انواع مختلف خروجی باشد که در گزینهٔ طبقه در براکت قرار میگیرند. کارهای زیر امکانپذیر است. + +\begin{description} +\item[beamer] برای نمایش پی.دی.اف که در بالا توضیح داده شد. +\item[trans] برای اسلاید. +\item[handout] برای نسخه مناسب چاپ. +\end{description} +نوع پیشفرض \lr{\texttt{beamer}} است، میتوانید آن را با فعال کردن گزینههای دیگر غیر فعال کنید مانند +\LRE{\verb|\documentclass[10pt,handout]{beamer}|} که خروجی را مناسب چاپ طراحی میکند. + +شمای نوشتار شما وابسته به این است که چه نسخهای را انتخاب کنید. میتوانید یکی از شماهایی را که این طبقه فراهم کرده است استفاده کنید یا یک شما برای خودتان طراحی کنید. راهنمای طبقه را در \lr{\texttt{beameruserguide.pdf}} ببینید. + +اجازه دهید نگاهی دقیقتر به کد شکل +\ref{fig:code-beamer} +%\LRE{\hyperref[fig:code-beamer]{2.5}} +بیندازیم. +برای نسخهٔ نمایشی \LRE{\verb|\mode<beamer>|} شمای \emph{Goettingen} را انتخاب کردهایم تا پنل مرور را در فهرست مطالب وارد کرده باشیم. گزینهها ما را قادر میسازند تا عرض پنل + (۲۲ میلیمتر در این حالت) + و مکان آن را تعیین کنیم (در سمت راست نوشتار). گزینهٔ + \emph{hideothersubsections}، عنوان فصل را نمایش میدهد و تنها عنوان زیربخش جاری را نمایش میدهد. چیز ویژهای برای تمهای \LRE{\verb|\mode<trans>|} و \LRE{\verb|\mode<handout>|} وجود ندارد. آنها نوشتار را به شکل استاندارد خود نمایش میدهند. + +فرمانهای \verb|\title{}|، \verb|\author{}|، \verb|\institute{}|، + و \verb|\titlegraphic{}| محتویات جلد را مشخص میکنند. گزینههای اختیاری \verb|\title[]{}| و \verb|\author[]{}| +اجازه میدهند شکل ویژهای از عنوان و نویسنده را در پنل +\emph{Goettingen} +قرار دهید. + +عنوان و زیرعنوان پنل با فرمانهای نرمال \verb|\section{}| و \verb|\subsection{}| ایجاد می\-شوند که باید در خارج از محیط \ei{frame} تعریف شوند. + +کلیدهای مرورگر کوچک در پایین صفحهٔ نمایش اجازه میدهند نوشتار را مرور کنید. حضور آنها ربطی به تم انتخابی ندارد. + +محتویات هر اسلاید یا صفحه را باید در یک محیط \ei{frame} قرار داد. هیچ گزینهٔ انتخابی برای این محیط وجود ندارد و امکان انتخاب یک چهارچوب ویژه را برای نسخهای ویژه ارائه میدهد. در مثال بالا صفحهٔ اول به خاطر وجود فرمان \LRE{\verb|<handout:0>|} در چاپ ظاهر نمیشود. + +اکیداً توصیه میشود برای هر اسلاید یک عنوان به غیر از عنوان اسلاید تعریف کنید. این کار با فرمان \verb|\frametitle{}| امکانپذیر است. +اگر یک زیرعنوان لازم است میتوانید از محیط \ei{block} همانند مثال استفاده کنید. توجه داشته باشید که عنوان فرمانهای \verb|\section{}| +و \verb|\subsection{}| در خروجی ظاهر نمیشوند. + +فرمان \verb|\pause| در محیط شمارهگذاری شده اجازه میدهد اجزاء را یکبهیک نمایش دهید. برای افکت هر نمایش فرمانهای +\verb|\only|، \verb|\uncover|، \verb|\alt| و \verb|\temporal| را ببینید. در بسیاری از جاها میتوانید از آکولاد برای تنظیم بیشتر استفاده کنید. + +در هر حالت مطمئن شوید راهنمای طبقهٔ \texttt{beameruserguide.pdf} را برای بیشترین استفاده مطالعه کنید. این بسته به سرعت در حال پیشرفت است، صفحهٔ اینترنتی این بسته را ملاحظه کنید +\begin{latin} +\href{http://latex-beamer.sourceforge.net/}{http://latex-beamer.sourceforge.net/}. +\end{latin} + + +% Local Variables: +% TeX-master: "lshort2e" +% mode: latex +% mode: flyspell +% End: diff --git a/info/lshort/persian/things.tex b/info/lshort/persian/things.tex new file mode 100644 index 0000000000..4c0ba5f44f --- /dev/null +++ b/info/lshort/persian/things.tex @@ -0,0 +1,645 @@ +% !TeX root= lshort.tex +% !TEX TS-program=xelatex +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Contents: Things you need to know +% $Id: things.tex 172 2008-09-25 05:26:50Z oetiker $ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\chapter{چیزهایی که باید بدانید} +\begin{intro} + +اولین قسمت این فصل به بررسی فلسفه و تاریخچهٔ +\lr{\LaTeXe} + اختصاص دارد. قسمت دوم متمرکز به ساختار +\lr{\LaTeXe} + است. بعد از مطالعهٔ این فصل درمییابید که +\lr{\LaTeX} +چگونه کار میکند، که برای مطالعهٔ ادامه کتاب لازم است. +\end{intro} +\section{عنوان بازی} +\subsection{تک} +تک یک برنامهٔ کامپیوتری است که توسط دونالد کنوث +\romanindex{Knuth, Donald E.}\cite{texbook} + ساخته شده است. هدف آن حروف\-چینی متن عادی و ریاضی است. +کنوث در سال ۱۹۷۷ شروع به نوشتن تک کرد تا قدرت پنهانی ابزار چاپ دیجیتال را که در آن زمان در صنعت چاپ رخنه کرده بود مورد کاوش قرار دهد +به این امید که بدی کیفیت حروفچینی کتابها و و مقالات خودش را از بین ببرد. تک به این صورت که امروزه ما مورد استفاده قرار میدهیم +در سال ۱۹۸۲ انتشار یافت و در سال ۱۹۸۹ امکانات حمایت حروف ۸ بیتی و دیگر زبانها به آن اضافه شد. شهرت تک در این است که بسیار پایدار است، +روی هر سیستم عاملی قابل نصب است، و بهطور مجازی فارغ از اشکال است. نسخهٔ کنونی تک 3.141592 است که به عدد +$\pi$ + میل میکند. +\subsection{لاتک} +لاتک یک بسته از ماکروها است که به نویسندهها امکان حروفچینی و چاپ کارهایشان را با بهترین کیفیت با استفاده از تعدادی طرح حرفهای میدهد. لاتک در ابتدا توسط لِزْلی لَمْپورت +\romanindex{Lamport, Leslie}\cite{manual} +نوشته شد که از تک به عنوان موتور حروفچین استفاده میکند. این روزها لاتک توسط فِرانْک میتِلباخ +\romanindex{Mittelbach, Frank} +حمایت میشود. + +\section{مبانی} + +\subsection{نویسنده، طراحی کتاب، و حروفچینی} + +برای انتشار چیزی نویسندگان نوشتهٔ خود را به مؤسسات انتشاراتی میدهند. یکی از طراحان کتاب در مورد سبک نوشته تصمیم میگیرد +(عرض ستون، قلم، فاصله قبل و بعد از سربرگ، \ldots). +طراح کتاب راهنمایی لازم را به حروفچین میکند تا کتاب را بر طبق آن حروفچینی کند. + +طراح کتاب سعی میکند بفهمد خواست نویسنده هنگام نوشتن کتاب چه بوده است. او در مورد سربرگ فصلها، ارجاعها، مثالها، فرمولها، و +غیره بر اساس اطلاعات حرفهای خود و اطلاعات در مورد محتوای نوشته تصمیم میگیرد. + +در محیط لاتک، لاتک نقش طراح کتاب را برعهده میگیرد و از تک به عنوان حروفچین استفاده میکند. اما لاتک تنها یک برنامه است و بنابراین +نیاز به راهنمایی دارد. نویسنده باید اطلاعات کافی در مورد ساختار منطقی کارش را به لاتک بدهد. این اطلاعات در متن به صورت +{\it فرمانهای لاتک} +وارد میشوند. + +این کار کاملاً با روش +\wi{\lr{WYSIWYG}} +\Footnote{What you see is what you get.} +تفاوت دارد که بسیاری از پردازشگرهای متنی مانند +\emph{MS Word} یا \emph{Corel WordPerfect} +از آن پیروی میکنند. در این نرمافزارها، نویسنده سبک نوشتار را به صورت مستقیم هنگام نوشتن آن مشخص میکند. +در این نرمافزارها شکل خروجی را، همزمان که نوشتار را تایپ میکنید، به صورت مستقیم میتوان بر روی صفحهٔ نمایش دید. + +وقتی که از لاتک استفاده میکنید به طور نرمال نمیتوانید همزمان با تایپ متن شکل خروجی را ببینید، +اما میتوانید آن را بعد از پردازش توسط لاتک مشاهده کنید. در این صورت تصحیحات را میتوان قبل از فرستادن نوشته به چاپگر انجام داد. +\subsection{طراحی سبک} + +حروفچینی یک هنر است. نویسندههای ناوارد معمولاً اشتباهات اساسی در هنگام طراحی انجام میدهند زیرا فکر میکنند طراحی +تماماً مربوط به علم زیبایی شناسی است \emp{اگر یک متن از نظر زیبایی خوب باشد، خوب طراحی شده است.} +اما از آنجا که یک کتاب را باید خواند نه آنکه در یک نمایشگاه عکس آویزان کرد، خوانایی و قابل فهم بودن آن بسیار مهمتر از ظاهر زیبای آن است. +به عنوان مثال: +\begin{itemize} +\item +نوع و اندازهٔ قلم شمارهبندی سربرگ باید به گونهای انتخاب شود که ساختار فصلها و بخشها برای خواننده واضح باشد. + +\item +طول خطها باید به اندازه کافی کوتاه باشد تا چشمان خواننده را خسته نکند و همزمان باید به اندازه کافی بلند باشد تا زیبایی صفحات را از بین نبرد. +\end{itemize} + +با سیستمهای +\wi{\lr{WYSIWYG}}، +نویسندهها معمولاً نوشتارهای زیبا اما فاقد ساختار سازگار را تولید میکنند. لاتک با مجبور کردن نویسنده به مشخص کردن ساختار منطقی نوشتهاش از چنین اشتباهی جلوگیری میکند. لاتک آنگاه طراحی بهترین سبک را به عهده میگیرد. +\subsection{مزیتها و اشکالات} + +افرادی که از سیستم +\wi{\lr{WYSIWYG}} +یا لاتک استفاده میکنند، اغلب در مورد \emp{مزیت لاتک بر پردازشگرهای عادی} +یا عکس آن بحث میکنند. بهترین کاری که هنگام مواجهه با این بحث باید انجام دهید این است که از ادامه بحث پرهیز کنید زیرا اغلب بدون نتیجه است. +اما گاهی اوقات فرار از چنین بحثی ممکن نیست. + +\medskip\noindent +بنابراین کمی مهمات همراه داشته باشید. مهمترین مزیت لاتک بر یک سیستم پردازشگر عادی متن از قرار زیر است: + +\begin{itemize} + +\item +سبکهای زیبای حرفهای موجودند که متن را آن گونه طراحی میکنند که واقعاً باید چاپ شود. +\item +حروفچینی فرمولهای ریاضی به بهترین شکل حمایت میشود. +\item +کاربر تنها کافی است تعدادی فرمان آسان را یاد بگیرد تا ساختار منطقی نوشتهاش را طراحی کند. معمولاً لازم نیست در مورد ساختار واقعی متن + نگران باشید. +\item +حتی ساختارهای پیچیده مانند پانوشتها، ارجاعها، فهرست مطالب، و کتابنامه به راحتی قابل تولید هستند. +\item +بستههای اضافی مجانی بسیاری برای کارهایی که لاتک انجام نمیدهد وجود دارند. به عنوان مثال بستههای \PSi برای گرافیک یا +بستههایی برای قرار دادن ارجاعها به شکل استاندارد وجود دارند. بسیاری از این بستهها در \companion توضیح داده شدهاند. +\item +لاتک نویسندهها را تشویق میکند نوشتههای خود را با ساختار مناسب بنویسند، زیرا این روشی است که لاتک از آن پیروی میکند. +\item +تک، موتور لاتک، بسیار قابل انعطاف و مجانی است. بنابراین، این سیستم روی هر سیستم عاملی کار میکند. +% +% Add examples ... +% +\end{itemize} + +%\medskip + +\noindent + لاتک دارای بدیهایی نیز میباشد که برای من سخت است آنها را حدس بزنم، با این وجود مطمئنم افراد دیگر ممکن است صدتا از آنها را به شما گوشزد کنند ( +\lr{-}; +\begin{itemize} +\item +لاتک برای افرادی که روح خودشان را فروخته باشند مناسب نیست ... + +\item + +با وجودی که بعضی از پارامترها را میتوان در یک نوشتار تنظیم کرد، طراحی یک سبک جدید سخت و زمانبر است.% +\footnote{شایعاتی وجود دارد که رفع این مشکل مهمترین کار لاتک ۳ است.} +\index{LaTeX3@\lr{\LaTeX 3}}\index{لاتک ۳} +\item +بسیار سخت است که متنهای بدون ساختار نوشت. + +\item +همستر% +\Footnote{Hamster} +شما حتی با تشویقهای اولین قدمها، ممکن است هیچگاه مفهوم نقاط علامت گذاری شده را درنیابد. + +\end{itemize} +\section{فایلهای ورودی لاتک} +ورودی لاتک یک فایل اَسْکی ساده است که میتوان آن را با هر ویرایشگری نوشت. این ورودی شامل متن و فرمانهایی است که مشخص میکند متن چگونه باید حروفچینی شود. +\subsection{فاصلهها} +لاتک با حروف +\emp{\wi{فاصلهٔ سفید}} +مانند حرف فاصله% +\Footnote{Blank} +یا تب% +\Footnote{Tab} +به طور یکسان به عنوان +\emp{\wi{فاصله}} +رفتار میکند. با {\it فاصلههای متوالی} همانند {\it یک فاصله} +رفتار میشود. فاصلهٔ سفید در ابتدای خط بیاثر است، و با یک شکستن خط مانند \emp{فاصلهٔ سفید} +رفتار میشود.\index{فضای خالی!در ابتدای خط} + +یک خط خالی بین دو خط از متن پایان یک پاراگراف را مشخص میکند. \emp{چند} خط خالی متوالی مانند تنها \emp{یک} +خط خالی است. متن زیر یک نمونه است. در سمت چپ متن ورودی قرار دارد و در سمت راست شکل خروجی قرار دارد. + + +\begin{example} +It does not matter whether you +enter one or several spaces +after a word. + +An empty line starts a new +paragraph. +\end{example} + +\subsection{حروف ویژه} +نمادهای زیر \wi{حروف اختصاصی} + هستند که یا دارای معنای ویژه در لاتک هستند یا در همهٔ قلمها وجود ندارند. اگر آنها را مستقیماً در متن بهکار برید در خروجی ظاهر نمیشوند و لاتک را مجبور به کاری +غیر مرتبط میکنند. + +\begin{code} +\verb.# $ % ^ & _ { } ~ \ . %$ +\end{code} + +همانطور که خواهید دید این حروف را میتوانید در متن با افزودن یک پیشوند بکاسلش\Footnote{backslash} مورد استفاده قرار دهید: + +\begin{example} +\# \$ \% \^{} \& \_ \{ \} \~{} +\end{example} + +بقیهٔ نمادها و بسیاری چیزهای دیگر را میتوان در فرمولهای ریاضی یا به عنوان لهجههای مختلف با فرمانهایی چاپ کرد. بکاسلش را نمیتوان با افزودن یک بکاسلش +دیگر مانند (\verb|\\|) چاپ کرد؛ این رشته برای شکستن خط بهکار میرود.% +\footnote{به جای آن از \lr{\texttt{\$}\ci{backslash}\texttt{\$}} استفاده کنید. این کار باعث چاپ $\backslash$ میشود.} +\subsection{فرمانهای لاتک} +فرمانهای +\index{غیی@فرمانها} + لاتک به کوچک و بزرگ بودن حروف حساس است و یکی از دو شکل زیر را میپذیرند: +\begin{itemize} +\item با یک \wi{بکاسلش} \verb|\| شروع میشوند و دارای اسمی هستند که تنها از حروف تشکیل شده است. اسم فرمانها با یک فاصله یا یک عدد و یا هر \emp{غیر حرف} +پایان مییابد. +\item از یک بکاسلش و تنها یک غیر حرف تشکیل شدهاند. +\end{itemize} +\label{whitespace} +لاتک از فاصله خالی بعد از فرمانها چشمپوشی میکند. اگر میخواهید بعد از آنها فاصله خالی +\index{فضای خالی!بعد از فرمان} + داشته باشید بعد از فرمان، \verb|{}| به همراه یک فاصله قرار دهید یا از یک فرمان ویژهٔ فاصله استفاده کنید. \verb|{}| باعث میشود لاتک تمام فضای خالی +بعد از فرمان را از بین نبرد. +{\let\today=\originaltoday +\begin{example} +I read that Knuth divides the +people working with \TeX{} into +\TeX{}nicians and \TeX perts.\\ +Today is \today. +\end{example} +\def\today{\rl{\ftoday}} +بعضی از فرمانها احتیاج به پارامتر +\index{بیی@پارامتر} +دارند که آنها را در \wi{آکولاد} \verb|} {| +قرار میدهیم. بعضی از فرمانها پارامترهای اختیاری +\index{بیی@پارامترهای اختیاری} +قبول میکنند که آنها را در کروشه +\index{قیی@کروشه} +\index{قیی@کروشه}~\verb|] [| قرار میدهیم. مثالهای بعد چند فرمان در لاتک را نشان میدهند. نگران نباشید، آنها را بعداً توضیح میدهیم. +\begin{example} +You can \textsl{lean} on me! +\end{example} +\begin{example} +Please, start a new line +right here!\newline +Thank you! +\end{example} + + +\subsection{توضیحات} + +\index{توضیحات} + هنگام پردازش فایل ورودی، وقتی لاتک با یک \verb|%| مواجه میشود، ادامهٔ خط، شکست خط، و فاصلههای خالی خط بعد را نادیده میگیرد. + +با استفاده از این موضوع میتوان چیزهایی را در متن آورد که در هنگام چاپ ظاهر نشوند. + +\begin{example} +This is an % stupid +% Better: instructive <---- +example: Supercal% + ifragilist% + icexpialidocious +\end{example} + +%\def\rightmark{\thepage} +از \texttt{\%} میتوان استفاده کرد و خطهای فایل ورودی را شکست حتی وقتی که فاصله خالی یا شکست خط در خروجی مورد نظر نیست. + +برای توضیحات طولانی باید از محیط \ei{comment} از بستهٔ \pai{verbatim} استفاده کرد. +برای این منظور باید عبارت \verb|\usepackage{verbatim}| را در آغاز فایل ورودی قبل از استفاده از آن وارد کنید همانطور که در مثال زیر آمده است. +\begin{example} +This is another +\begin{comment} +rather stupid, +but helpful +\end{comment} +example for embedding +comments in your document. +\end{example} +توجه داشته باشید که این کار را در محیطهای پیچیده مانند محیط ریاضی نمیتوانید انجام دهید. +\section{ساختار فایلهای ورودی} +وقتی لاتک یک فایل ورودی را پردازش میکند انتظار دارد که فایل از یک \wi{ساختار} +پیروی کند. بنابراین هر فایل ورودی باید با فرمان +\begin{code} +\verb|\documentclass{...}| +\end{code} +آغاز شود. این کار مشخص میکند که چه نوع نوشتاری را میخواهید بنویسید. بعد از آن فرمانهای مورد نیاز را باید معرفی کنید و یا بسته +\index{بسته}% +هایی را بارگذاری کنید که امکانات جدیدی را به لاتک اضافه میکنند. برای بارگذاری یک بسته از فرمان زیر استفاده میکنیم: +\begin{code} +\verb|\usepackage{...}| +\end{code} +وقتی تمام این مقدمات انجام شد،% +\footnote{فاصله بین \texttt{\bs documentclass} و \lr{\texttt{\bs begin$\mathtt{\{}$document$\mathtt{\}}$}} سرآغاز یا \emph{\wi{\lr{preamble}}} نامیده میشود.} +باید متن به همراه فرمانهای مفید را وارد کنید. در انتهای فایل ورودی فرمان +\begin{code} +\verb|\end{document}| +\end{code} +را وارد کنید تا به لاتک بفهمانید همه چیز تمام شده است. بعد از این فرمان چیزی توسط لاتک در نظر گرفته نمیشود. + +شکل +\ref{mini} +%\LR{\hyperref[mini]{1.2}} + محتویات یک فایل ساده لاتک را نشان میدهد. مثالی کمی پیچیدهتر از یک \wi{فایل ورودی} +در شکل +\ref{document} +%\LR{\hyperref[document]{2.2}} +آورده شده است. +\begin{figure}[!htbp] +\setLR +\begin{lined}{6cm} +\begin{verbatim} +\documentclass{article} +\begin{document} +Small is beautiful. +\end{document} +\end{verbatim} +\end{lined} +\setRL +\caption{یک فایل لاتک نمونه} \label{mini} +\end{figure} + +\begin{figure}[!htbp] +\begin{lined}{10cm} +\setLR +\begin{verbatim} +\documentclass[a4paper,11pt]{article} +% define the title +\author{H.~Partl} +\title{Minimalism} +\begin{document} +% generates the title +\maketitle +% insert the table of contents +\tableofcontents +\section{Some Interesting Words} +Well, and here begins my lovely article. +\section{Good Bye World} +\ldots{} and here it ends. +\end{document} +\end{verbatim} +\end{lined} +\setRL +\caption[مثالی از یک فایل مقالهٔ مجله] +{مثالی از یک فایل مقاله مجله. تمام فرمانهایی که در این مثال وجود دارند بعداً در مقدمه شرح داده خواهند شد.} +\label{document} + +\end{figure} +%\setRL +\section{یک دوره خط فرمان} +شرط میبندمتصمیم گرفتهاید مثال جمعوجور صفحه +\pageref{mini} + را شخصاً انجام بدهید. چند راهنمایی: خود لاتک بدون هیچ رابط کاربر گرافیکی\Footnote{GUI} +یا کلیدهای تجملی ارائه میشود. لاتک فقط یک برنامه است که فایل ورودی را پردازش میکند. بعضی از توزیعهای لاتک دارای رابط کاربری هستند که با فشردن یک دکمه میتوانید فایل خود را پردازش کنید. در غیر این صورت باید در یک خط فرمان چند فرمان را تایپ کنید تا لاتک فایل ورودی را پردازش کند. پس اجازه دهید این کار را کمی توضیح دهیم. توجه: این توضیحات بر این فرض استوار است که شما لاتک را روی سیستم خود داشته باشید.\footnote{لاتک روی تمام سیستمهای لینوکس که کامل نصب شده باشند وجود دارد، و \ldots مردها با لینوکس کار میکنند، بنابراین (\lr{-};} +\begin{enumerate} +\item + فایل لاتک ورودی خود را بنویسید. این فایل باید یک متن ساده اسکی باشد. در لینوکس تمام ویرایشگرها میتوانند این کار را انجام دهند. در ویندوز مطمئن شوید فایل را به فرم اسکی یا متن ساده ذخیره کردهاید. از \eei{.tex} به عنوان پسوند فایل خود استفاده کنید. + +\item +لاتک را روی فایل خود اجرا کنید. اگر موفق شوید یک فایل \texttt{.dvi} بدست خواهد آمد. ممکن است لازم باشد لاتک را چندین بار روی فایل خود اجرا کنید تا فهرست و تمام ارجاعهای داخلی را داشته باشید. وقتی که فایل ورودی مشکل داشته باشد لاتک به شما پیغام خواهد داد و پردازش را متوقف میکند. \texttt{ctrl-D} را تایپ کنید تا به خط فرمان برگردید. +\begin{lscommand} +\verb+latex foo.tex+ +\end{lscommand} + +\item +حال میتوانید فایل \lr{DVI} را مشاهده کنید. چندین راه برای انجام این کار وجود دارد. میتوانید فایل را روی صفحهٔ نمایش با فرمان +\begin{lscommand} +\verb+xdvi foo.dvi &+ +\end{lscommand} +مشاهده کنید. این کار را تنها روی سیستم لینوکس مجهز به \lr{X11} انجام دهید. اگر سیستم شما ویندوز است از \texttt{yap}\Footnote{yet another previewer} استفاده کنید. همچنین میتوانید فایل \lr{dvi} را به \PSi{} برای مشاهده با گوستاسکریپت\Footnote{Ghostscript} یا چاپ تبدیل کنید. +\begin{lscommand} +\verb+dvips -Pcmz foo.dvi -o foo.ps+ +\end{lscommand} +اگر خوششانس باشید سیستم لاتک شما دارای ابزار \texttt{dvipdf} است که به شما اجازه میدهد فایل \texttt{.dvi} را مستقیماً به \lr{pdf} تبدیل کنید. +\begin{lscommand} +\verb+dvipdf foo.dvi+ +\end{lscommand} + +\end{enumerate} + +\section{طرحبندی نوشتار} + +\subsection{سبک نوشتار}\label{sec:documentclass} + +وقتی که لاتک یک فایل ورودی را پردازش میکند اولین اطلاعاتی را که باید بداند سبک نوشتار است. این موضوع با فرمان + \ci{documentclass} + مشخص میشود. + + +\begin{lscommand} +\ci{documentclass}\verb|[|\emph{options}\verb|]{|\emph{class}\verb|}| +\end{lscommand} +\noindent +در اینجا +\emph{class} +سبک نوشتار را معرفی میکند. جدول +\ref{documentclasses} +%\LR{\hyperref[documentclasses]{1.2}} +سبکهای نوشتاری را نشان میدهد که در این مقدمه شرح داده خواهند شد. +توزیع لاتک سبکهای نوشتار دیگری مانند +\lr{letter} و \lr{slide} +را نیز شامل است. پارامترهای گزینه +(\emph{\wi{\lr{options}}}) +رفتار سبک نوشتار را کنترل میکنند. +پارامترها توسط ویرگول از یکدیگر جدا میشوند. معمولترین گزینهها برای سبکهای نوشتار استاندارد در جدول +\ref{options} +%\LR{\hyperref[options]{2.2}} + آورده شده است. + +\begin{table}[!bp] +\caption{سبکهای نوشتار} \label{documentclasses} +\begin{center} +\vspace{1em} +\begin{lined}{\textwidth} +\begin{tabular}{lp{.80\textwidth}} +\texttt{article}& برای مقالات مجلهها، ارائهها، گزارشهای کوتاه، اسناد برنامهها، دعوتنامه، \ldots + \romanindex{article class}\index{سبک مقاله} \\ +\texttt{proc}& +سبکی برای گزارش پیشرفت برپایهٔ سبک +\lr{article} \romanindex{proc class}\index{سبک پیشرفت} \\ +\texttt{minimal}& کوچکترین چیزی که میتوان قرار داد. تنها شامل یک صفحه و یک قلم است. عموماً به منظور غلطیابی به کار میرود. + \romanindex{minimal class}\index{سبک کمینه}\\ +\texttt{report}& برای گزارشهای مفصلتر که شامل چند فصل هستند، کتاب، پایاننامه، \ldots + \romanindex{report class}\index{سبک گزارش}\\ +\texttt{book}& برای کتابهای کامل +\romanindex{book class}\index{سبک کتاب}\\ +\texttt{slides}&برای اسلاید. این سبک از حروف بزرگ سانز سریف استفاده میکند. به جای آن ممکن است بخواهید از فویلتک استفاده کنید. +\footnote{% + \lr{\CTANref|macros/latex/contrib/supported/foiltex|}} + \romanindex{slides class}\romanindex{foiltex}\index{سبک اسلاید}\index{فویلتک}\\ +&\\ +\end{tabular} +\end{lined} +\end{center} +\end{table} + + +\begin{table}[!bp] +\caption{گزینههای سبک نوشتار} \label{options} +\begin{center} +\vspace{1em} +\begin{lined}{\textwidth} +\begin{tabular}{lp{.55\textwidth}} +\lr{\texttt{10pt}, \texttt{11pt}, \texttt{12pt}}&اندازهٔ قلم اصلی نوشتار را تعیین میکند. اندازهٔ پیشفرض +\texttt{10pt} است. \romanindex{document font size}\romanindex{base font size}\index{اندازهٔ قلم نوشتار}\index{اندازهٔ قلم پایه} \\ +\lr{\texttt{a4paper}, \texttt{letterpaper}, \ldots}& اندازهٔ صفحه را مشخص میکند. اندازهٔ پیشفرض +\texttt{letterpaper} است. بجز اینها \texttt{a5paper}, \texttt{b5paper}, \texttt{executivepaper}, و \texttt{legalpaper} نیز قابل استفاده هستند. + \romanindex{legal paper} \romanindex{paper size}\romanindex{A4 paper}\romanindex{letter paper} \romanindex{A5 paper}\romanindex{B5 paper}\romanindex{executive paper}\\ +\texttt{fleqn} & فرمولها به جای وسطچین چپچین میشوند. +\\ + +\texttt{leqno} & شمارهٔ فرمولها در سمت چپ به جای سمت راست ظاهر میشوند. +\\ + +\lr{\texttt{titlepage}, \texttt{notitlepage}}&مشخص میکند که آیا صفحهای جدید بعد از \wi{صفحهٔ عنوان} شروع شود یا نه. +سبک \texttt{article} صفحهای جدید به صورت پیشفرض شروع نمیکند در حالی که سبکهای \texttt{report} و \texttt{book} این کار را انجام میدهند. \romanindex{title}\index{عنوان} +\\ +\lr{\texttt{onecolumn}, \texttt{twocolumn}}& لاتک را راهنمایی میکنند که نوشتار را در\wi{یک ستون} + یا در \wi{دو ستون} حروفچینی کند.\\ +\lr{\texttt{twoside, oneside}}& مشخص میکند که خروجی به صورت یکرو است یا دورو. به صورت پیشفرض سبکهای \texttt{article} و \texttt{report} +\wi{یکرو}هستند و سبک \texttt{book} \wi{دورو}است. توجه کنید که این گزینه فقط به سبک نوشتار مربوط است. گزینه \texttt{twoside} به چاپگر فرمان چاپ دورو نمیدهد.\\ +\texttt{landscape}& سبک نوشتار را به صورت افقی (\lr{landscape}) تبدیل میکند. +\\ + +\lr{\texttt{openright}, \texttt{openany}} & +باعث میشود فصلها در صفحههای سمت راست یا در صفحه بعدی شروع شوند. این گزینه با سبک \texttt{article} کار نمیکند زیرا در این سبک فصل وجود ندارد. سبک \texttt{report} به صورت پیشفرض فصلها را در صفحهٔ بعدی و سبک \texttt{book} آنها را در صفحات سمت راست شروع میکند. +\\ +&\\ +\end{tabular} +\end{lined} +\end{center} +\end{table} + +مثال: یک فایل ورودی لاتک میتواند به صورت زیر شروع شود + +\begin{code} +\ci{documentclass}\verb|[11pt,twoside,a4paper]{article}| +\end{code} +که به لاتک میگوید نوشتار را به صورت +{\it مقاله} +با اندازه قلم پایه +{\it ۱۱ پوینت} +حروفچینی کند، و سبک {\textit دورو} +را برای چاپ روی صفحه \lr{A4} طراحی کند. +\pagebreak[2] + +\subsection{بستهها} +\romanindex{package}\index{بسته} +هنگامی که در حال نوشتن نوشتار خود هستید، ممکن است به مراحلی برسید که لاتک نتواند مشکلات شما را حل کند. +اگر میخواهید \wi{تصویر}\romanindex{graphic}، \wi{متن رنگی} +یا کد یک مطلب را در نوشتار خود وارد کنید، احتیاج به بالابردن توانایی لاتک دارید. این کار را با استفاده از بستهها انجام میدهیم. یک بسته را فرمان زیر فعال میسازد + + +\begin{lscommand} +\ci{usepackage}\verb|[|\emph{options}\verb|]{|\emph{package}\verb|}| +\end{lscommand} +\noindent که \emph{package} نام یک بسته است و \emph{options} لیستی از کلمههای کلیدی است که امکانات ویژهای از بسته را فعال میسازند. +بعضی از بستهها با توزیع پایهٔ لاتک ارائه میشوند (جدول +\ref{packages} +%\LR{\hyperref[packages]{3.2}} + را ببینید). +تعدادی دیگر از این بستهها بهطور جداگانه عرضه میشوند. میتوانید اطلاعات بستههای نصب شده روی سیستم خود را در \guide ببینید. منبع اولیه برای اطلاعات در مورد بستههای لاتک \companion است که شامل شرح صدها بسته است و همچنین اطلاعاتی در مورد نوشتن بستههایی برای افزودن به لاتک است. + +توزیعهای جدید تک با تعداد بسیار زیادی از بستههای از پیش نصب شده همراه است. اگر با لینوکس کار میکنید فرمان \texttt{texdoc} را وارد کنید تا اطلاعات بستهها را دریافت کنید. + +\begin{table}[btp] +\caption{تعدادی از بستههایی که به همراه توزیع لاتک ارائه میشوند} \label{packages} +\begin{center} +\vspace{1em} +\begin{lined}{\textwidth} +\begin{tabular}{lp{.8\textwidth}} +\pai{doc} &اجازهٔ برنامهٔ اطلاعات لاتک را میدهد. شرح آن در فایل +\texttt{doc.dtx} +\footnote{این فایل باید روی سیستم نصب شده باشد و میتوانید یک فایل \texttt{dvi} را با نوشتن فرمان \texttt{latex doc.dtx} + در هر پروندهای که اجازهٔ نوشتن در آن داشته باشید دریافت کنید. مطلب مشابهی برای فایلهای دیگر این جدول برقرار است.} و در \companion داده شده است. +\\ +\pai{exscale}&اندازهٔ قلمهای ریاضی را فراهم میکند.در فایل \texttt{ltexscale.dtx} توضیح داده شده است. +\\ + +\pai{fontenc}&مشخص میکند لاتک باید از چه \wi{رمزینهٔ قلم}% +\romanindex{font encoding}\Footnote{font encoding} استفاده کند. در فایل \texttt{ltoutenc.dtx} توضیح داده شده است. +\\ +\pai{ifthen}&فرمانهای به شکل \lr{`if\ldots then do\ldots otherwise do\ldots'} را فراهم میکند. در فایل \texttt{ifthen.dtx} و \companion توضیح داده شده است. +\\ +\pai{latexsym}&برای دستیابی به نماد \lr{\LaTeX} +باید از بستهٔ \texttt{latexsym} استفاده کنید. در فایل \texttt{latexsym.dtx} و در \companion توضیح داده شده است. +\\ +\pai{makeidx}&شامل فرمانهایی برای تولید نمایه است. در بخش +\ref{sec:indexing} +%\LR{\hyperref[sec:indexing]{3.5}} + و در \companion توضیح داده شده است. +\\ +\pai{syntonly}&یک نوشتار را پردازش میکند بدون آنکه آن را حروفچینی کند. +\\ + +\pai{inputenc}&اجازهٔ رمزینههایی مانند \lr{ASCII, ISO Latin-1, ISO Latin-2, 437/850 IBM + code pages, Apple Macintosh, Next, ANSI-Windows, user-defined} را میدهد. +در \texttt{inputenc.dtx} توضیح داده شده است. +\\ +& +\end{tabular} +\end{lined} +\end{center} +\end{table} + +\subsection{شکل صفحات} + +لاتک سه نوع از پیش تعریفشده +\wi{سربرگ}\Footnote{footer}$\backslash$\wi{تهبرگ}\Footnote{header}\romanindex{header}\romanindex{footer} +را حمایت میکند که به +\wi{سبک صفحه}\Footnote{page style}\romanindex{page style} معروف هستند. پارامتر \emph{style} از فرمان \index{\lr{page style}!plain@\texttt{plain}}\index{\lr{plain}@\texttt{plain}} +\index{\lr{page style}!headings@\texttt{headings}}\index{\lr{headings}@\texttt{headings}} +\index{\lr{page style}!empty@\texttt{empty}}\index{\lr{empty}@\texttt{empty}} +\begin{lscommand} +\ci{pagestyle}\verb|{|\emph{style}\verb|}| +\end{lscommand} +\noindent مشخص میکند که کدام پارامتر باید مورد استفاده قرار گیرد. جدول +\ref{pagestyle} +%\LR{\hyperref[pagestyle]{4.2}} + حاوی سبکهای صفحهٔ از پیش تعریف شده است. + + +\begin{table}[!htp] +\caption{سبکهای صفحهٔ از پیش تعریف شده لاتک} \label{pagestyle} +\begin{center} +\vspace{1em} +\begin{lined}{\textwidth} +\begin{tabular}{lp{.8\textwidth}} + +\texttt{plain}&شمارهٔ صفحه را در وسط انتهای صفحه در تهبرگ چاپ میکند. این سبک پیشفرض است.\\ + +\texttt{headings}&عنوان فصل جاری را در سربرگ در تمام صفحات چاپ میکند، اما تهبرگ خالی باقی میماند. (این سبکی است که در این مقدمه مورد استفاده قرار گرفته است)\\ + +\texttt{empty}&سربرگ و تهبرگ را خالی چاپ میکند. \\ +& +\end{tabular} +\end{lined} +\end{center} +\end{table} + +میتوان سبک صفحهٔ جاری را با فرمان +\begin{lscommand} +\ci{thispagestyle}\verb|{|\emph{style}\verb|}| +\end{lscommand} +عوض کرد. توضیحی بر این که چگونه سربرگ و تهبرگ مناسب خود را طراحی کنید در \companion{} و در بخش +\ref{sec:fancy} +%\LR{\hyperref[sec:fancy]{4.5}} + در صفحه +\pageref{sec:fancy} داده شده است. +% +% Pointer to the Fancy headings Package description ! +% +\pagebreak +\section{فایلهایی که با آنها مواجه میشوید} + +وقتی که با لاتک کار میکنید با انبوهی از فایلها با پسوندهای +\index{بیی@پسوند}% +مختلف مواجه میشوید که احتمالاً هیچ ایدهای از دلیل وجود آنها ندارید. لیست زیر \index{انواع فایل}% +انواع فایلهایی را توضیح میدهد که هنگام کار با لاتک با آنها مواجه میشوید. توجه داشته باشید که این لیست تمام فایلهای ممکن را دربر ندارد، ولی اگر فکر میکنید نوع مهمی از قلم افتاده است لطفاً به من اطلاع دهید. + +\begin{description} + +\item[\eei{.tex}] فایل ورودی تک یا لاتک. لاتک آن را پردازش میکند. + +\item[\eei{.sty}] بستهٔ ماکروهای لاتک. این نوعی از فایل است که شما با فرمان \ci{usepackage} به فایل ورودی وارد میکنید. + +\item[\eei{.dtx}] اطلاعات تک. این نوع اساسیترین نوع برای فایلهای استایل است. اگر یک فایل از این نوع را پردازش کنید، اطلاعات بستهٔ شامل آن فایل را بدست میآورید. + +\item[\eei{.ins}] فایل نصب کنندهٔ فایلهای موجود در فایل \textrm{.dtx}. اگر بستهای را از اینترنت دانلود کنید به طور نرمال شامل یک فایل \lr{.dtx} و یک فایل +\lr{.ins} است. فایل \lr{.ins} را توسط لاتک پردازش کنید تا فایل \lr{.dtx} را باز کنید. +\item[\eei{.cls}] فایلهای کلاس که سبک نوشتار را مشخص میکنند. این فایلها را با فرمان \ci{documentclass} فراخوانی میکنیم. +\item[\eei{.fd}] فایلهای قلم که لاتک را از آنها آگاه میسازد. +\end{description} +وقتی که لاتک فایل را پردازش میکند فایلهای زیر را تولید میکند: + +\begin{description} +\item[\eei{.dvi}] فایل مستقل از دستگاه. این فایل مهمترین خروجی لاتک است. محتویات آن را میتوان با نمایشگر مخصوص آن ببینید یا میتوانید آن را توسط \texttt{dvips} یا چیزی شبیه به آن به چاپگر بفرستید. +\item[\eei{.log}] شامل همۀ اتفاقاتی است که در هنگام پردازش قبل اتفاق افتاده است. +\item[\eei{.toc}] تمام عنوانهای بخشها را ذخیره میکند. این فایل در زمان اجرای بعدی خوانده میشود و برای چاپ فهرست مطالب مورد استفاده قرار میگیرد. +\item[\eei{.lof}] این فایل مانند فایل \texttt{.toc} است اما برای لیست تصاویر. +\item[\eei{.lot}] و همینطور این فایل برای لیست جدولها است. +\item[\eei{.aux}] فایل دیگری که وظیفهٔ آن انتقال اطلاعات از پردازش قبلی به پردازش جاری است و شامل ارجاعها است. +\item[\eei{.idx}] اگر فایل شما دارای نمایه باشد، لاتک تمام کلماتی را که باید به نمایه انتقال یابند در این فایل ذخیره میکند. این فایل را با \texttt{makeindex} پردازش کنید. به بخش +\ref{sec:indexing} +%\LR{\hyperref[sec:indexing]{3.5}} + در صفحه +\pageref{sec:indexing} برای اطلاعات بیشتر مراجعه کنید. +\item[\eei{.ind}] فایل پردازش شده \texttt{.idx} که آماده تزریق به نوشتار در پردازش بعدی است. +\item[\eei{.ilg}] فایلی که نشان میدهد \texttt{makeindex} چهکاری انجام داده است. +\end{description} + +\section{پروژههای بزرگ} + +وقتی روی نوشتارهای بزرگ کار میکنید، ممکن است دوست داشته باشید که فایل ورودی را به چند قسمت تقسیم کنید. لاتک دو فرمان برای انجام این کار دارد. + +\begin{lscommand} +\ci{include}\verb|{|\emph{filename}\verb|}| +\end{lscommand} +\noindent این فرمان را میتوانید در متن نوشتار وارد کنید تا محتویات فایل \emph{filename.tex} را به نوشتار اضافه کنید. توجه داشته باشید +که لاتک یک صفحهٔ جدید را قبل از پردازش محتویات \emph{filename.tex} تولید میکند. + +فرمان دوم را میتوانید در آغاز نوشتار وارد کنید. این کار به لاتک اجازه میدهد تنها تعدادی از فایلهای \verb|\include| شده را در متن وارد کند. +\begin{lscommand} +\ci{includeonly}\verb|{|\emph{filename}\verb|,|\emph{filename}% +\verb|,|\ldots\verb|}| +\end{lscommand} +بعد از این که این فرمان در آغاز پردازش شد، تنها فرمانهای \ci{include} مربوط به آن فایلهایی اجرا میشود که نام آنها در آرگومان \ci{includeonly} +آورده شده باشد. توجه داشته باشید که نباید هیچ فاصلهای بین اسم فایلها و ویرگولها باشد. + +فرمان \ci{include} باعث حروفچینی فایل الصاق شده در یک صفحهٔ جدید میشود. این موضوع به ویژه وقتی که از فرمان \ci{includeonly} استفاده +میکنید مفید است زیرا شکست صفحهها تغییر نمیکند حتی اگر بعضی از فایلها الصاق شده حذف شده باشند. بعضی مواقع این کار مطلوب نیست. +در این حالت میتوانید از فرمان زیر استفاده کنید: +\begin{lscommand} +\ci{input}\verb|{|\emph{filename}\verb|}| +\end{lscommand} +\noindent این فرمان به طور ساده فایلهای عنوان شده را الصاق میکند. بدون هیچ زرق و برقی و هیچ چیز اضافه. + +برای این که لاتک را مجبور کنید نوشتار شما را بررسی کند از بستۀ \pai{syntonly} استفاده کنید. این بسته لاتک را مجبور میکند نوشتار را برای خطاهای +احتمالی مورد بازرسی قرار دهد اما هیچ خروجی تولید نمیکند. از آنجا که لاتک در این حالت سریعتر اجرا میشود میتواند در ذخیره زمان بسیار مفید باشد. کاربرد آن بسیار آسان است: + +\begin{lscommand} +\ci{usepackage}\verb|{|\emph{syntonly}\verb|}|\\ +\ci{syntaxonly} +\end{lscommand} +وقتی که میخواهید خروجی تولید کنید تنها خط دوم را غیر فعال کنید +(با افزودن یک علامت درصد). + +% + +% Local Variables: +% TeX-master: "lshort2e" +% mode: latex +% mode: flyspell +% End: diff --git a/info/lshort/persian/title.tex b/info/lshort/persian/title.tex new file mode 100644 index 0000000000..4151148633 --- /dev/null +++ b/info/lshort/persian/title.tex @@ -0,0 +1,82 @@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Contents: The title page +% $Id: title.tex,v 1.2 2003/03/19 20:57:47 oetiker Exp $ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\newlength{\centeroffset} +\setlength{\centeroffset}{-0.5\oddsidemargin} +\addtolength{\centeroffset}{0.5\evensidemargin} +%\addtolength{\textwidth}{-\centeroffset} +\thispagestyle{empty} +\vspace*{\stretch{1}} +\noindent\hspace*{\centeroffset}\makebox[0pt][r]{\begin{minipage}{\textwidth} +\flushleft +{\nastaliq\Huge\bfseries مقدمهای نه چندان کوتاه بر \\ +\lr{\LaTeXe} + +} +\noindent\rule[-1ex]{\textwidth}{5pt}\\[2.5ex] +\hfill\femph{\farsifontsayeh\Large یا \lr{\farsifontsayeh\LaTeXe{}} در \pageref{LastPage} دقیقه} +\end{minipage}} + +\vspace{\stretch{1}} +\noindent\hspace*{\centeroffset}\makebox[0pt][r]{\begin{minipage}{\textwidth} +\flushleft +{\bfseries +\lr{by Tobias Oetiker\\[1.5ex] +\lr{Hubert Partl, Irene Hyna and Elisabeth Schlegl}\\[3ex]}} +\lr{Version~5.01, April 6, 2011}\\ +\lr{\bfseries Translator: Mehdi Omidali}\\ +{مترجم: مهدی امیدعلی} +\end{minipage}} + +%\addtolength{\textwidth}{\centeroffset} +\vspace{\stretch{2}} + + +\pagebreak +\thispagestyle{empty} +\begin{small} +\begin{latin} + Copyright \copyright 1995-2011 Tobias Oetiker and Contributers. All rights reserved. + + This document is free; you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This document is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE\@. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this document; if not, write to the Free Software + Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + +\end{latin} + +\medskip +حق مؤلف ۱۹۹۵-۲۰۱۱ \lr{\copyright} توبیاس اوتیکر و دیگران. تمام حقوق محفوظ است. + +این نوشتار آزاد است، تحت اجازهنامهٔ عمومی گنو (نسخهٔ ۲ یا نسخههای جدیدتر)، میتوانید آن را پخش و/یا تغییر دهید. + +این نوشتار به این امید تهیه شده است که مفید واقع شود ولی \textbf{بدون هیچگونه ضمانتی}؛ حتی بدون این ضمانت که مناسب کار خاصی باشد. برای اطلاعات بیشتر به اجازهنامهٔ عمومی گنو مراجعه کنید. + +به همراه این نوشتار، باید یک نسخه از اجازهنامهٔ عمومی گنو را دریافت کرده باشید؛ اگر اینگونه نیست، با آدرس زیر تماس حاصل فرمایید: + +\begin{latin} + Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +\end{latin} + +\end{small} + +\endinput + +% + +% Local Variables: +% TeX-master: "lshort2e" +% mode: latex +% mode: flyspell +% End: diff --git a/info/lshort/persian/transpreface.tex b/info/lshort/persian/transpreface.tex new file mode 100644 index 0000000000..6ca26baabe --- /dev/null +++ b/info/lshort/persian/transpreface.tex @@ -0,0 +1,16 @@ +% !TeX root= lshort.tex +% !TEX TS-program=xelatex + +\chapter{پیشگفتار مترجم} +امروزه بیشتر مجلههای علمی و پژوهشی از نویسندگان خود انتظار دارند مقالهٔ خود را با لاتک تهیه کنند. مشهور است که کسانی که اولین بار با لاتک متنی را آماده میکنند، در میانهٔ کار میگویند که دیگر از این نرمافزار استفاده نخواهند کرد؛ اما بعد از پایان کار به خود میگویند دیگر به هیچ عنوان به سراغ نرمافزارهایی مانند \lr{word} نخواهند رفت. دلیل این کار روشن است؛ لاتک برای هر منظور، فرمانی دارد که باید این فرمانها را بدانید تا بتوانید به طور بهینه از آن استفاده کنید. اگر در ابتدا زمان کافی برای یادگیری این فرمانها صرف نکنید، در آینده چندین برابر این زمان را برای رفع مشکلات نوشتار خود باید صرف کنید. این کتاب به این امید ترجمه شده است که بتواند به شما در یادگیری فرمانهای لاتک کمک کند. + +به تازگی نرمافزار زیتک به بازار ارائه شده است که توانایی استفاده از قلمهای مختلف را فراهم کرده است. زیلاتک، که همان لاتک بر پایهٔ زیتک است، تمامی امکانات قوی لاتک را برای تهیهٔ هر نوع مستندی، از جمله مستندات فارسی، ارائه کرده است. به همین منظور بستهای با نام \lr{\XePersian} توسط آقای وفا خلیقی تهیه شده است که این ترجمه با استفاده از این بسته و به منظور بررسی سازگاری آن تهیه شده است. آقای وفا خلیقی دانشجوی دکتری ریاضی دانشگاه سیدنی هستند که واقعاً با تلاش غیرقابل توصیف کار تهیهٔ این بسته را به عهده گرفتند و بدون چشمداشتی این کار بزرگ را انجام دادند. وظیفهٔ خود میدانم که از طرف جامعهٔ علمی کشور از ایشان کمال تشکر را داشته باشم و با افتخار این ترجمهٔ ناچیز را به خود ایشان تقدیم کنم. + +همچنین لازم است از زحمات آقای مصطفی واحدی به خاطر شروع اولین قدمهای تهیهٔ بستهای برای نگارش فارسی و همچنین مبدل فارسیتک به یونیکد (به سبک مناسب زیپرشین) و همچنین ایجاد گروه فارسی لاتک گوگل% +\Footnote{\href{http://groups.google.com/group/farsilatex?hl=fa}{\texttt{http://groups.google.com/group/farsilatex?hl=fa}}} +تشکر نمایم. برای دریافت کمک و انتقال نظرات و پیشنهادات خود و همچنین دریافت آخرین اطلاعات میتوانید به این گروه ملحق شوید. امکانات استفاده از \texttt{BibTex} توسط آقای محمود امین طوسی فراهم گردیده است که از ایشان سپاسگذاری میکنم. از آقای سید رضی علویزاده برای تهیهٔ افزونهٔ نگارش فارسی به ویرایشگر \lr{Texmaker} و از آقای امیرمسعود پورموسی برای تلاش بسیار ایشان در آمادهسازی ویکی زیپرشین% +\Footnote{\href{http://fa.parsilatex.wikia.com}{\texttt{http://fa.parsilatex.wikia.com}}} +تشکر میکنم. +\begin{latin} +\contrib{\rl{مهدی امیدعلی}}{mehdioa@gmail.com}{} +\end{latin}
\ No newline at end of file diff --git a/info/lshort/persian/typeset.tex b/info/lshort/persian/typeset.tex new file mode 100644 index 0000000000..0cbd5070ed --- /dev/null +++ b/info/lshort/persian/typeset.tex @@ -0,0 +1,1152 @@ +% !TeX root=lshort.tex +% !TEX TS-program=xelatex +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Contents: Typesetting Part of LaTeX2e Introduction +% $Id: typeset.tex 169 2008-09-24 07:32:13Z oetiker $ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\chapter{حروفچینی متن} +\begin{intro} +بعد از مطالعهٔ فصل پیش، چیزهای ابتدایی را میدانید که لاتک با آنها سروکار دارد. در این فصل مطالب دیگری را خواهید آموخت که برای تولید نوشتههای واقعی مفید هستند. +\end{intro} +\section{ساختار متن و زبان} + انتقال اطلاعات و ایدهها به خواننده مهمترین نکتهٔ نوشتن یک متن است. اگر نوشتار به درستی ساختاربندی شده باشند خواننده به راحتی مطالب را میفهمد و این مطلب موقعی اتفاق میافتد که ساختار حروفچینی متن انعکاس دهنده ساختار محتوای متن باشد. + +تفاوت لاتک با دیگر سیستمهای حروفچینی در این است که تنها باید ساختار منطقی و زیبایی نوشتار را به لاتک معرفی کرد. آنگاه لاتک با استفاده از قوانینی که در متن و در فایلهای الصاقی ارائه شده است حروفچینی نوشتار را انجام میدهد. + +مهمرین واحد در لاتک (و در حروفچینی) پاراگراف +\index{بیی@پاراگراف}\romanindex{paragraph} است. ما به آن \emp{واحد متن} +میگوییم زیرا پاراگراف قسمت بههم چسبیدهای است که یک ایده را بازگو میکند. در این بخش یاد میگیریم که چگونه خط را با فرمان \texttt{\bs\bs}، +و پاراگراف را با خالی گذاشتن یک خط بشکنیم. بنابراین اگر مطلب جدیدی قرار است که شروع شود باید پاراگراف جدید نیز شروع شود. +اگر در مورد شکستن پاراگراف مطمئن نیستید، نوشتار را به عنوان حامل ایدهها درنظر بگیرید. اگر در نقطهای شکست پاراگراف دارید ولی ایدۀ قبلی هنوز ادامه دارد، شکست را باید از بین ببرید. اگر ایدۀ کاملاً جدیدی در یک خط وارد شده است، آنگاه باید یک شکست پاراگراف داشته باشید. + +بعضی از افراد به کلی اهمیت دانستن محل دقیق شکستن پاراگرافها را نمیدانند. خیلی از افراد حتی مفهوم شکستن یک پاراگراف را نمیدانند، یا، به خصوص در لاتک، پاراگرافهای جدید ایجاد میکنند بدون این که بدانند چنین کاری کردهاند. این اشتباه به خصوص اگر در متن فرمول وجود داشته باشد، بیشتر اتفاق میافتد. +به مثالهای زیر توجه کنید و سعی کنید دریابید که چرا گاهی اوقات خط خالی (شکست پاراگراف) +قبل یا بعد از یک فرمول قرار میگیرد و گاهی اوقات قرار نمیگیرد. +(اگر هنوز همهٔ فرمانهای این مثالها را متوجه نمیشوید، این فصل و فصل بعد را مطالعه کنید و دوباره این بخش را مرور کنید.) + +\begin{code} +\begin{verbatim} +% Example 1 +\ldots when Einstein introduced his formula +\begin{equation} + e = m \cdot c^2 \; , +\end{equation} +which is at the same time the most widely known +and the least well understood physical formula. + + +% Example 2 +\ldots from which follows Kirchhoff's current law: +\begin{equation} + \sum_{k=1}^{n} I_k = 0 \; . +\end{equation} + +Kirchhoff's voltage law can be derived \ldots + + +% Example 3 +\ldots which has several advantages. + +\begin{equation} + I_D = I_F - I_R +\end{equation} +is the core of a very different transistor model. \ldots +\end{verbatim} +\end{code} + +جملات، واحدهای کوچکتر متن هستند. در جملات انگلیسی فاصلهٔ بعد از یک نقطه پایان خط بیشتر از فاصلهٔ بعد از نقطهای است که یک کلمه مخفف را تمام میکند. +لاتک سعی میکند بفهمد کدام یک از این دو مورد نظر است. اگر لاتک اشتباه کرد، باید به او بگویید کدام یک مورد نظر است. +روش اینکار را در ادامهٔ این فصل خواهید دید. + +ساختار متن حتی به داخل جملات نیز رسوخ میکند. بسیاری از زبانها دارای آیین نگارش پیچیدهای هستند، اما در بسیاری از زبانها +(مثلاً آلمانی و انگلیسی\footnote{مترجم: و صد البته فارسی})، +ویرگول را میتوان با به خاطر سپردن یک اصل ساده در محل درست قرار دهید: در محلهایی که متن دارای توقف کوچک است. +اگر مطمئن نیستید در کجا ویرگول قرار دهید، جمله را با صدای بلند بخوانید و در هر نقطهای که یک ویرگول دارید یک نفس کوتاه بگیرید. اگر از این کار احساس خوبی نداشتید آن ویرگول را حذف کنید؛ اگر در نقطهای احساس نیاز به یک نفس تازه (یا یک توقف کوتاه) داشتید، در آن نقطه یک ویرگول وارد کنید. + +دست آخر این که پاراگرافها را باید بهطور منطقی در فصلها، بخشها، زیربخشها، و غیره قرار دهید. با این وجود، تأثیر حروفچینی به صورت +\begin{code} +\verb|\section{The| \texttt{Structure of Text and Language}\verb|}| +\end{code} +آنقدر واضح است که تقریباً مشخص میکند این ساختاربندی چگونه انجام میشود. +\section{شکستن خط و صفحه} +\subsection{ترازش پاراگرافها} +کتابها معمولاً به این صورت حروفچینی میشوند که تمام خطها دارای طول یکسان هستند. لاتک خطها را به صورت مناسب میشکند \index{شکستن خط} +و فاصلهٔ مناسب بین کلمات را رعایت میکند تا محتوای پاراگرافها را بهینه کند. اگر لازم باشد حتی کلمات را در انتهای خطها میشکند. +اینکه پاراگرافها چگونه حروفچینی میشوند بستگی به طبقهٔ نوشتار دارد. به طور نرمال اولین خط یک پاراگراف دارای تورفتگی است، +و فاصلهٔ ویژهای بین پاراگرافها وجود ندارد. برای اطلاعات بیشتر به بخش +\ref{parsp} +%\LR{\hyperref[parsp]{2.3.6}} +مراجعه کنید. + +در حالات ویژه ممکن است لازم باشد که لاتک را مجبور به شکستن یک خط کنیم. فرمان +\begin{lscommand} +\ci{\bs} \rl{یا} \ci{newline} +\end{lscommand} +\noindent یک خط جدید بدون شکستن پاراگراف شروع میکند. فرمان + +\begin{lscommand} +\ci{\bs*} +\end{lscommand} +\noindent بعلاوه از ایجاد یک شکست صفحه بعد از شکست خط جلوگیری میکند. فرمان + +\begin{lscommand} +\ci{newpage} +\end{lscommand} +\noindent یک صفحهٔ جدید را آغاز میکند. فرمانهای + +\begin{lscommand} +\ci{linebreak}\verb|[|\emph{n}\verb|]|, +\ci{nolinebreak}\verb|[|\emph{n}\verb|]|, +\ci{pagebreak}\verb|[|\emph{n}\verb|]|, +\ci{nopagebreak}\verb|[|\emph{n}\verb|]| +\end{lscommand} +\noindent +جاهایی را پیشنهاد میکنند که یک شکست باید یا نباید انجام شود. این فرمانها به نویسنده امکان تغییر پارامتر \emph{n} را میدهند، +که میتواند عددی بین صفر تا چهار باشد. با انتخاب \emph{n} کمتر از چهار به لاتک اجازه میدهید فرمان شما را در صورت خیلی بد بودن +نتیجه اثر ندهد. این فرمانهای \lr{``break''} را با فرمانهای \lr{``new''} اشتباه نگیرید. حتی موقعی که از فرمان \lr{``break''} +استفاده میکنید، لاتک سعی میکند طول خط و طول صفحه را گسترش دهد که این مطلب در بخش بعد توضیح داده شده است. این کار ممکن است فاصلههای +نامطلوب در نوشتار شما ایجاد کند. اگر واقعاً میخواهید یک خط جدید یا صفحهٔ جدید را شروع کنید آنگاه از فرمان مربوط به این کارها +استفاده کنید. نام این فرمانها را حدس بزنید! + +لاتک همواره سعی میکند بهترین شکست خطهای ممکن را ایجاد کند. اگر لاتک نتواند خطها را طبق استانداردهای پیشرفته بشکند، این اجازه را به +خط میدهد که از سمت راست به بیرون پاراگراف کشیده شود. در این حالت لاتک هشدار \lr{``\wi{\lr{overfull hbox}}''} را در زمان پردازش میدهد. این اتفاق وقتی رخ میدهد که لاتک مکان مناسبی برای شکستن کلمات در انتهای خط پیدا نکند.% +\footnote{با وجود این که لاتک هشداری در مورد وقوع \lr{overfull hbox} میدهد، معمولاً آسان نیست که خط مورد نظر را پیدا کنیم. اگر از گزینه \texttt{draft} در \ci{documentclass} +استفاده کنید، در حاشیهٔ سمت راست این خطها یک نشان پهن سیاه ایجاد میشود.} +میتوانید استانداردهای لاتک را با فرمان \ci{sloppy} کمی پایین بیاورید. این فرمان باعث ایجاد فاصلههای بین کلمهای طولانی میشود +حتی اگر خروجی بهینه نباشد. در این حالت لاتک هشدار \lr{``\wi{\lr{underfull hbox}}''} را به کاربر میدهد. در اغلب اوقات نتیجه این کار خیلی جالب نیست. فرمان \ci{fussy} استانداردهای لاتک را به حالت پیشفرض برمیگرداند. +\subsection{شکستن کلمات} \label{hyph} + +لاتک کلمات را در صورت لزوم میشکند. اگر الگوریتم شکستن کلمات نتواند مکان دقیقی برای شکستن کلمه پیدا کند، میتوانید لاتک را در این راه یاری کنید. + +فرمان +\begin{lscommand} +\ci{hyphenation}\verb|{|\emph{word list}\verb|}| +\end{lscommand} +\noindent +باعث میشود کلماتی که در لیست آمده است تنها در نقاط با علامت \lr{``-''} شکسته شود. آرگومان فرمان تنها باید شامل کلماتی باشد که از حروف علامتهای عادی تشکیل شده باشد. راهنمایی شکستن کلمات برای یک زبان ویژه در حافظه باقی میماند تا آن زبان فعال شود. این بدان معنی است که اگر فرمان شکستن را در سرآغاز نوشتار وارد کنید تنها زبان انگلیسی را مورد نظر قرار میدهد. اگر فرمان شکستن را بعد از \verb|\begin{document}| قرار دهید و از بستهای مانند \pai{babel} استفاده کنید، آنگاه راهنماییهای شکستن کلمات برای زبانی که توسط \pai{babel} انتخاب شده است فعال میشود. + +مثال زیر به \lr{``hyphenation''} اجازه میدهد تا همانند \lr{``Hyphenation''} شکسته شود، و مانع از شکسته شدن \lr{``FORTRAN''}، \lr{``Fortran''} و \lr{``fortran''} میشود. هیچ حرف یا نماد ویژهای را نمیتوان در آرگومان فرمان شکستن قرار داد. + +مثال: +\begin{code} +\verb|\hyphenation{FORTRAN Hy-phen-a-tion}| +\end{code} + +فرمان \ci{-} یک پیشنهاد برای شکستن کلمه را ایجاد میکند. این نقطه تنها نقطهای میشود که کلمه مجاز است در آنجا شکسته شود. این فرمان به ویژه برای کلماتی که دارای حرف ویژهای هستند مفید است +(مانند حروف لهجهها)، +زیرا لاتک این کلمات را نمیتواند بهطور خودکار بشکند. + +\begin{example} +I think this is: su\-per\-cal\-% +i\-frag\-i\-lis\-tic\-ex\-pi\-% +al\-i\-do\-cious +\end{example} + +چند کلمه را میتوان در یک خط با فرمان زیر نگهداشت: + +\begin{lscommand} +\ci{mbox}\verb|{|\emph{text}\verb|}| +\end{lscommand} +\noindent این فرمان باعث میشود آرگومانهایش تحت هر شرایطی در کنار هم قرار بگیرند. + +\begin{example} +My phone number will change soon. +It will be \mbox{0116 291 2319}. + +The parameter +\mbox{\emph{filename}} should +contain the name of the file. +\end{example} + +\ci{fbox} مشابه \ci{mbox} است، با این تفاوت که کادری دور متن قرار میگیرد. + + +\section{رشتههای تعریف شده} + +در بعضی از مثالهای صفحهٔ قبل، یک فرمان خیلی ساده برای حروفچینی رشتههای ویژه را دیدید: + +\vspace{2ex} + +\noindent +\begin{center} +\begin{tabular}{rlll@{}} +توضیح&مثال&فرمان\\ +\hline +زمان جاری + & \lr{\latintoday} & \ci{today}\\ + حروفچین مورد علاقهٔ شما & \lr{\TeX} &\ci{TeX}\\ + عنوان بازی & \lr{\LaTeX} &\ci{LaTeX}\\ +شکل کنونی& \lr{\LaTeXe} &\ci{LaTeXe} \\ +\end{tabular} +\end{center} +\section{حروف و نمادهای ویژه} + +\subsection{علامت نقل قول} + +برای \wi{نقل قول} {\it نباید} +مانند ماشین تایپ از \verb|"| استفاده کنید %\romanindex{""@\texttt{""}} +. برای انتشار از علامت دیگری برای اینکار استفاده میشود. در لاتک، از دو علامت +\lr{\textasciigrave}\Footnote{grave accent} برای شروع نقل قول و از دو علامت +\lr{\textquotesingle}\Footnote{vertical quote} برای پایان نقل قول استفاده میشود. برای نقل قول منفرد از یکی از این علامتها استفاده میکنیم. +\begin{example} +``Please press the `x' key.'' +\end{example} + +میدانم که روش مناسبی نیست که از \lr{\textasciigrave} برای شروع نقل قول و از \lr{\textquotesingle} برای اتمام آن استفاده کرد. +\subsection{فاصلهٔ کلمات و شکستن} + +لاتک چهار نوع فاصلهٔ بین کلمات را میشناسد. \romanindex{dash} سه تا از این فاصلهها را میتوان با نوشتن چند دَش (خط تیره) پشت سر هم تولید کرد. علامت چهارم دش نیست و در حقیقت همان علامت منهای ریاضی است: \romanindex{-} +\romanindex{--} \romanindex{---} \lr{\index{-@$-$}} \index{\lr{mathematical}!\lr{minus}} + + +\begin{example} +daughter-in-law, X-rated\\ +pages 13--67\\ +yes---or no? \\ +$0$, $1$ and $-1$ +\end{example} + + +نام این دشها این است: +\lr{`-' \wi{\lr{hyphen}}}، \lr{`--' \wi{\lr{en-dash}}}، \lr{`---' \wi{\lr{em-dash}}} و +\lr{`$-$' \wi{\lr{minus sign}}}. +\subsection{\texorpdfstring{تیلدا ($\sim$)}{تیلدا}} +\romanindex{www}\romanindex{URL}\romanindex{tilde} +کاراکتری که معمولاً در صفحات وب ظاهر میشود علامت تیلدا است. برای تولید این کاراکتر در لاتک میتوانید از \verb|\~| کمک بگیرد ولی حاصل آن \~{} +است که دقیقاً آن چیزی نیست که میخواهید. به جای آن از روش زیر استفاده کنید: + + +\begin{example} +http://www.rich.edu/\~{}bush \\ +http://www.clever.edu/$\sim$demo +\end{example} + +\subsection{\texorpdfstring{اسلش (/)}{اسلش}} +\index{اسلش} +برای نمایش اسلش بین دو واژه، میتوان بهسادگی نوشت، برای نمونه +\texttt{read/write}، +ولی این کار باعث میشود لاتک هر دو واژه را چسبیده نمایش دهد. شکست واژهها برای این دو واژه ناپویا میشود و ممکن است خطای «سرریز» دریافت کنید. برای رفع این مشکل \ci{slash} را بکار ببرید. برای نمونه بنویسید `\LR{\verb|read\slash write|}' که شکست کلمهها را ممکن میکند. ولی `\texttt{/}' نرمال هنوز میتواند برای کسر و واحدها بکار رود، ب.ن.\ \texttt{5 MB/s}. + +\subsection{\texorpdfstring{علامت درجه ($\circ$)}{علامت درجه}} +مثال زیر نشان میدهد چگونه میتوان \wi{علامت درجه} +\romanindex{degree symbol} را در لاتک نوشت: + + +\begin{example} +It's $-30\,^{\circ}\mathrm{C}$. +I will soon start to +super-conduct. +\end{example} + + +بستهٔ \pai{textcomp} علامت درجه را با فرمان \ci{textcelsius} نیز قابل دسترسی میکند. +\subsection{\texorpdfstring{نماد واحد پول اروپا (\lr{\texteuro})}{نماد واحد پول اروپا}} +این روزها نماد واحد پول اروپا بسیار بهکار میرود. بیشتر قلمهای کنونی دارای کاراکتر ویژه برای این نماد هستند. بعد از فراخوانی بستهٔ +\pai{textcomp} +در سرآغاز نوشتار + +\begin{lscommand} +\ci{usepackage}\verb|{textcomp}| +\end{lscommand} + +از فرمان + +\begin{lscommand} +\ci{texteuro} +\end{lscommand} + +برای نمایش این کاراکتر میتوانید استفاده کنید. + +اگر قلم شما این نماد را ندارد یا از شکل آن خوشتان نمیآید، کارهای دیگری میتوانید انجام دهید. + +ابتدا این که بستهٔ +\pai{eurosym} +نماد رسمی واحد پول اروپا را فراهم میکند: + +\begin{lscommand} +\ci{usepackage}\verb|[|\lr{official}\verb|]{eurosym}| +\end{lscommand} + +اگر نمادی را میپسندید که با قلم شما همخوانی داشته باشد، از گزینهٔ +\lr{\texttt{gen}} +به جـــــــای +\lr{\texttt{official}} +استفاده کنید. + +%If the Adobe Eurofonts are installed on your system (they are available for +%free from \url{ftp://ftp.adobe.com/pub/adobe/type/win/all}) you can use +%either the package \pai{europs} and the command \ci{EUR} (for a Euro symbol +%that matches the current font). +% does not work +% or the package +% \pai{eurosans} and the command \ci{euro} (for the ``official Euro''). + +%The \pai{marvosym} package also provides many different symbols, including a +%Euro, under the name \ci{EURtm}. Its disadvantage is that it does not provide +%slanted and bold variants of the Euro symbol. +\begin{table}[!htbp] +\caption{کیسهای پر از نماد اروپا} \label{eurosymb} +\setLR +\begin{lined}{10cm} +\begin{tabular}{llccc} +LM+textcomp &\verb+\texteuro+ & \huge\texteuro &\huge\sffamily\texteuro + &\huge\ttfamily\texteuro\\ +eurosym &\verb+\euro+ & \huge\officialeuro &\huge\sffamily\officialeuro + &\huge\ttfamily\officialeuro\\ +$[$gen$]$eurosym &\verb+\euro+ & \huge\geneuro &\huge\sffamily\geneuro + &\huge\ttfamily\geneuro\\ +%europs &\verb+\EUR + & \huge\EURtm &\huge\EURhv +% &\huge\EURcr\\ +%eurosans &\verb+\euro+ & \huge\EUROSANS &\huge\sffamily\EUROSANS +% & \huge\ttfamily\EUROSANS \\ +%marvosym &\verb+\EURtm+ & \huge\mvchr101 &\huge\mvchr101 +% &\huge\mvchr101 +\end{tabular} +\medskip +\end{lined} +\setRL +\end{table} +\subsection{\texorpdfstring{سه نقطه ($\ldots$)}{سهنقطه}} +بر روی ماشین تایپ، یک ویرگول یا یک فاصله دارای همان طول یک حرف هستند. در یک کتاب این کاراکترها تنها فضای کوچکی را اشغال میکنند. بنابراین سه نقطه را نمیتوان تنها با نوشتن سه نقطه نشان داد. برای این منظور فرمان ویژهای وجود دارد: + + +\begin{lscommand} +\ci{ldots} +\end{lscommand} + +\lr{\index{...@\ldots}} + + +\begin{example} +Not like this ... but like this:\\ +New York, Tokyo, Budapest, \ldots +\end{example} + +\subsection{چسبیدگی حروف}\index{\lr{ligature}}\index{جیی@چسبیدگی} +بعضی از کلمات تنها با قراردادن متوالی چند حرف بدست نمیآیند بلکه باید نمادهای ویژهای برای نمایش آنها به کار برد. + +\begin{code} +{\large \lr{ff fi fl ffi}\ldots}\quad +\rl{به جای}\quad {\large \lr{f\mbox{}f f\mbox{}i f\mbox{}l f\mbox{}f\mbox{}i} \ldots} +\end{code} + +چسبیدگی حروف را میتوان با قراردادن یک +\LRE{\ci{mbox}\verb|{}|} +بین دو حرف مورد نظر از بین برد. این کار به عنوان مثال برای کلمههایی لازم است که از ترکیب دو کلمه بدست میآیند. + +\begin{example} +\Large Not shelfful\\ +but shelf\mbox{}ful +\end{example} + +\subsection{لهجهها و حروف ویژه} + +لاتک استفاده از لهجهها و حروف ویژه را به شکلهای مختلف پشتیبانی میکند. جدول +\ref{accents} +%\LR{\hyperref[accents]{2.3}} +تمام لهجههای مختلف را نشان میدهد که بر حرف +\lr{o} +قرار میگیرند. این کار برای حروف دیگر هم قابل انجام است. + +برای قراردادن یک لهجه بر روی حرفی مانند +\lr{i} یا \lr{j} +ابتدا باید نقطهٔ روی آن را حذف کرد. برای انجام این کار از +\verb|\i| و \verb|\j| +استفاده کنید. + +\begin{example} +H\^otel, na\"\i ve, \'el\`eve,\\ +sm\o rrebr\o d, !`Se\~norita!,\\ +Sch\"onbrunner Schlo\ss{} +Stra\ss e +\end{example} + +\begin{table}[!hbp] +\caption{لهجهها و حروف ویژه} \label{accents} +\begin{latin} +\begin{lined}{10cm} +\begin{tabular}{*4{cl}} +\A{\`o} & \A{\'o} & \A{\^o} & \A{\~o} \\ +\A{\=o} & \A{\.o} & \A{\"o} & \BB{\c}{c}\\[6pt] +\BB{\u}{o} & \BB{\v}{o} & \BB{\H}{o} & \BB{\c}{o} \\ +\BB{\d}{o} & \BB{\b}{o} & \BB{\t}{oo} \\[6pt] +\A{\oe} & \A{\OE} & \A{\ae} & \A{\AE} \\ +\A{\aa} & \A{\AA} \\[6pt] +\A{\o} & \A{\O} & \A{\l} & \A{\L} \\ +\A{\i} & \A{\j} & !` & \verb|!`| & ?` & \verb|?`| +\end{tabular} + +\index{\lr{dotless \i{} and \j}}\index{\lr{Scandinavian letters}} +\index{ae@\lr{\ae}}\index{\lr{umlaut}}\index{\lr{grave}}\index{\lr{acute}} +\index{oe@\lr{\oe}}\index{aa@\lr{\aa}} + +\bigskip +\end{lined} +\end{latin} +\end{table} + + + +\section{پشتیبانی زبانهای دیگر} +\index{زبانهای دیگر} +\subsection{گزینهٔ یونیکد} + +%\secby{Axel Kielhorn}{A.Kielhorn@web.de} +اگر میخواهید نوشتاری از چندین زبان بنویسید، یونیکد راه آن است، به ویژه اگر این زبانها از خط لاتین استفاده نکنند. دو موتور تک هستند که توانایی پردازش ورودیهای یونیکد را دارند: + +\begin{description} +\item[زیلاتک] +برای سیستم مک گسترش یافت اما اکنون برای همهٔ سیستمها در دسترس است. نخستین بار در تکلایو ۲۰۰۷ ارائه شد. +\item[لواتک] نسخهٔ آیندهٔ پیدیافتک است. نخستین بار در تکلایو ۲۰۰۸ ارائه شد. +\end{description} + +نوشتهٔ زیر زیلاتک ارائه شده در تکلایو ۲۰۱۰ را توضیح میدهد. + + +\subsubsection{زبانها راست به چپ} + +بستهٔ \pai{xepersian}\index{xepersia} از زبان پارسی پشتیبانی میکند. این بسته دستورهای فارسی لاتک را فراهم میکند که به این ترتیب میتوانید دستورهایی مانند \verb|\section| را به پارسی بکار ببرید، که این ویژگی برای پارسی زبانان جذاب است. \pai{xepersian} تنها بستهای است که از کشیدگی حرفها پشتیبانی میکند. بستهٔ همانندی برای زبان سریانی در حال گسترش است. + +قلم نستعلیق، که توسط شورای عالی اطلاع رسانی درست شده است، از تارنمای آنها دردسترس است + +\lr{\url{http://www.scict.ir/Portal/Home/Default.aspx}. } + + + +\section{فاصله بین کلمات} +برای این که در خروجی، حاشیه سمت راست به صورت منظم ظاهر شود، لاتک فاصله مناسب بین کلمات ایجاد میکند تا خط را پر کنند. +همچنین لاتک فاصلهٔ بیشتری را در انتهای یک خط قرار میدهد، زیرا این کار باعث خوانایی بهتر متن میشود. لاتک فرض میکند انتهای +یک جمله نقطه، علامت سؤال یا تعجب است. اگر یک نقطه بعد از یک حرف بزرگ ظاهر شود، لاتک این نقطه را پایان یک خط نمیداند، +زیرا معمولاً بعد از اسامی ویژه که با حروف بزرگ نوشته میشوند یک نقطه قرار میگیرد. + +هر فرض دیگری به غیر از اینها را نویسنده باید به لاتک اطلاع دهد. یک بکاسلش در جلوی یک فاصله، فاصلهای را تولید میکند که نمیتواند گسترش یابد. حرف تیلدا فاصلهای را تولید میکند که نمیتواند گسترش یابد و بهعلاوه از شکستن خط جلوگیری میکند. فرمان +\verb|@| +در جلوی یک نقطه بیان میکند که این نقطه انتهای یک خط است، حتی اگر این نقطه بعد از یک حرف بزرگ ظاهر شده باشد. +\cih{"@} %\romanindex{~@ \verb.~.} \romanindex{tilde@tilde ( \verb.~.)} +\romanindex{., space after} + +\begin{example} +Mr.~Smith was happy to see her\\ +cf.~Fig.~5\\ +I like BASIC\@. What about you? +\end{example} + +فاصلهٔ اضافی بعد از نقطه را میتوان با فرمان زیر غیر فعال کرد +\begin{lscommand} +\ci{frenchspacing} +\end{lscommand} +\noindent +که به لاتک میگوید بعد از نقطه فاصلهای بیشتر از فاصلهٔ بین کلمات قرار ندهد. این کار در اکثر زبانها معمول است، به جز در هنگام نوشتن کتابنامه. اگر از فرمان +\ci{frenchspacin} +استفاده کنید، فراخوانی فرمان +\verb|\@| +لازم نیست. +\section{عنوان، فصل، و بخش} +برای این که خواننده را به هنگام خواندن کار شما راهنمایی کنید، باید نوشتار خود را به فصلها، بخشها، و زیربخشها تقسیم کنید. لاتک این کار را با اختصاص فرمانهای ویژهای امکانپذیر میکند که عنوان هر بخش را به عنوان آرگومان میپذیرند. این وظیفهٔ شماست که ترتیب آنها را درست بیان کنید. + +فرمانهای زیر در طبقهٔ +\lr{\texttt{article}} +موجودند: + \nopagebreak + +\begin{lscommand} +\ci{section}\verb|{...}|\\ +\ci{subsection}\verb|{...}|\\ +\ci{subsubsection}\verb|{...}|\\ +\ci{paragraph}\verb|{...}|\\ +\ci{subparagraph}\verb|{...}| +\end{lscommand} + +اگر میخواهید نوشتارتان را به قسمتهایی تقسیم کنید که شمارهگذاری بخشها و فصلها را تغییر ندهد از فرمان +\begin{lscommand} +\ci{part}\verb|{...}| +\end{lscommand} +\noindent استفاده کنید. + +وقتی که از طبقههای +\lr{\texttt{report}} +و +\lr{\texttt{book}} +استفاده میکنید، فرمان +\begin{lscommand} +\ci{chapter}\verb|{...}| +\end{lscommand} +\noindent هم قابل استفاده است که هر فصل در برگیرندهٔ چندین بخش میتواند باشد. + +از آنجا که طبقهٔ +\lr{\texttt{article}} +فرمان +\lr{\texttt{chapter}} +را نمیشناسد، قرار دادن یک مقاله به عنوان یک فصل از یک کتاب بسیار آسان است. فاصلهٔ بین بخشها، و شمارهگذاری آنها و همچنین اندازهٔ قلم عنوانها به طور خودکار توسط لاتک تعیین میشود. + +دو فرمان از این دسته فرمانها دارای ویژگیهایی هستند که در زیر به آنها اشاره شده است: + +\begin{itemize} +\item +فرمان +\ci{part} +شمارهگذاری مسلسل فصلها را تغییر نمیدهد. +\item +فرمان +\ci{appendix} +هیچ آرگومانی را نمیپذیرد. این فرمان تنها شمارهگذاری فصلها را به صورت حرفی تغییر میدهد.% +\footnote{در طبقهٔ مقاله، این فرمان شمارهگذاری بخشها را حرفی میکند.} +\end{itemize} + +لاتک فهرست مطالب را با قراردادن عنوان بخشها و صفحهٔ مربوط به آنها که از آخرین پردازش بدست آمده است تولید میکند. فرمان +\begin{lscommand} +\ci{tableofcontents} +\end{lscommand} +\noindent +هر جا که ظاهر شود باعث نمایش فهرست مطالب در همان نقطه میشود. یک نوشتار جدید باید دوبار پردازش شود تا +\ci{tableofcontents} +به صورت درست درج گردد. گاهی اوقات لازم است فایل را سهبار پردازش کنید، لاتک در این مورد به شما پیغام مناسب را میدهد. + +تمام فرمانهای بخشبندی که در بالا ذکر شد دارای حالت ستارهدار نیز میباشند. حالت ستارهدار این فرمانها به راحتی با افزودن یک علامت +\verb|*| +به انتهای نام فرمان درست میشود. این فرمانها باعث تولید بخش مربوطه میشوند با این تفاوت که شمارهدار نیستند و در فهرست مطالب ظاهر نمیشوند. +برای این کار، به عنوان مثال به جای فرمان +\verb|\section{Help}| +باید از فرمان +\verb|\section*{Help}| +استفاده کنید. + +عنوان بخشها به طور نرمال در فهرست مطالب ظاهر میشوند. گاهی اوقات این کار امکان\-پذیر نیست زیرا عنوان بخش طولانی است و در یک خط جا نمیشود. در این صورت میتوان عنوانی را که در فهرست مطالب ظاهر میشود با یک گزینهٔ انتخابی در جلوی عنوان واقعی تعیین کرد. +\begin{code} +\verb|\chapter[Title for the table of contents]{A long|\\ +\verb| and especially boring title, shown in the text}| +\end{code} + +عنوان کلی نوشتار با فرمان +\begin{lscommand} +\ci{maketitle} +\end{lscommand} +\noindent +چاپ میشود. محتویات عنوان نوشتار را میتوان با فرمانهای زیر قبل از فرمان +\verb|\maketitle| +تعیین کرد: +\begin{lscommand} +\ci{title}\verb|{...}|\lr{,} \ci{author}\verb|{...}| +\lr{,} \ci{date}\verb|{...}| +\end{lscommand} +\noindent +در آرگومان فرمان +\ci{author} +میتوانید چندین نام را وارد کنید که با فرمان +\lr{\ci{and}} +از یکدیگر جدا میشوند. مثالی از فرمانهایی را که در بالا معرفی کردیم میتوانید در جدول +\ref{document} +%\LR{\hyperref[document]{2.2}} +در صفحهٔ +\pageref{document} +ببینید. + +علاوه بر فرمانهای بخشبندی که در بالا اشاره شد، لاتک سه فرمان دیگر به همراه طبقهٔ +\verb|book| +ارائه میکند. این فرمانها برای تقسیم نوشتار به کار میآیند. این فرمانها سربرگ و شمارهٔ صفحه را در یک کتاب تغییر میدهند: +\begin{description} +\item[\ci{frontmatter}] +باید اولین فرمان بعد از شروع متن نوشتار باشد +(\verb|\begin{document}|). +این فرمان شمارهٔ صفحهها را به اعداد لاتین تغییر میدهد و بخشها را بدون شماره ظاهر میکند. رفتار این فرمان روی بخشبندیها همانند این است که از فرمانهای بخشبندی ستارهدار استفاده کنید (به عنوان مثال +\verb|\chapter*{Preface}|) +با این تفاوت که عنوان این بخشها همچنان در فهرست مطالب ظاهر میشوند. +\item[\ci{mainmatter}] +این فرمان دقیقاً قبل از اعلان اولین فصل به کار میرود که باعث میشود شمارهٔ صفحه به سبک عددی تغییر یابد و آن را از یـک شروع میکند. +\item[\ci{appendix}] +پیوستهای نوشتار را شروع میکند. بعد از این فرمان، فصلها با حروف شماره\-گذاری میشوند. +\item[\ci{backmatter}] +باید قبل از آخرین آیتم کتاب، مانند کتابنامه و نمایه ظاهر شود. در یک طبقهٔ استاندارد، این فرمان هیچ تاثیری ندارد. +\end{description} + +\section{ارجاع} +در کتابها، گزارشها، و مقالات معمولاً ارجاعهایی مانند شکلها، جدولها و قسمتهای ویژه از متن وجود دارد که به آنها +\wi{ارجاعهای متنی}\Footnote{cross-references} +میگویند. لاتک فرمانهای زیر را برای تولید ارجاعهای متنی ارائه میکند + +\begin{lscommand} +\ci{label}\verb|{|\emph{marker}\verb|}|, \ci{ref}\verb|{|\emph{marker}\verb|}| +\rl{و} \ci{pageref}\verb|{|\emph{marker}\verb|}| +\end{lscommand} + +\noindent +که +\emph{marker} +یک نشانگر است که توسط کاربر انتخاب میشود. لاتک تمام فرمانهای +\verb|\ref| +را با شمارهٔ بخش، زیربخش، شکل، جدول، یا قضیهای نمایش میدهد که فرمان +\verb|\label| +در آن ظاهر شده است. فرمان +\verb|\pageref| +شمارهٔ صفحهای را نمایش میدهد که +\verb|\label| +مورد نظر قرار دارد.% +\footnote{توجه داشته باشید که این فرمانها از محتوای چیزی که به آن ارجاع میکنند اطلاعی ندارند. فرمان \ci{label}تنها آخرین شمارهٔ تولید شده را ذخیره میکند. وقتی که این شماره، شمارهٔ یک بخش باشد شمارهٔ مورد نظر از پردازش قبل را ذخیره میکند.} + +\begin{example} +A reference to this subsection +\label{sec:this} looks like: +``see section~\ref{sec:this} on +page~\pageref{sec:this}.'' +\end{example} +\section{پانوشت} +با فرمان + +\begin{lscommand} +\ci{footnote}\verb|{|\emph{footnote text}\verb|}| +\end{lscommand} + +\noindent +پانوشتی در انتهای صفحهٔ جاری نوشته میشود. پانوشتها همواره باید بعد از کلمه یا جملهای قرار داده شود\footnote{فعل شدن یکی از افعال معمول فارسی است.} + که به آن اشاره میکند. بنابراین پانوشتی که به کل یک عبارت اشاره میکند باید بعد از ویرگول یا نقطهٔ انتهای آن جمله قرار داده شود. با توجه به این که هر کسی که نوشتار را میخواند نهایتاً پانوشتها را هم مطالعه میکند (زیرا که ما موجودات کنجکاوی هستیم) پس چرا تمام مطالب را در خود متن بیان نکنیم؟% +\footnote{تو که لالایی بلدی پس چرا خوابت نمیبره(\lr{-}:} + + +\begin{latin} +\begin{example} +Footnotes\footnote{This is + a footnote.} are often used +by people using \LaTeX. +\end{example} +\end{latin} + + +\section{تاکید کلمات} +اگر با یک ماشین تایپ متنی را بنویسید، کلمات مهم به صورت +\underline{زیرخط} +تایپ میشوند. + +\begin{lscommand} +\ci{underline}\verb|{|\emph{text}\verb|}| +\end{lscommand} + +در کتابهای تایپ شده، کلمههای مهم را به صورت ایتالیک نمایش میدهند. لاتک فرمان + +\begin{lscommand} +\ci{emph}\verb|{|\emph{text}\verb|}| +\end{lscommand} + +\noindent +را برای تأکید کلمهها به کار میبرد. تأثیر فرمان به متن بستگی دارد: + +\begin{example} +\emph{If you use + emphasizing inside a piece + of emphasized text, then + \LaTeX{} uses the + \emph{normal} font for + emphasizing.} +\end{example} +لطفاً به تفاوت این که لاتک چیزی را تأکید کند و یا این که از قلم دیگری استفاده کنیم توجه کنید. + +\begin{example} +\textit{You can also + \emph{emphasize} text if + it is set in italics,} +\textsf{in a + \emph{sans-serif} font,} +\texttt{or in + \emph{typewriter} style.} +\end{example} + +\section{محیطها} \label{env} +لاتک +\wi{محیط}های +مختلفی را برای کارهای مختلف ارائه میکند: + +\begin{lscommand} +\ci{begin}\verb|{|\emph{environment}\verb|}|\quad + \emph{text}\quad +\ci{end}\verb|{|\emph{environment}\verb|}| +\end{lscommand} + +\noindent +که +\emph{environment} +نام محیطی است که مورد استفاده قرار میگیرد. محیطها میتوانند تودرتو باشند، مادامی که ترتیب درست آنها اعمال شده باشد. +\begin{code} +\verb|\begin{aaa}...\begin{bbb}...\end{bbb}...\end{aaa}| +\end{code} + +\noindent +در بخش بعد انواع محیطها را مورد بررسی قرار میدهیم. +\subsection{محیطهای تبصره، توضیح، و شمارهدار} +محیط +\ei{itemize} +برای تولید لیستهای ساده مفید است، +\ei{enumerate} +برای تولید لیستهای شمارهدار، و +\ei{description} +برای محیط توضیحات مفید است. +\cih{item} + +\begin{example} +\flushleft +\begin{enumerate} +\item You can mix the list +environments to your taste: +\begin{itemize} +\item But it might start to +look silly. +\item[-] With a dash. +\end{itemize} +\item Therefore remember: +\begin{description} +\item[Stupid] things will not +become smart because they are +in a list. +\item[Smart] things, though, +can be presented beautifully +in a list. +\end{description} +\end{enumerate} +\end{example} +\subsection{چپ، راست، و وسط چین} +محیطهای +\ei{flushleft} +و +\ei{flushright} +پاراگرافهایی را تولید میکنند که چپچین یا راست\-چین هستند. +\romanindex{left aligned}\index{جیی@چپچین} +محیط +\ei{center} +متن را وسطچین مینویسد. اگر شکست خط را با فرمان +\ci{\bs} +اعلان نکنید، لاتک به صورت خودکار شکست خطها را تعیین میکند. + + +\begin{example} +\begin{flushleft} +This text is\\ left-aligned. +\LaTeX{} is not trying to make +each line the same length. +\end{flushleft} +\end{example} + +\begin{example} +\begin{flushright} +This text is right-\\aligned. +\LaTeX{} is not trying to make +each line the same length. +\end{flushright} +\end{example} + +\begin{example} +\begin{center} +At the centre\\of the earth +\end{center} +\end{example} + + +\subsection{نقل قول و شعر} +محیط +\ei{quote} +برای عبارتهای نقل قول و مثالها مفید است. + +\begin{example} +A typographical rule of thumb +for the line length is: +\begin{quote} +On average, no line should +be longer than 66 characters. +\end{quote} +This is why \LaTeX{} pages have +such large borders by default +and also why multicolumn print +is used in newspapers. +\end{example} +دو محیط مشابه دیگر وجود دارد: محیط +\ei{quotation} +و +\ei{verse}. +محیط +\lr{\texttt{quotation}} +برای نقل قولهای طولانی که بیش از یک پاراگراف باشند مفید است. محیط +\lr{\texttt{verse}} +برای نگارش شعر مفید است که شکستها خیلی مهم هستند. در این محیط شکستها با فرمان +\ci{\bs} +در انتهای خط مورد نظر و یک خط خالی بعد از هر قطعه انجام میگیرد. + + +\begin{example} +I know only one English poem by +heart. It is about Humpty Dumpty. +\begin{flushleft} +\begin{verse} +Humpty Dumpty sat on a wall:\\ +Humpty Dumpty had a great fall.\\ +All the King's horses and all +the King's men\\ +Couldn't put Humpty together +again. +\end{verse} +\end{flushleft} +\end{example} +\subsection{مقدمه} +در مطالب علمی معمولاً نوشتار را با یک چکیده شروع میکنند. لاتک محیط +\ei{abstract} +را برای انجام چنین کاری پیشبینی کرده است. به طور نرمال یک چکیده در مقالات به کار میرود. + +\newenvironment{abstract}% + {\begin{center}\begin{small}\begin{minipage}{0.8\textwidth}}% + {\end{minipage}\end{small}\end{center}} +\begin{example} +\begin{abstract} +The abstract abstract. +\end{abstract} +\end{example} + +\subsection{چاپ تحتاللفظ} +متنهایی که بین + \LRE{\verb|\begin{|\ei{verbatim}\verb|}|} +و +\verb|\end{verbatim}| +نوشته میشوند، همانند این که با ماشین تایپ نوشته شده باشند ظاهر میشوند، با تمام شکست خطها و بدون تأثیر هیچ فرمان لاتک. برای یک پاراگراف این کار را میتوان به صورت زیر انجام داد. +\begin{lscommand} +\ci{verb}\verb|+|\emph{text}\verb|+| +\end{lscommand} +\noindent \verb|+| +تنها یک مثال از یک کاراکتر حائل است. بسیاری از مثالهای این مقدمه به کمک همین محیط نوشته شدهاند. + +\begin{example} +The \verb|\ldots| command \ldots + +\begin{verbatim} +10 PRINT "HELLO WORLD "; +20 GOTO 10 +\end{verbatim} +\end{example} + +\begin{example} +\begin{verbatim*} +the starred version of +the verbatim +environment emphasizes +the spaces in the text +\end{verbatim*} +\end{example} +فرمان +\ci{verb} +را میتوان به صورت ستارهدار بهکار برد: + +\begin{example} +\verb*|like this :-) | +\end{example} +محیط +\lr{\texttt{verbatim}} +و فرمان +\verb|\verb| +را نمیتوان به صورت پارامتر فرمانهای دیگر به کار برد. + +\subsection{جدول} + +\newcommand{\mfr}[1]{\lr{\framebox{\rule{0pt}{0.7em}\texttt{#1}}}} + +محیط +\ei{tabular} +را میتوان برای طراحی جدولهای زیبا با خطهای افقی و عمودی به کار برد. لاتک عرض ستونها را به صورت خودکار تشخیص میدهد. آرگومان +\emph{table spec} +از فرمان + +\begin{lscommand} +\verb|\begin{tabular}[|\emph{pos}\verb|]{|\emph{table spec}\verb|}| +\end{lscommand} + +\noindent +سبک جدول را تعریف میکند. از +\mfr{l} +برای یک ستون چپچین، +\mfr{r} +برای راستچین، +\mfr{c} +برای وسطچین استفاده کنید؛ از +\mfr{p\{\emph{width}\}} +برای یک ستون شامل یک متن چیده شده با شکست خط، و +\mfr{l} +برای یک خط عمودی استفاده کنید. + +اگر متن درون یک ستون گستردهتر از صفحه باشد، لاتک آن را به طور خودکار نمیشکند. با استفاده از فرمان +\mfr{p\{\emph{width}\}} +میتوانید نوع ویژهای از ستون را تعریف کنید که پیرامون یک متن مشخص شده گرد شده است. + +آرگومان +\emph{pos} +مکان عمودی جدول را نسبت به خط کرسی متنی دور آن تعیین میکند. از یکی از گزینههای +\mfr{t}،\mfr{b}،\mfr{c} +برای تعیین این مقدار به بالا، پایین و وسط استفاده کنید. + +در یک محیط +\lr{\texttt{tabular}}، +با درج +\texttt{\&} +به ستون بعد میرویم و +\ + \ci{\bs} +یک خط جدید را شروع میکند و +\ci{hline} +یک خط افقی رسم میکند. میتوانید خط را از ستون +\lr{-j}ام +تا ستون +\lr{-i}ام +با فرمان + \lr{\ci{cline}\texttt{\{}\emph{j}\texttt{-}\emph{i}\texttt{\}}} +رسم کنید. +%\romanindex{"|@ \verb."|.} + +\begin{example} +\begin{tabular}{|r|l|} +\hline +7C0 & hexadecimal \\ +3700 & octal \\ \cline{2-2} +11111000000 & binary \\ +\hline \hline +1984 & decimal \\ +\hline +\end{tabular} +\end{example} + +\begin{example} +\begin{tabular}{|p{4.7cm}|} +\hline +Welcome to Boxy's paragraph. +We sincerely hope you'll +all enjoy the show.\\ +\hline +\end{tabular} +\end{example} + +جداکنندهٔ ستونها را میتوان با +\mfr{@\{...\}} +ساخت. این فرمان فاصلهٔ بین ستونها را از بین میبرد و به جای آن از چیزی استفاده میکند که در آکولاد ارائه کردهاید. مورد معمول استفاده از این فرمان در چیدن بر اساس ممیز است. کاربرد دیگر آن از بین بردن فاصلهٔ بالایی یک جدول با استفاده از فرمان +\mfr{@\{\}} +است. + +\begin{example} +\begin{tabular}{@{} l @{}} +\hline +no leading space\\ +\hline +\end{tabular} +\end{example} + +\begin{example} +\begin{tabular}{l} +\hline +leading space left and right\\ +\hline +\end{tabular} +\end{example} + +% +% This part by Mike Ressler +% + +\romanindex{decimal alignment} +از آنجا که هیچ راه درونی برای مرتب کردن اعداد در یک جدول به صورت ممیزچین وجود ندارد +\footnote{اگر کلاف ابزار روی سیستم شما نصب است، نگاهی به بستهٔ +\pai{dcolumn} بیندازید.} +این کار را میتوان با یک حقه و داشتن دو ستون انجام داد: یکی به صورت راستچین، و دیگری به صورت عدد اعشاری چپچین. فرمان +\verb|@{.}| +در خطهای محیط +\verb|\begin{tabular}| +فاصلهٔ عادی بین ستونها را تنها با یک نقطه نشان میدهد که نماد معمولی ممیز است. فراموش نکنید که باید قسمت اعشاری عددتان را با فرمان +\verb|&| +از قسمت درست آن جدا کنید. برچسب یک ستون را میتوان با فرمان +\ci{multicolumn} +تعیین کنید. + +\begin{example} +\begin{tabular}{c r @{.} l} +Pi expression & +\multicolumn{2}{c}{Value} \\ +\hline +$\pi$ & 3&1416 \\ +$\pi^{\pi}$ & 36&46 \\ +$(\pi^{\pi})^{\pi}$ & 80662&7 \\ +\end{tabular} +\end{example} + +\begin{example} +\begin{tabular}{|c|c|} +\hline +\multicolumn{2}{|c|}{Ene} \\ +\hline +Mene & Muh! \\ +\hline +\end{tabular} +\end{example} + +تمام متن یک جدول همواره در یک صفحه قرار میگیرد. اگر میخواهید جدولهای بزرگتری را طراحی کنید، باید از محیط +\pai{longtable} +استفاده کنید. +\section{اجسام شناور} +امروزه بسیاری از چیزهایی که به چاپ میرسند دارای تعداد زیادی جدول و شکل هستند. این اشیاء به حفاظت بیشتری احتیاج دارند، زیرا نمیتوانند بین صفحهها شکسته شوند. یک روش برای این کار این است که هرگاه یک جدول یا شکل آنقدر بزرگ باشد که در ادامهٔ صفحه جا نگیرد، آنگاه یک صفحهٔ جدید برای نمایش آن تولید شود. این کار باعث میشود که تعدادی از صفحات خالی باشند که بسیار بد منظره است. + +راه حل این مشکل این است که شکلها و جدولهایی را که در صفحه نمیگنجند به ابتدای صفحهٔ بعد منتقل کنیم، و ادامه صفحهٔ اول را با متن پرکنیم. لاتک دو محیط برای حفاظت این گونه اجسام شناور تعبیه کرده است؛ یکی برای جدول و یکی برای شکل. برای استفاده بهینه از این دو محیط باید به طور تقریبی بدانید لاتک در درون خودش با اجسام شناور چگونه رفتار میکند. در غیر این صورت این موضوع یک معضل برای شما میشود زیرا لاتک هیچگاه این اجسام را در نقطهای که شما میخواهید قرار نمیدهد. +\romanindex{floating bodies}\index{اجسام شناور} + +\bigskip +ابتدا اجازه دهید به فرمانهایی که برای اجسام شناور تعبیه شدهاند نظری بیندازیم: + +هر چیزی که در میان محیط +\ei{figure} و \ei{table} +قرار میگیرد به عنوان یک شییٔ شناور منظور میشود. هر دو محیط شناور + +\begin{lscommand} +\verb|\begin{figure}[|\emph{placement specifier}\verb|]| \rl{یا} +\verb|\begin{table}[|\ldots\verb|]| +\end{lscommand} + +\noindent +پارامترهای اختیاری قبول میکنند که به آن مشخص کننده مکان% +\Footnote{placement specifier} +میگوییم. این پارامتر برای نشان دادن مکان مورد نظر برای جسم شناور بهکار میرود. این پارامتر به صورت یک رشته از مکانهای ممکن تعیین میشود. جدول +\ref{tab:permiss} +%\LRE{\hyperref[tab:permiss]{3.3}} +را ببینید. +% +\begin{table}[!bp] +\caption{پارامترهای قراردادن اجسام شناور}\label{tab:permiss} +\noindent \begin{minipage}{\textwidth} +\medskip +\begin{center} +\begin{tabular}{@{}cp{8cm}@{}} +\lr{Spec}&اجازهٔ قرار دادن جسم \ldots\\ +\hline +\rule{0pt}{1.05em}\texttt{h} & +اینجا (\emph{here}) در همان جایی از متن که فرمان ظاهر شده است. برای اجسام کوچک مفید است. +\\[0.3ex] +\texttt{t} & در بالای +(\emph{top}) صفحه. +\\[0.3ex] +\texttt{b} & در پایین (\emph{bottom}) صفحه. +\\[0.3ex] +\texttt{p} & در یک صفحهٔ ویژه که تنها شامل اجسام شناور است. +\\[0.3ex] +\texttt{!} & بدون در نظر گرفتن بسیاری از پارامترهای داخلی\footnote{مانند ماکسیمم تعداد اشیاء شناور در یک صفحه} +\end{tabular} +\end{center} +\end{minipage} +\end{table} +% +یک جدول را میتوان به صورت زیر تولید کرد: + +\begin{code} +\verb|\begin{table}[!hbp]| +\end{code} + +\noindent مشخص کنندهٔ مکان \verb|[!hbp]| +به لاتک اجازه میدهد که جدول را در همان نقطه یا در پایین صفحه و یا در یک صفحه شامل تنها اشیاء شناور قرار دهد، و یا حتی در هر +کدام که ممکن است با وجود این که ممکن است حاصل کار زیبا نباشد. اگر هیچ مکانی معرفی نگردد مقدار پیشفرض آن + \verb|[tbp]| +است. + +لاتک هر جسم شناور را همان جایی که کاربر فرمان داده است قرار میدهد. اگر این کار در صفحهٔ جاری امکانپذیر نباشد، لاتک آن را به +صف نوع جسم شناور انتقال میدهد.% +\footnote{این صفها به شکل اولین ورودی --- اولین خروجی ظاهر میشوند!} +هرگاه یک صفحهٔ جدید شروع میشود، لاتک ابتدا بررسی میکند که آیا جسم شناوری در صف انتظار برای الصاق موجود است. اگر این کار امکانپذیر نباشد، با هر جسم در صف مربوط به خودش به ترتیبی رفتار میشود که انگار در همین نقطه از متن طبق راهنمایی نویسنده قرار است قرار داده شود (به جز +\lr{\texttt{h}} که دیگر مورد نظر قرار نمیگیرد +). هر جسم دیگر در متن به مکان مناسب در صف مربوطه انتقال مییابد. لاتک به طور منظم ترتیب اولیهٔ هر جسم در صف را مد نظر قرار میدهد. به همین دلیل است که اگر شکلی قابل ظاهر شدن در متن نباشد به انتهای نوشتار انتقال داده میشود و بنابراین تمام شکلهای بعد از آن نیز به انتهای نوشتار انتقال مییابند. بنابراین: + +\begin{quote} +اگر لاتک اجسام شناور را آن طور که شما میخواهید قرار نمیدهد اغلب به این دلیل است که تنها یکی از این اجسام را نمیتواند در هیچ نقطهای از متن قرار دهد. +\end{quote} + +وقتی که تنها یک مکان مناسب برای جسم وجود داشته باشد، این موضوع ممکن است مشکل\-ساز شود. اگر جسمی در مکان پیشنهاد شده قابل نمایش نباشد، +معمولاً یک مشکل از این نوع پدید میآید. به خصوص این که هیچگاه نباید از گزینهٔ +\lr{[h]} +استفاده کنید، این کار آنقدر مشکل\-ساز است که در نسخههای جدید لاتک این گزینه به طور خودکار به +\lr{[ht]} +تبدیل میشود. +%\bigskip +\noindent حال که مشکلات محیطهای جدول و شکل را کمی توضیح دادیم، چند موضوع دیگر نیز نیاز به توضیح بیشتر دارند. با فرمان + + +\begin{lscommand} +\ci{caption}\verb|{|\emph{caption text}\verb|}| +\end{lscommand} + +\noindent +میتوانید عنوان یک جسم شناور را تعریف کنید. یک شماره و یک عنوان شکل یا جدول به طور خودکار توسط لاتک قبل از این عنوان قرار میگیرد. + +دو فرمان + +\begin{lscommand} +\ci{listoffigures} \rl{و} \ci{listoftables} +\end{lscommand} + +\noindent +همانند فرمان +\verb|\tableofcontents| +لیست جدولها و شکلها را چاپ میکند. این لیستها عنوان کامل شییٔ مورد نظر را نمایش میدهند، بنابراین اگر عنوان این شکلها طولانی است، باید عنوان کوچکتری را به عنوان گزینهٔ اختیاری معرفی کنید. این کار به صورت زیر امکانپذیر است. + +\begin{code} +\verb|\caption[Short]{LLLLLoooooonnnnnggggg}| +\end{code} + +با فرمان +\ci{label} و \ci{ref} + میتوانید ارجاعی به این اجسام شناور داشته باشید. توجه داشته باشید که فرمان +\ci{label} +باید بعد از فرمان +\ci{caption} + قرار بگیرد زیرا باید شماره مربوطه با این فرمان دوم تولید شده باشد. + +مثال زیر مربعی را رسم میکند و آن را در متن قرار میدهد. میتوانید از این کار برای اختصاص یک تصویر با ابعاد مشخص در پایان کار استفاده کنید. + +\begin{code} +\begin{verbatim} +Figure~\ref{white} is an example of Pop-Art. +\begin{figure}[!hbtp] +\makebox[\textwidth]{\framebox[5cm]{\rule{0pt}{5cm}}} +\caption{Five by Five in Centimetres.\label{white}}[A +\end{figure} +\end{verbatim} +\end{code} + + +\noindent +در مثال بالا، لاتک به سختی (!) سعی میکند تا شکل را دقیقاً در همین نقطه از متن قرار دهد.% +\footnote{فرض کنید صف مربوط به شکلها خالی باشد.} +اگر این کار امکانپذیر نباشد سعی میکند شکل را در انتهای صفحه قرار دهد. اگر هیچکدام از این کارها امکانپذیر نباشد، لاتک بررسی میکند که آیا میتواند شکل را در یک صفحهٔ خالی به همراه مثلاً یک جدول قرار دهد. اگر محتویات لازم برای پرکردن یک صفحهٔ شناور موجود نباشد، لاتک یک صفحهٔ جدید تولید میکند و یکبار دیگر همین مراحل را از سر میگیرد. + +تحت شرایط ویژهای اگر لازم باشد از فرمان + +\begin{lscommand} +\ci{clearpage} \rl{یا} \ci{cleardoublepage} +\end{lscommand} + +\noindent +استفاده کنید. این فرمان لاتک را مجبور میکند تا تمام اشیاء باقیمانده در صف را قرار دهد و یک صفحهٔ جدید تولید کند. فرمان +\ci{cleardoublepage} +به صفحهٔ سمت راست بعدی میرود. + +بعداً در این مقدمه یاد خواهید گرفت چگونه شکلهای پستاسکریپت را در متن خود قرار دهید. +\section{حفاظت از اجسام شکستنی} +متنی که توسط فرمانهای +\ci{caption} و \ci{section} +در متن ظاهر میشود ممکن است در نوشتار چندین بار تکرار شود (به عنوان مثال در فهرست مطالب یا متن نوشتار). بعضی از فرمانها هنگام استفاده در درون فرمانهایی مانند +\ci{section} +ممکن است شکسته شوند و پردازش فایل میسر نباشد. این فرمانها را +\wi{فرمانهای شکستنی} +مینامند، به عنوان مثال +\ci{footnote} و \ci{phantom}. +این فرمانهای شکستنی احتیاج به حفاظت دارند (ما چطور!). میتوانید آنها را با فرمان +\ci{protect} +در جلوی آنها مورد حفاظت قرار دهیم. + +\ci{protect} +تنها بر فرمانی که بعد از آن ظاهر میشود اثر دارد، و حتی بر پارامترهای آن تاثیری ندارد. در بیشتر مواقع یک فرمان اضافی +\ci{protect} +هیچ ضرری ندارد. + +\begin{code} +\verb|\section{I am considerate|\\ +\verb| \protect\footnote{and protect my footnotes}}| +\end{code} + +% Local Variables: +% TeX-master: "lshort2e" +% mode: latex +% mode: flyspell +% End: |