From a105d37fbd235ef9e97bc383de505739fcde2712 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Tue, 19 May 2009 18:35:54 +0000 Subject: move lshort-russian out of texmf-doc git-svn-id: svn://tug.org/texlive/trunk@13247 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/latex/lshort-russian/CHANGES | 355 +++++ .../texmf-dist/doc/latex/lshort-russian/MANIFEST | 24 + .../texmf-dist/doc/latex/lshort-russian/Makefile | 64 + Master/texmf-dist/doc/latex/lshort-russian/README | 76 + .../texmf-dist/doc/latex/lshort-russian/fixdate.pl | 6 + .../texmf-dist/doc/latex/lshort-russian/lshort.dvi | Bin 0 -> 1097504 bytes .../doc/latex/lshort-russian/lshortru.pdf | Bin 0 -> 1966469 bytes .../doc/latex/lshort-russian/src/biblio.tex | 98 ++ .../doc/latex/lshort-russian/src/contrib.tex | 140 ++ .../doc/latex/lshort-russian/src/custom.tex | 862 +++++++++++ .../doc/latex/lshort-russian/src/fancyhea.sty | 129 ++ .../doc/latex/lshort-russian/src/fancyvrb.cfg | 14 + .../doc/latex/lshort-russian/src/fancyvrb.sty | 1426 +++++++++++++++++ .../doc/latex/lshort-russian/src/graphic.tex | 654 ++++++++ .../doc/latex/lshort-russian/src/hbaw.sty | 154 ++ .../doc/latex/lshort-russian/src/hcolor.sty | 157 ++ .../doc/latex/lshort-russian/src/lshort.out | 119 ++ .../doc/latex/lshort-russian/src/lshort.sty | 273 ++++ .../doc/latex/lshort-russian/src/lshort.tex | 123 ++ .../doc/latex/lshort-russian/src/lssym.tex | 343 ++++ .../doc/latex/lshort-russian/src/math.tex | 777 ++++++++++ .../doc/latex/lshort-russian/src/mylayout.sty | 373 +++++ .../doc/latex/lshort-russian/src/overview.tex | 113 ++ .../doc/latex/lshort-russian/src/spec.tex | 1022 ++++++++++++ .../doc/latex/lshort-russian/src/t-fvrbex.tex | 213 +++ .../doc/latex/lshort-russian/src/things.tex | 809 ++++++++++ .../doc/latex/lshort-russian/src/title.tex | 75 + .../doc/latex/lshort-russian/src/typeset.tex | 1635 ++++++++++++++++++++ .../texmf-doc/doc/russian/lshort-russian/CHANGES | 355 ----- .../texmf-doc/doc/russian/lshort-russian/MANIFEST | 24 - .../texmf-doc/doc/russian/lshort-russian/Makefile | 64 - Master/texmf-doc/doc/russian/lshort-russian/README | 76 - .../doc/russian/lshort-russian/fixdate.pl | 6 - .../doc/russian/lshort-russian/lshort.dvi | Bin 1097504 -> 0 bytes .../doc/russian/lshort-russian/lshortru.pdf | Bin 1966469 -> 0 bytes .../doc/russian/lshort-russian/src/biblio.tex | 98 -- .../doc/russian/lshort-russian/src/contrib.tex | 140 -- .../doc/russian/lshort-russian/src/custom.tex | 862 ----------- .../doc/russian/lshort-russian/src/fancyhea.sty | 129 -- .../doc/russian/lshort-russian/src/fancyvrb.cfg | 14 - .../doc/russian/lshort-russian/src/fancyvrb.sty | 1426 ----------------- .../doc/russian/lshort-russian/src/graphic.tex | 654 -------- .../doc/russian/lshort-russian/src/hbaw.sty | 154 -- .../doc/russian/lshort-russian/src/hcolor.sty | 157 -- .../doc/russian/lshort-russian/src/lshort.out | 119 -- .../doc/russian/lshort-russian/src/lshort.sty | 273 ---- .../doc/russian/lshort-russian/src/lshort.tex | 123 -- .../doc/russian/lshort-russian/src/lssym.tex | 343 ---- .../doc/russian/lshort-russian/src/math.tex | 777 ---------- .../doc/russian/lshort-russian/src/mylayout.sty | 373 ----- .../doc/russian/lshort-russian/src/overview.tex | 113 -- .../doc/russian/lshort-russian/src/spec.tex | 1022 ------------ .../doc/russian/lshort-russian/src/t-fvrbex.tex | 213 --- .../doc/russian/lshort-russian/src/things.tex | 809 ---------- .../doc/russian/lshort-russian/src/title.tex | 75 - .../doc/russian/lshort-russian/src/typeset.tex | 1635 -------------------- Master/tlpkg/tlpsrc/lshort-russian.tlpsrc | 2 +- 57 files changed, 10035 insertions(+), 10035 deletions(-) create mode 100644 Master/texmf-dist/doc/latex/lshort-russian/CHANGES create mode 100644 Master/texmf-dist/doc/latex/lshort-russian/MANIFEST create mode 100644 Master/texmf-dist/doc/latex/lshort-russian/Makefile create mode 100644 Master/texmf-dist/doc/latex/lshort-russian/README create mode 100644 Master/texmf-dist/doc/latex/lshort-russian/fixdate.pl create mode 100644 Master/texmf-dist/doc/latex/lshort-russian/lshort.dvi create mode 100644 Master/texmf-dist/doc/latex/lshort-russian/lshortru.pdf create mode 100644 Master/texmf-dist/doc/latex/lshort-russian/src/biblio.tex create mode 100644 Master/texmf-dist/doc/latex/lshort-russian/src/contrib.tex create mode 100644 Master/texmf-dist/doc/latex/lshort-russian/src/custom.tex create mode 100644 Master/texmf-dist/doc/latex/lshort-russian/src/fancyhea.sty create mode 100644 Master/texmf-dist/doc/latex/lshort-russian/src/fancyvrb.cfg create mode 100644 Master/texmf-dist/doc/latex/lshort-russian/src/fancyvrb.sty create mode 100644 Master/texmf-dist/doc/latex/lshort-russian/src/graphic.tex create mode 100644 Master/texmf-dist/doc/latex/lshort-russian/src/hbaw.sty create mode 100644 Master/texmf-dist/doc/latex/lshort-russian/src/hcolor.sty create mode 100644 Master/texmf-dist/doc/latex/lshort-russian/src/lshort.out create mode 100644 Master/texmf-dist/doc/latex/lshort-russian/src/lshort.sty create mode 100644 Master/texmf-dist/doc/latex/lshort-russian/src/lshort.tex create mode 100644 Master/texmf-dist/doc/latex/lshort-russian/src/lssym.tex create mode 100644 Master/texmf-dist/doc/latex/lshort-russian/src/math.tex create mode 100644 Master/texmf-dist/doc/latex/lshort-russian/src/mylayout.sty create mode 100644 Master/texmf-dist/doc/latex/lshort-russian/src/overview.tex create mode 100644 Master/texmf-dist/doc/latex/lshort-russian/src/spec.tex create mode 100644 Master/texmf-dist/doc/latex/lshort-russian/src/t-fvrbex.tex create mode 100644 Master/texmf-dist/doc/latex/lshort-russian/src/things.tex create mode 100644 Master/texmf-dist/doc/latex/lshort-russian/src/title.tex create mode 100644 Master/texmf-dist/doc/latex/lshort-russian/src/typeset.tex delete mode 100644 Master/texmf-doc/doc/russian/lshort-russian/CHANGES delete mode 100644 Master/texmf-doc/doc/russian/lshort-russian/MANIFEST delete mode 100644 Master/texmf-doc/doc/russian/lshort-russian/Makefile delete mode 100644 Master/texmf-doc/doc/russian/lshort-russian/README delete mode 100644 Master/texmf-doc/doc/russian/lshort-russian/fixdate.pl delete mode 100644 Master/texmf-doc/doc/russian/lshort-russian/lshort.dvi delete mode 100644 Master/texmf-doc/doc/russian/lshort-russian/lshortru.pdf delete mode 100644 Master/texmf-doc/doc/russian/lshort-russian/src/biblio.tex delete mode 100644 Master/texmf-doc/doc/russian/lshort-russian/src/contrib.tex delete mode 100644 Master/texmf-doc/doc/russian/lshort-russian/src/custom.tex delete mode 100644 Master/texmf-doc/doc/russian/lshort-russian/src/fancyhea.sty delete mode 100644 Master/texmf-doc/doc/russian/lshort-russian/src/fancyvrb.cfg delete mode 100644 Master/texmf-doc/doc/russian/lshort-russian/src/fancyvrb.sty delete mode 100644 Master/texmf-doc/doc/russian/lshort-russian/src/graphic.tex delete mode 100644 Master/texmf-doc/doc/russian/lshort-russian/src/hbaw.sty delete mode 100644 Master/texmf-doc/doc/russian/lshort-russian/src/hcolor.sty delete mode 100644 Master/texmf-doc/doc/russian/lshort-russian/src/lshort.out delete mode 100644 Master/texmf-doc/doc/russian/lshort-russian/src/lshort.sty delete mode 100644 Master/texmf-doc/doc/russian/lshort-russian/src/lshort.tex delete mode 100644 Master/texmf-doc/doc/russian/lshort-russian/src/lssym.tex delete mode 100644 Master/texmf-doc/doc/russian/lshort-russian/src/math.tex delete mode 100644 Master/texmf-doc/doc/russian/lshort-russian/src/mylayout.sty delete mode 100644 Master/texmf-doc/doc/russian/lshort-russian/src/overview.tex delete mode 100644 Master/texmf-doc/doc/russian/lshort-russian/src/spec.tex delete mode 100644 Master/texmf-doc/doc/russian/lshort-russian/src/t-fvrbex.tex delete mode 100644 Master/texmf-doc/doc/russian/lshort-russian/src/things.tex delete mode 100644 Master/texmf-doc/doc/russian/lshort-russian/src/title.tex delete mode 100644 Master/texmf-doc/doc/russian/lshort-russian/src/typeset.tex (limited to 'Master') diff --git a/Master/texmf-dist/doc/latex/lshort-russian/CHANGES b/Master/texmf-dist/doc/latex/lshort-russian/CHANGES new file mode 100644 index 00000000000..25bd10af217 --- /dev/null +++ b/Master/texmf-dist/doc/latex/lshort-russian/CHANGES @@ -0,0 +1,355 @@ +4.12 +---- +* fixed order of hebrwe letters to be 'alphabetic' +* fixed colons in table 3.7 (Rightarrow was captured by marovsym) +* added cyrguide bibliogrphay entry back in ... +* table head in eurotable translated to english +* remove kees.fig from Makefile +* some wording fixes to the cirillic section. +* added pdfstringdefDisableCommands to the preamble to fix some broken bookmarks -- Maksym Polyakov +* reworded the paragraph on the positionargument of the newsavebox command. + +4.11 +--- +* added graphic.tex file to source distro + +4.10 +---- +* Integrated EuroSymbol table from the french translation by Daniel Flipo +* Created new chapter: graphics with description on the picture environment by Urs Oswald. +* Moved Xy pics to the graphics chapter +* compile with cm-super fonts for now +* updates to the hyperref syntax table -- Maksym Polyakov +* rewritten sectons on fontencoding, inputencoding -- Maksym Polyakov +* section on cyrillic support -- Maksym Polyakov +* turned CTAN references into URLs as suggested by Maksym Polyakov +* minor updates to pdfscreen section as suggested by Maksym Polyakov +* other little spellers +* get rid of color in ps output ... we do not need it ... tobi +* added note on p{} to tabular section +* minor fixes to pdf section --- Matthias Dreier +* added note on changeing baselineskip instead of using linespread. +* added example for using the index command. + +4.0 +--- +* many minor fixes and edits in pagebreaks +* added note on cm-super +* punctuation, wording, big patch from Baron Schwartz +* Translated and integreated the pdfTeX description from the + franch version of lshort. +* Added descrion of the .fd files +* \part is available in article too +* small backports from the french translation +* drop atop and choose. Replace by binom +* put notes on Float Placing Permissions where they belong +* added eqref +* mention landscape option of default document classes +* mathcal update +* changed section headings in first sample +* drop latex structure figure from the intro as it is way to complex for a beginner to understand. +* drop LaTeX2e story ... who care these days +* added note on swiss use of >>guillemets<< +* added note on eurosymb +* added note on dvipdf +* added article on Korean Support +* added Xy Pic intro +* more symbols aded -- alex mai + +3.21 +---- +From Tobi +* Added some notes on problems when running latex to section 1.5 +* added oddsidemargin to layout graphics +* added note on the AE package +* added extension and font indexes +* mention optional label in bibitem +* rephrase hyphenation explanation +* added \aa to index +* rearranged PageLayout section +From Alexander Mai +* mini rewrites for math explanations +* improved makefile +* improved table environment spec + +From Daniel Flipo +* section on french language support + +From Maksym Polyakov +* parbox is not an evironment +* line 248 rephrasing + +3.20 +---- +From Alexander Mai +* tabular presentation of input encodings +* description of a typical commandline latex session +* \X{\lvert}&\X{\rvert}&\X{\lVert}&\X{\rVert} +* bigskip smallskip description +* new ctan reference +* cdot for the math section + +From Tobi +* added lshort.ist to insert letters between index sections +* added comment on plus and minus in setlength +* degree symbol +* moved fragile commands section to chapter 2 +* no more bad boxes ... neither over nor underfull +* no more oscilating text + +From Many +* spelling fixes + +3.19 +---- +changed wording on \apendix \frontmatter \backmatter ... +fixed pagebreaks in math chapter + +3.18 +---- +compile fixed for environments where TEXINPUTS is set +replace the environemnt command with lscommand + it seems command is too common .. (Alex Mai) + +3.17 +---- +Added more info on the inputenc package. +Added Section on German Language support. Sections for other languages are welcome. +Better explanation of the \section[xxx]{yyy} syntax +Changed wording for Cross Ref +Changed wording on Quotation Marks +added note on fbox. +added \underline command +\cleardoublepage goes to a righthand page +added \cline +added section on package installation contributed by Joseph Hilferty + +3.16 +---- +Fixed upload procedure +Some spelling fixes +Updated old URLs + +3.15 +---- +Integrated a number of spelling and logic fixes by BjЖrn Hvittfeldt + +3.14 +---- +Even better Makefile +Update TODO + +3.13 +---- +Better Makefile +Added description of Today, TeX, LaTeX, LaTeXe +Added description of file extensions you will find when working with latex +Some CTAN references fixed +Better explanation for hyphenation command +Added paragraph on typesetting tildes ... +Added example with multicol and borders (|c|) +Added Hamster disadvantage ... +How todo a tilde + +3.12 +---- +Replaced first section (TeX) as suggested by Michael John Downes in order to +be more in sync with the real events ... + +3.11 +---- +better explanation for sloppy/fussy +\sin and frinds in index +pointer to whitespace after non argument commands information in custom.tex + +3.10 +---- +removed some exess files from tar files + + +3.9 +--- +* included a number of minor fixes from Alexander Mai ... + +3.8 +--- +* Added sections on \phantom and \protect commands, based + on a contribution from Alexander Mai +* Added section on lines in array environments ... thanks Alex +* rephrased newcommand section ... again thnaks to Alex + +3.7 +--- +* re-release to for some even spelling :-) + +3.6 +--- +* released on CTAN ... + +3.5 +--- +* even smaller factual errors corrected ... + +3.4 +--- +* minor spelling fixes + +3.3 +--- +* lots of small patches from Prof Ripley ... +* fixed compile problem on first run ... +* properly packaged the whole thing .... + +3.2 +--- + +* added better explanation of the difference between newline and linebreak +* added about 1000 spell and detail fixed contributed by Hanspeter Schmid +* added new section: The Structure of Text and Language contributed by + Hanspeter Schmid +* added more verbose explanation about babel and hyphenation + + +3.1 +--- +* Var spell and other fixes. Especially the ftp.shsu.edu reference + has been fixed. + +3.0 +--- +* Restructuring of the Chapter 4 for didactical reasons ... +* moved some bits to the new Chapter 5. +* added 15 pages of new material ... + + +2.3 +--- +* it's slides and not slide ... p8 +* pointer to foiltex added ... p8 + +2.2 non beta 13/10/97 +--------------------- +* made the thing compile with pdftex and hyperref + +David Frey: +* Sensible copyright notice +* some mathematical error in math mode +* correct Murphy ... + +Cyril Goutte: +* typos + +Martin Maechler: +* an Inch is exactly 25.4 mm! + +2.2 7/11/95 +----------- +Christian Kern: + * Spelling, and some suggestions for new stuff to inlcude + +Young U. Ryu: + * Spelling and some errors in latex + +Cyril Goutte: + * Some additions for math + +Brian Ripley: + * Spelling, LateX 95/12/1 compatibility + * Some more real english .... :-) + * AMS-LaTeX now prefers eucal to euscript, so he has altered both + lssym.tex and lshort2e.sty. + * He has corrected some examples in chapter 3 which would be regarded + as bad practice in mathematical typesetting. + * He has added a section on bold symbols, and conditionals for amsbsy. + + +2.1 17/6/1995 +------------- +Rasmus Borup Hansen: + * tonns of spelling mistakes and some suggestions for more logic ... + +Josef Tkadlec: + * some spellings + * all new hopefully even more usefull maths tables ... + +2.0 5/6/1995 +----------- +Mike Ressler: + * Fixed Loads of spelling Mistakes. +1.9.9: 16/5/95 +--------------- +Tobi: + * General Makeover + + * Added Preface. + + * Added example to math.tex + + * Introduced intro environment. I am going to add a short describtion about + what the user can expect, to each chapter. + + * Page Layout. spec.tex now contains a copy of the Geometry page layout + parameters page. Provided by the layout package from the tools bundle. + + * newcommand, newenvironament and newtheorem are described. + + * new dynamic document title + + * using fancy headings for header. + +1.2: 8/2/95 +------------ +Tobi: +Revoved all | | in an attempt to make +the document latex2html compatible ... failed :-( + +Elliot: +* Odd spelling mistakes + +David Jones: +* "Whitespace Description" ... + +Byron: +* Many Spelling fixes Some requests for examples + +Partl: +* Fixed Irene Hyna addr + +Martien: +* "Character" spelling + +Claus: +* ref to indexing without backslash ... + + +1.1: 17/11/94 +------------------ +Eric: +* Spelling. +* Removed numerical from section 1.3.3 (suggesting \3 as a valid command) +* \quad as MATH spacing +* No Pagenumber on first Page + +Mike: +* Fixed @{} Discussion (thanks) + +David: +* Letter case in \hyphenation ignored +* `|-|.'' +* shelf\mbox{}ful because TeX can `forget' {} after hyphenation attempt +* pointer to dcolumn package +* standard calsses assume [tbp] ! +* Pointer to amstex and exscale package added to \big description +* Thanks for symbols.tex +* |*| and | | as forbidden delimiters with verb +* refrence to amsfonts removed +* LaTeX \vspace works within a paragraph ... (-> normally) +* Pointer to graphguide.tex + +Tobi: +* `horizontal' and Page Style Indexentries +* Odd Spell Fix +* pagestyle index entries +* Commented out display style example, to keep total size down to 58 Pages +* Fixed eufrak problem thanks David and Martien + diff --git a/Master/texmf-dist/doc/latex/lshort-russian/MANIFEST b/Master/texmf-dist/doc/latex/lshort-russian/MANIFEST new file mode 100644 index 00000000000..22f673c1616 --- /dev/null +++ b/Master/texmf-dist/doc/latex/lshort-russian/MANIFEST @@ -0,0 +1,24 @@ +00README +CHANGES +TODO +MANIFEST +Makefile +README +TRANSLATIONS +fixdate.pl +src/biblio.tex +src/contrib.tex +src/custom.tex +src/fancyhea.sty +src/lshort.sty +src/lshort.tex +src/lssym.tex +src/graphic.tex +src/math.tex +src/mylayout.sty +src/overview.tex +src/spec.tex +src/things.tex +src/title.tex +src/typeset.tex +src/lshort.ist diff --git a/Master/texmf-dist/doc/latex/lshort-russian/Makefile b/Master/texmf-dist/doc/latex/lshort-russian/Makefile new file mode 100644 index 00000000000..a3d66fe1031 --- /dev/null +++ b/Master/texmf-dist/doc/latex/lshort-russian/Makefile @@ -0,0 +1,64 @@ +# pstops "4:0L@0.8(22.5cm,-0.6cm)+1L@0.8(22.5cm,13.3cm),2L@0.8(22.5cm,-0.6cm)+3L@0.8(22.5cm,13.3cm)" \ +SHELL = /bin/sh +VERS = 4.12 + +OTHER = README CHANGES +FILES = src/biblio.tex src/math.tex src/things.tex src/contrib.tex src/lshort.sty src/mylayout.sty src/title.tex \ + src/custom.tex src/lshort.tex src/overview.tex src/typeset.tex src/fancyhea.sty src/lssym.tex src/spec.tex src/graphic.tex + +# Define some variables +LATEX=latex +PDFLATEX=pdflatex +MAKEINDEX=rumakeindex + + +# The default targets +all: lshort.dvi lshort.ps lshort-book.ps lshort.pdf + + +lshort.dvi: $(FILES) + -mkdir texbuild + (TEXINPUTS=.:`pwd`/src:${TEXINPUTS:-:} && export TEXINPUTS && cd texbuild && \ + $(LATEX) lshort && $(LATEX) lshort && (cd ../src; $(MAKEINDEX) lshort ) && \ + $(LATEX) lshort && $(LATEX) lshort && mv lshort.dvi ..) + +lshort.ps: lshort.dvi + (T1FONTS=.:`pwd`/eurofont: && export T1FONTS && dvips -Pcmz -olshort.ps lshort.dvi ) + rm texbuild/* + +lshort-book.ps: lshort.ps + psbook lshort.ps out.ps + pstops "4:0L@0.8(22.76cm,-0.6cm)+1L@0.8(22.76cm,13.45cm),3R@0.8(-1.38cm,16.25cm)+2R@0.8(-1.38cm,30.3cm)" \ + out.ps lshort-book.ps + rm out.ps + +lshort.pdf: $(FILES) + -mkdir pdfbuild + (T1FONTS=.:`pwd`/eurofont: && export T1FONTS && TEXINPUTS=.:`pwd`/src:${TEXINPUTS:-:}&&export TEXINPUTS&& cd pdfbuild&& \ + $(PDFLATEX) lshort&& $(PDFLATEX) lshort&& \ + $(MAKEINDEX) -s ../src/lshort.ist lshort&&$(PDFLATEX) lshort&& \ + (thumbpdf --resolution 10 lshort.pdf && $(PDFLATEX) lshort)&& \ + mv lshort.pdf .. ) + rm pdfbuild/* + +src/title.tex: Makefile + perl fixdate.pl $(VERS) < src/title.tex > src/title.tex2 && mv src/title.tex2 src/title.tex + +quick: $(FILES) + (TEXINPUTS=`pwd`/src:$(TEXINPUTS)&& export TEXINPUTS&& cd texbuild&& \ + $(LATEX) lshort&& mv lshort.dvi ..) + + +tar: src/title.tex + ln -s . lshort-$(VERS) + gtar -zcvf lshort-$(VERS).src.tar.gz `awk -e '{print "lshort-$(VERS)/"$$1}' MANIFEST` + rm lshort-$(VERS) + +dist: tar + cp lshort-$(VERS).src.tar.gz CHANGES README lshort-book.ps lshort.dvi lshort.pdf lshort.ps $(HOME)/public_html/lshort/ + lftp -e 'cd incoming;mkdir lshort-$(VERS);cd lshort-$(VERS);mput lshort-$(VERS).src.tar.gz CHANGES README lshort-book.ps lshort.dvi lshort.pdf lshort.ps;quit' ftp.tex.ac.uk + (gecho "Robin,\n\nI have uploaded lshort-$(VERS) to ftp.tex.ac.uk:/incoming/lshort-$(VERS).\n\nIf you think it is appropriate, announce it please.\n\nThanks and cheers\ntobi\n\n\n--";fortune -s shakes goethe) | mailx -s "Lshort Upload (note the quote)" ctan@dante.de + (gecho "Folks,\n\nI have created lshort-$(VERS). It is available from http://people.ee.ethz.ch/~oetiker/lshort.\n\nCheers tobi\n\n\n--";fortune -s shakes goethe) | mailx -s "Lshort $(VERS)" `cat TRLIST` + +clean: + rm -rf texbuild pdfbuild diff --git a/Master/texmf-dist/doc/latex/lshort-russian/README b/Master/texmf-dist/doc/latex/lshort-russian/README new file mode 100644 index 00000000000..06bc77e4dfd --- /dev/null +++ b/Master/texmf-dist/doc/latex/lshort-russian/README @@ -0,0 +1,76 @@ + The not so Short Introduction to LaTeX +------------------------------------------------------------------------ + by Tobias Oetiker + + If you want to learn how to write your documents with LaTeX, + this introduction is for you. It is not about setting up a + LaTeX system. While it is not as comprehensive as Lamport's book, + it should be sufficient in most cases. + + To print the document, there are several possibilities: + + a) Copy one of the ps files to your printer: + + lshort.ps + lshort-book.ps A4/booklet/duplex + + NOTE for Abt IIIB: you can print the booklet version to + the VPP printer with + + vpp -dest=etzj61 lshort-book.ps + or + vpp -dest=etzd96 lshort-book.ps + + b) Print the lshort2e.dvi file with a dvi-driver. (You need to + have the AMS math fonts installed your system. If you don't, + your dvi-driver will complain.) + + c) Rebuild the whole document from scratch by LaTeXing + lshort2e.tex. (If you don't have the AMS classes installed, the + relevant parts of the document will be left out, but it + will format without problem. After latexing the document twice, + you should use makeindex to generate a new index file. + + (to get the adobe euro symbol right you need to install the + ftp://ftp.adobe.com/pub/adobe/type/win/all/eurofont.exe as described in + http://www.ctan.org/tex-archive/fonts/euro/latex/europs/README.europs) + + The preformatted versions of the document are set for double sided + printing on A4 paper. If you want a single sided version, you need to + replace "twoside" by "oneside" in the parameters list of the + \documentclass command in lshort2e.tex. To produce a small booklet (A5) + you can use the pre generated ps file of you can use your dvi-driver to + shrink the output and then use pstops to paste the resulting pages + together in the right order. + + To produce a A5 Booklet from source, I recommend the following procedure, + on the twoside lshort2e.dvi: + + *) dvips -x800 -P?? -olshort.ps lshort.dvi + (?? is the name of the printer you want to print the booklet) + + *) psbook lshort2e.ps out.ps + + *) pstops "4:0L(27.8cm,-1.5cm)+1L(27.8cm,13.3cm)" out.ps p1.ps + (p1.ps now contains the front pages) + + *) pstops "4:2L(27.8cm,-1.5cm)+3L(27.8cm,13.3cm)" out.ps p2.ps + (p2.ps contains the back pages) + + If have a doublex(shoprtbind) Printer: + + *) pstops "4:0L(27.8cm,-1.5cm)+1L(27.8cm,13.3cm),2L(27.8cm,-1.5cm)+3L(27.8cm,13.3cm)" out.ps lshort-book.ps + + If you have postscript versions of the latex Fonts you can use + (make sure your printer has enough memmory for this) + + *) dvips -Pcmz -olshort.ps lshort.dvi + *) psbook lshort.ps out.ps + *) pstops "4:0L@0.8(22.76cm,-0.6cm)+1L@0.8(22.76cm,13.45cm),3R@0.8(-1.38cm,16.25cm)+2R@0.8(-1.38cm,30.3cm)" out.ps lshort-book.ps + + + Cheers + Tobias Oetiker oetiker@ee.ethz.ch + +PS: If you have any comment, or just find the book helpful, + please let me know. diff --git a/Master/texmf-dist/doc/latex/lshort-russian/fixdate.pl b/Master/texmf-dist/doc/latex/lshort-russian/fixdate.pl new file mode 100644 index 00000000000..eec297f9e71 --- /dev/null +++ b/Master/texmf-dist/doc/latex/lshort-russian/fixdate.pl @@ -0,0 +1,6 @@ +chomp ($d = `date +"%d %B, %Y"`); +$v = pop @ARGV; +while (<>) { + s/^Version.+/Version~$v, $d/; + print; +} diff --git a/Master/texmf-dist/doc/latex/lshort-russian/lshort.dvi b/Master/texmf-dist/doc/latex/lshort-russian/lshort.dvi new file mode 100644 index 00000000000..907d6146aee Binary files /dev/null and b/Master/texmf-dist/doc/latex/lshort-russian/lshort.dvi differ diff --git a/Master/texmf-dist/doc/latex/lshort-russian/lshortru.pdf b/Master/texmf-dist/doc/latex/lshort-russian/lshortru.pdf new file mode 100644 index 00000000000..16376a2ec8a Binary files /dev/null and b/Master/texmf-dist/doc/latex/lshort-russian/lshortru.pdf differ diff --git a/Master/texmf-dist/doc/latex/lshort-russian/src/biblio.tex b/Master/texmf-dist/doc/latex/lshort-russian/src/biblio.tex new file mode 100644 index 00000000000..903d5d30f8d --- /dev/null +++ b/Master/texmf-dist/doc/latex/lshort-russian/src/biblio.tex @@ -0,0 +1,98 @@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Contents: The Bibliography +% File: biblio.tex (lshort2e.tex) +% $Id: biblio.tex,v 1.1.1.1 2002/02/26 10:04:20 oetiker Exp $ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\begin{thebibliography}{99} +\addcontentsline{toc}{chapter}{\bibname} +\bibitem{manual} Leslie Lamport. \newblock \emph{{\LaTeX:} A Document + Preparation System}. \newblock Addison-Wesley, Reading, + Massachusetts, второе издание, 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} Michel Goossens, Frank Mittelbach and Alexander + Samarin. \newblock \emph{The {\LaTeX} Companion}. \newblock + Addison-Wesley, Reading, Massachusetts, 1994, + ISBN~0-201-54199-8.\footnote{Издан русский перевод: М.Гуссенс, + Ф.Миттельбах, А.Самарин. \emph{Путеводитель по пакету \LaTeX{} и его + расширению \LaTeXe{}}. Мир, 1999, ISBN~5-03-003325-4.} + +\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.\footnote{Издан русский перевод: М.Гуссенс, + С.Ратц и Ф.Миттельбах. \emph{Путеводитель по пакету \LaTeX{} и его + графическим расширениям}. Мир, 2002, ISBN~5-03-003388-2.} + +\bibitem{local} Каждая установка \LaTeX{} должна содержать так + называемый \emph{\LaTeX{} Local Guide}, объясняющий особенности + локальной системы. Он должен находиться в файле, называющемся + \texttt{local.tex}. К сожалению, некоторые ленивые администраторы + такого документа не предоставляют. В таком случае просите о помощи + местного \LaTeX{} гуру. + +\bibitem{usrguide} \LaTeX3 Project Team. \newblock \emph{\LaTeXe~for + authors}. \newblock Включен в поставку \LaTeXe{} как + \texttt{usrguide.tex}. + +\bibitem{clsguide} \LaTeX3 Project Team. \newblock \emph{\LaTeXe~for + Class and Package writers}. \newblock Включен в поставку \LaTeXe{} + как \texttt{clsguide.tex}. + +\bibitem{fntguide} \LaTeX3 Project Team. \newblock \emph{\LaTeXe~Font + selection}. \newblock Включен в поставку \LaTeXe{} как + \texttt{fntguide.tex}. + +\bibitem{graphics} D.~P.~Carlisle. \newblock \emph{Packages in the + `graphics' bundle}. \newblock Входит в состав комплекта `graphics' как + \texttt{grfguide.tex}, доступен оттуда же, откуда ваша поставка \LaTeX{}. + +\bibitem{verbatim} Rainer~Sch\"opf, Bernd~Raichle, Chris~Rowley. +\newblock \emph{A New Implementation of \LaTeX's verbatim + Environments}. + \newblock Входит в состав комплекта `tools' как + \texttt{verbatim.dtx}, доступен оттуда же, откуда ваша поставка \LaTeX{}. + +\bibitem{cyrguide} Vladimir Volovich, Werner Lemberg and \LaTeX3 Project Team. + \newblock \emph{Cyrillic languages support in \LaTeX}. \newblock Включен в + поставку \LaTeXe{} как \texttt{cyrguide.tex}. + +\bibitem{catalogue} Graham~Williams. \newblock \emph{The TeX + Catalogue} полный список множества пакетов, имеющих отношение к + \TeX{} и \LaTeX{} \newblock Доступен в Интернет по адресу + \texttt{\CTAN|help/Catalogue/catalogue.html|} + +\bibitem{eps} Keith~Reckdahl. \newblock \emph{Using EPS Graphics in + \LaTeXe{} Documents} объясняет все, что вы когда бы то ни было + хотели знать про EPS файлы и их использование в документах \LaTeX{}. + \newblock Доступен в Интернет по адресу + \texttt{\CTAN|info/epslatex.ps|} + +\bibitem{xy-pic} Kristoffer H. Rose. + \newblock \emph{\Xy-pic User's Guide}. \newblock + Доступен в Интеpнет с CTAN вместе с дистpибутивом \Xy-pic. + +\bibitem{metapost} John D. Hobby. + \newblock \emph{A User's Manual for MetaPost}. \newblock + Доступен по адресу \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{}}, содержит набор исходных текстов на + Java для генерации произвольных окружностей и эллипсов из окружения \texttt{picture}, + и \emph{MetaPost - A Tutorial}. + \newblock Оба доступны по адресу \url{http://www.ursoswald.ch} + +\end{thebibliography} + + +%%% Local Variables: +%%% mode: latex +%%% TeX-master: "lshort2e" +%%% End: diff --git a/Master/texmf-dist/doc/latex/lshort-russian/src/contrib.tex b/Master/texmf-dist/doc/latex/lshort-russian/src/contrib.tex new file mode 100644 index 00000000000..5264159f1d3 --- /dev/null +++ b/Master/texmf-dist/doc/latex/lshort-russian/src/contrib.tex @@ -0,0 +1,140 @@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Contents: Who contributed to this Document +% $Id: contrib.tex,v 1.1.1.1 2002/02/26 10:04:20 oetiker Exp $ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\chapter{Благодарности} + +\noindent Многое из включенного в это введение материала исходит из +австрийского введения в \LaTeX\ 2.09, написанного на немецком: + +\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} + +Если вы интересуетесь немецким вариантом документа, вы можете найти +его версию, которую J\"org Knappen обновил для \LaTeXe{}, по адресу\\ +\texttt{\CTAN|info/lshort/german|}. + +\newpage +\noindent В процессе подготовки этого документа я просил о рецензиях в +\texttt{comp.text.tex}. Я получил множество откликов. Читатели помогли +улучшить эту книжку исправлениями, предложениями и материалами. Они +старались помочь мне довести документ до его нынешнего состояния. Я +хотел бы искренне их всех поблагодарить. Естественно, все ошибки, +которые вы найдете в этой книжке,~--- мои. Случайно попавшее сюда +правильно написанное слово наверняка обязано своим появлением репликой +от одного из нижеперечисленных. + + +{\flushleft\small\sloppy +Rosemary~Bailey, %r.a.bailey@qmw.ac.uk 0.2 +Marc~Bevand, % +Friedemann~Brauer, %fbrauer@is.dal.ca 3.4 +Jan~Busa, % +Markus~Br\"uhwiler,\\ % +Pietro~Braione, % +David~Carlisle, %GONE carlisle@cs.man.ac.uk 1.0 +Jos\'e~Carlos~Santos, % +Mike~Chapman, %chapman@eeh.ee.ethz.ch 3.16 +Pierre~Chardaire,\\ % +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, % 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, % +Frank, %frank@freezone.co.uk 11 Feb 2000 +Kasper~B.~Graversen, % +Arlo~Griffiths, % +Alexandre~Guimond, %guimond@IRO.UMontreal.CA 0.9 +Andy~Goth, % +Cyril~Goutte, %goutte@ei.dtu.dk 2.1 2.2 +Greg~Gamble, %gregg@maths.uwa.edu.au 2.2 +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, % +Bj\"orn Hvittfeldt,\\ %bjorn@hvittfeldt.com 3.13 +Martien~Hulsen, %M.A.Hulsen@WbMt.TUDelft.NL 1.0 1.1 +Werner~Icking, % 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, % 3.01 +Michael~Koundouros, % +Andrzej~Kawalec, %GONE akawalec@prz.rzeszow.pl 1.9.9 +Alain~Kessi,\\ %ALAIN.KESSI@HOTMAIL.COM 2.2 +Christian~Kern, %ck@unixen.hrz.uni-oldenburg.de 2.1 +J\"org~Knappen, %knappen@vkpmzd.kph.uni-mainz.de 0.1 +Kjetil~Kjernsmo, % 3.2 +Maik~Lehradt, %greek@uni-paderborn.de 0.1 +R\'emi~Letot, % +Johan~Lundberg, %p99jlu@physto.se +Alexander~Mai, %Alexander.Mai@physik.tu-darmstadt.de 3.8 +Martin~Maechler, % 2.2 +Aleksandar~S~Milosevic, % +Henrik~Mitsch, % +Claus~Malten,\\ %GONE 1.1 +Kevin~Van~Maren, % 24 Nov 1999 +Philipp~Nagele, % Philipp.Nagele@t-systems.com +Lenimar~Nunes~de~Andrade, % Fri, 12 Nov 1999 +Urs~Oswald,\\ % osurs@bluewin.ch +Demerson~Andre~Polli, % polli@linux.ime.usp.br +Maksym~Polyakov % +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 +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 +Baron~Schwartz, % +Christopher~Sawtell, % 1 Sep 1999 +Geoffrey~Swindale, % +Laszlo~Szathmary, % +Boris~Tobotras, % +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, % 11 Oct 1999,3.16 +David~Woodhouse, % 3.16 +Chris~York, % 21 Nov 1999 +Fritz~Zaucker, %zaucker@ee.ethz.ch 3.0 +Rick~Zaccone, %zaccone@bucknell.edu 2.2 +и Mikhail~Zotov. %zotov@eas.npi.msu.su 3.1 +} + +\vspace*{\stretch{1}} + + + +\pagebreak +\endinput +%%% Local Variables: +%%% mode: latex +%%% TeX-master: "lshort" +%%% End: +% Local Variables: +% mode: flyspell +% End: diff --git a/Master/texmf-dist/doc/latex/lshort-russian/src/custom.tex b/Master/texmf-dist/doc/latex/lshort-russian/src/custom.tex new file mode 100644 index 00000000000..0dda290f8a0 --- /dev/null +++ b/Master/texmf-dist/doc/latex/lshort-russian/src/custom.tex @@ -0,0 +1,862 @@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Contents: Customising LaTeX output +% $Id: custom.tex,v 1.1.1.1 2002/02/26 10:04:20 oetiker Exp $ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\chapter{Настройка \LaTeX} + +\begin{intro} + Произведенные с использованием изученных до сих пор команд документы + будут выглядеть вполне приемлемо для широкой аудитории. Они не + выглядят очень модно, подчиняясь зато всем правилам хорошего тона в + наборе, поэтому их легко читать и на них приятно смотреть. + + Но бывают ситуации, в которых \LaTeX{} не предоставляет команду или + окружение, удовлетворяющие вашим ожиданиям, или производимый + некоторой существующей командой вывод не отвечает вашим требованиям. + + В этой главе даются некоторые советы по обучению \LaTeX{} новым + вещам, и тому, как сделать его вывод отличающимся от того, что + производится по умолчанию. +\end{intro} + + +\section{Новые команды, окружения и пакеты} + +Как вы заметили, все вводимые в этой книге команды верстаются в рамке +и включаются в указатель в конце книги. Вместо того, чтобы напрямую +использовать необходимые для этого команды \LaTeX{}, автор создал +\wi{пакет}, в котором определил новые команды и окружения для этой +цели. Теперь можно просто писать: + +\begin{example} +\begin{lscommand} +\ci{dum} +\end{lscommand} +\end{example} + +В этом примере используются как новое окружение, называющееся +\ei{lscommand} и отвечающее за рисование рамки вокруг команды, так и +новая команда, называющаяся \ci{ci} и верстающая название команды и +заносящая соответствующий элемент в указатель. Вы можете в этом +убедиться, поискав команду \ci{dum} в указателе в конце книги, где вы +найдете запись для \ci{dum}, указывающую на эту страницу. + +Если автор когда-нибудь решит, что ему не нравятся больше команды, +сверстанные в рамке, он просто изменит определение окружения +\texttt{lscommand}. Это намного проще, чем пройти по всему документу, +выискивая все места, где использованы общие команды \LaTeX{} для +рисования рамки вокруг слов. + + +\subsection{Новые команды} + +Чтобы добавить ваши собственные команды, пользуйтесь командой + +\begin{lscommand} +\ci{newcommand}\verb|{|% + \emph{название}\verb|}[|\emph{число}\verb|]{|\emph{определение}\verb|}| +\end{lscommand} + +Обычно эта команда требует двух аргументов. \emph{Название} команды, +которую вы создаете, и \emph{определение} команды. Аргумент +\emph{число} в квадратных скобках не обязателен. Он применяется для +создания новых команды, которые, в свою очередь, принимают до 9 +аргументов. + +Следующие два примера должны вам помочь получить представление о +команде. Первый пример определяет новую команду, называющуюся +\ci{tnss}, что является сокращением от ``The Not So Short Introduction +to \LaTeXe''. Такая команда пригодится, если вам много раз приходится +писать название этой книги. + +\begin{example} +\newcommand{\tnss}{The not + so Short Introduction to + \LaTeXe} +% в теле документа: +``\tnss'' \ldots{} ``\tnss'' +\end{example} + +Следующий пример показывает, как определить новую команду, принимающую +один аргумент. Метка \verb|#1| заменяется на заданный аргумент. Если вы +хотите использовать более одного аргумента, пользуйтесь \verb|#2|, и +так далее. + +\begin{example} +\newcommand{\txsit}[1] + {\emph{#1} краткое + введение в \LaTeXe} +% в теле документа +\begin{itemize} +\item \txsit{Не очень} +\item \txsit{Очень} +\end{itemize} +\end{example} + +\LaTeX{} не позволит вам создать новую команду, которая бы изменяла +уже существующую. Но для случая, когда вы явно хотите изменить +существующую команду, есть специальная команда: \ci{renewcommand}. Она +имеет тот же синтаксис, что и команда \verb|\newcommand|. + +В некоторых случаях может пригодиться команда \ci{providecommand}. Она +работает так же, как \ci{newcommand}, но, если команда уже определена, +то \LaTeXe{} ее молча проигнорирует. + +Существуют определенные особенности, связанные с пробелами после +команд \LaTeX{}. Подробности смотрите на +странице~\pageref{whitespace}. + + +\subsection{Новые окружения} + +Аналогичная команде \verb|\newcommand|, существует команда для создания +вашего собственного окружения, \ci{newenvironment}, имеющая следующий +синтаксис: + +\begin{lscommand} +\ci{newenvironment}\verb|{|% + \emph{название}\verb|}[|\emph{номер}\verb|]{|% + \emph{начало}\verb|}{|\emph{конец}\verb|}| +\end{lscommand} + +Подобно команде \verb|\newcommand|, \ci{newenvironment} можно +использовать с необязательным аргументом, или без него. Материал, +заключенный в аргумент \emph{начало}, обрабатывается до обработки +текста внутри окружения. Материал, заключенный в аргумент +\emph{конец}, обрабатывается, когда встречается команда +\verb|\end{|\emph{название}\verb|}|. Следующий пример иллюстрирует +использование команды \ci{newenvironment}. + +\begin{example} +\newenvironment{king} + {\rule{1ex}{1ex}% + \hspace{\stretch{1}}} + {\hspace{\stretch{1}}% + \rule{1ex}{1ex}} + +\begin{king} +Мои смиренные подданные\ldots +\end{king} +\end{example} + +Аргумент \emph{номер} используют так же, как и для команды +\verb|\newcommand|. \LaTeX{} контролирует, чтобы вы не определяли уже +существующее окружение. Если вы заходите все же это сделать, +пользуйтесь командой \ci{renewenvironment}. Она имеет тот же +синтаксис, что ли \ci{newenvironment}.\sloppypar + +Команды, использованные в этом примере, будут разъяснены позже: +описание команды \ci{rule} см. на стр.~\pageref{sec:rule}, команда +\ci{stretch} описана на стр.~\pageref{cmd:stretch}, а описание команды +\ci{hspace} находится на стр.~\pageref{sec:hspace}. + +\subsection{Ваш собственный пакет} + +Когда вы определяете множество новых окружений и команд, преамбулы +ваших документов становятся очень большими. В этой ситуации +представляется разумным создать пакет \LaTeX{}, содержащий определения +всех ваших команд и окружений. Потом можно командой \ci{usepackage} +использовать пакет в ваших документах.\sloppypar + +\begin{figure}[!htbp] +\begin{lined}{\textwidth} +\begin{verbatim} +% Пакет для демонстрации. Tobias Oetiker. +\ProvidesPackage{demopack} +\newcommand{\tnss}{Не очень краткое введение в \LaTeXe} +\newcommand{\txsit}[1]{\emph{#1} краткое + введение в \LaTeXe} +\newenvironment{king}{\begin{quote}}{\end{quote}} +\end{verbatim} +\end{lined} +\caption{Пример пакета} \label{package} +\end{figure} + +Создание пакета в основном состоит из переноса содержимого вашей +преамбулы в отдельный файл с именем, заканчивающимся на +\texttt{.sty}. Есть только одна специальная команда, которую вы должны +использовать +\begin{lscommand} +\ci{ProvidesPackage}\verb|{|\emph{название пакета}\verb|}| +\end{lscommand} +\noindent в самом начале файла с вашим +пакетом. \verb|\ProvidesPackage| указывает \LaTeX{} название пакета, +что позволяет ему выдавать осмысленное сообщение об ошибке, когда вы +пытаетесь включать пакет дважды. Иллюстрация~\ref{package} показывает +маленький пример пакета, содержащего определенные в вышеприведенных +примерах команды. + + +\section{Шрифты и их размеры} + + +\subsection{Команды смены шрифта} + +\index{шрифт}\index{шрифт!размер} \LaTeX{} выбирает подходящее +начертание и размер шрифта, основываясь на логической структуре +документа (разделы, сноски,~\ldots). Иногда может быть желательно +сменить шрифт вручную. Для этого вы можете пользоваться командами, +перечисленными в таблицах~\ref{fonts} и~\ref{sizes}. Действительный +размер каждого шрифта определяется дизайном и зависит от класса и +опций документа. Таблица~\ref{tab:pointsizes} показывает абсолютные +размеры, соответствующие этим командам в стандартных классах +документов. + +% Эх, не перевести игру слов :( +%\begin{example} +%{\small The small and +%\textbf{bold} Romans ruled} +%{\Large all of great big +%\textit{Italy}.} +%\end{example} + +\begin{example} + {\small Маленький, + \textbf{полужирный}, + \Large большой, + \textit{курсив}.} +\end{example} + +Важная особенность \LaTeXe{} заключается в том, что атрибуты шрифта +независимы. Это значит, что вы можете давать команды смены размера или +даже семейства шрифта, сохраняя при этом установки атрибутов наклона +или насыщенности. + +В \emph{математическом режиме} вы можете использовать \emph{команды} +смены шрифта, чтобы временно выйти из \emph{математического режима} и +ввести нормальный текст. Если вы хотите переключиться на другой шрифт +для верстки математики, то для этого существует отдельный набор +команд. Смотрите таблицу~\ref{mathfonts}. + +\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. +% +\begin{tabular}{@{}rl@{\qquad}rl@{}} +\fni{textrm}\verb|{...}| & \textrm{\wi{прямой шрифт}}& +\fni{textsf}\verb|{...}| & \textsf{\wi{без засечек}}\\ +\fni{texttt}\verb|{...}| & \texttt{пишущая машинка}\\[6pt] +\fni{textmd}\verb|{...}| & \textmd{нормальный}& +\fni{textbf}\verb|{...}| & \textbf{\wi{полужирный}}\\[6pt] +\fni{textup}\verb|{...}| & \textup{\wi{прямой шрифт}}& +\fni{textit}\verb|{...}| & \textit{\wi{курсив}}\\ +\fni{textsl}\verb|{...}| & \textsl{\wi{наклонный шрифт}}& +\fni{textsc}\verb|{...}| & \textsc{\wi{капитель}}\\[6pt] +\ci{emph}\verb|{...}| & \emph{выделенный шрифт} & +\fni{textnormal}\verb|{...}| & \textnormal{обычный} +\end{tabular} + +\bigskip +\end{lined} +\end{table} + + +\begin{table}[!bp] +\index{шрифт!размер} +\caption{Размеры шрифта} \label{sizes} +\begin{lined}{12cm} +\begin{tabular}{@{}ll} +\fni{tiny} & \tiny крошечный \\ +\fni{scriptsize} & \scriptsize очень маленький\\ +\fni{footnotesize} & \footnotesize довольно маленький \\ +\fni{small} & \small маленький \\ +\fni{normalsize} & \normalsize нормальный \\ +\fni{large} & \large большой +\end{tabular}% +\qquad\begin{tabular}{ll@{}} +\fni{Large} & \Large еще больше \\[5pt] +\fni{LARGE} & \LARGE очень большой \\[5pt] +\fni{huge} & \huge огромный \\[5pt] +\fni{Huge} & \Huge громадный +\end{tabular} + +\bigskip +\end{lined} +\end{table} + +\begin{table}[!tbp] +\caption{Абсолютные размеры шрифтов в стандартных классах} +\label{tab:pointsizes} +\label{tab:sizes} +\begin{lined}{12cm} +\begin{tabular}{lrrr} +\multicolumn{1}{c}{\textit{Размер}} & +\multicolumn{1}{c}{\textit{10pt (по умолчанию)}} & + \multicolumn{1}{c}{\textit{опция 11pt}} & + \multicolumn{1}{c}{\textit{опция 12pt}}\\[6pt] +\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} + +\bigskip +\end{lined} +\end{table} + +\begin{table}[!bp] +\caption{Математические шрифты} \label{mathfonts} +\begin{lined}{\textwidth} +\begin{tabular}{@{}lll@{}} +\textit{Команда}&\textit{Пример}& \textit{Вывод}\\[6pt] +\fni{mathcal}\verb|{...}|& \verb|$\mathcal{B}=c$|& $\mathcal{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} +\end{table} + +В связи с командами смены размера шрифта заметную роль играют +\wi{фигурные скобки}. Они используются для построения +\emph{групп}. Группы ограничивают область действия большинства команд +\LaTeX{}.\index{группирование} + +\begin{example} + Ему нравятся {\LARGE + большие и {\small + маленькие} буквы}. +\end{example} + +Команды, влияющие на размер шрифта, влияют также на расстояние между +строками, но только если соответствующий абзац заканчивается внутри +области действия команды. Поэтому закрывающая фигурная скобка \verb|}| +не должна стоять слишком рано. Заметьте положение команды \verb|\par| +в следующих двух примерах\footnote{\texttt{\bs{}par} эквивалентен + пустой строке.}: +\begin{example} +{\Large Не читайте это! Это +неправда. Верьте мне!\par} +\end{example} + +\begin{example} +{\Large Это тоже неправда. +Но помните, что я вру.}\par +\end{example} + +Если вы хотите применить команду изменения размера к целому абзацу +текста или больше того, то для этого лучше использовать синтаксис +окружения. + +\begin{example} + \begin{Large} + Это неправда. Но + что в наши дни\ldots + \end{Large} +\end{example} + +\noindent Это избавит вас от подсчета множества фигурных скобок. + + +\subsection{Опасность!} + +Как отмечено в начале этой главы, опасно усеивать ваши документы +явными командами, вроде только что описанных, потому что это +противоречит основной идее \LaTeX{}: разделению логической и +визуальной разметки вашего документа. Это значит, что, если вы +пользуетесь одними и теми же командами смены шрифта в разных местах +для верстки специального вида информации, вы должны использовать +\verb|\newcommand| и определить команду, <<оборачивающую>> в себя +команду смены шрифта. + +\begin{example} +% в преамбуле или пакете +\newcommand{\danger}[1]{\textbf{#1}} +% в документе +Не \danger{входите} в эту комнату. +Она занята \danger{машиной} +неизвестного назначения. +\end{example} + +Этот подход имеет то преимущество, что вы позже можете решить, что +хотите использовать другое визуальное представление +опасности,\trfootnote{danger} нежели +\verb|\textbf|, без необходимости пробираться через весь документ, +отыскивая все вхождения \verb|\textbf| и определяя, отмечает ли каждое +из них опасность или что-нибудь другое. + + +\subsection{Совет} + +Для завершения нашего путешествия в мир шрифтов и их размеров, +позвольте дать вам один совет: + +\begin{quote} + \underline{\textbf{Помните\Huge!}} \textit{Чем} + \textsf{Б\textbf{\LARGE О}\texttt{ЛЬ}\textsl{ШЕ}} шрифтов \Huge вы + \tiny используете \footnotesize \textbf{в} вашем \small + \texttt{документе}, \large \textit{тем} \normalsize легче + \textsc{его читать} и тем \textsl{\textsf{красивее}} он + б\large{}у\Large{}д\LARGE{}е\huge{}т\normalsize. +\end{quote} + + +\section{Интервалы} + + +\subsection{Интервалы между строками} + +\index{интервал!междустрочный} Если вам нужны б\'ольшие интервалы между +строками, то их значение можно изменить помещением в преамбулу команды +\begin{lscommand} +\ci{linespread}\verb|{|\emph{коэффициент}\verb|}| +\end{lscommand} +\noindent Для печати <<через полтора интервала>> пользуйтесь +\verb|\linespread{1.3}|, для печати <<через два интервала>>~--- +\verb|\linespread{1.6}|. По умолчанию этот коэффициент +равен~1.\index{интервал!двойной} + +Заметим, что эффект от команды \ci{linespread} довольно радикален, и +поэтому она не подходит для публикуемых работ. Поэтому, если у вас есть +весомые соображения для изменения межстрочного интервала, лучше пользуйтесь +следующей командой: + +\begin{lscommand} +\verb|\setlength{\baselineskip}{1.5\baselineskip}| +\end{lscommand} + +\begin{example} +{\setlength{\baselineskip}% + {1.5\baselineskip} +Этот абзац набран с интервалом в +1.5 раза больше предыдущего. Заметьте +команду \par{} в конце абзаца.\par} + +Ясно, зачем набрат этот абзац: он +показывает, что за закрывающейся +фигурной скобкой все вернулось к +нормальным установкам. +\end{example} + + +\subsection{Форматирование абзацев} +\label{parsp} + +Два параметра в \LaTeX{} влияют на верстку абзацев. Поместив в +преамбулу определения вида +\begin{code} +\ci{setlength}\verb|{|\ci{parindent}\verb|}{0pt}| \\ +\verb|\setlength{|\ci{parskip}\verb|}{1ex plus 0.5ex minus 0.2ex}| +\end{code} +вы измените внешний вид абзацев. Эти две строчки увеличивают +расстояние между абзацами и устанавливают абзацный отступ равным +нулю. + +Части \texttt{plus} и \texttt{minus} говорят \TeX{}, что он может +увеличивать и уменьшать интервал между абзацами на указанные величины, +если это необходимо для правильного размещения абзацев на странице. + +В Европе абзацы часто отделяют пробелами и не делают в них +отступа. Однако, имейте в виду, что это влияет также и на оглавление: +его строки тоже становятся теперь более разреженными. Чтобы этого +избежать, эти команды можно перенести из преамбулы документа +куда-нибудь после \verb|\tableofcontents|, или не использовать их +совсем, потому что в профессиональной книжной верстке используется +выделение абзацев красной строкой, а не пробелами. + +Если вы хотите сделать абзацный отступ в не имеющем его абзаце, то +вставьте в начало абзаца команду\footnote{Для добавления отступа к + первому абзацу после каждого заголовка раздела пользуйтесь пакетом + \pai{indentfirst} из комплекта `tools'.} +\begin{lscommand} +\ci{indent} +\end{lscommand} +\noindent Понятно, что эффект от нее будет только если +\verb|\parindent| не установлен равным нулю. + +Для создания абзаца без отступа первой командой абзаца можно сделать +\begin{lscommand} +\ci{noindent} +\end{lscommand} +\noindent Это может быть удобно, когда вы начинаете документ с текста, +а не с команды секционирования. + + +\subsection{Горизонтальные интервалы} + +\label{sec:hspace} +\LaTeX{} автоматически определяет пробелы между словами и +предложениями. Чтобы добавить горизонтальный +пробел\index{пробел!горизонтальный}, пользуйтесь +\begin{lscommand} +\ci{hspace}\verb|{|\emph{длина}\verb|}| +\end{lscommand} +Если такой интервал должен быть выдержан, даже если он приходится на +начало или конец строки, используйте \verb|\hspace*|, а не +\verb|\hspace|. В простейшем случае \emph{длина}~--- это просто число +и единица измерения. Наиболее важные единицы перечислены в +таблице~\ref{units}. \index{единицы}\index{длина} + +\begin{example} +Тут\hspace{1.5cm}пробел +в 1,5см. +\end{example} + +%\suppressfloats +\begin{table}[tbp] +\caption{Единицы размерности в \TeX{}} \label{units}\index{единицы} +\begin{lined}{9.5cm} +\begin{tabular}{@{}ll@{}} +\texttt{mm} & миллиметр $\approx 1/25$~дюйма \quad \demowidth{1mm} \\ +\texttt{cm} & сантиметр $=$ 10~mm \quad \demowidth{1cm} \\ +\texttt{in} & inch $=$ 25.4~mm \quad \demowidth{1in} \\ +\texttt{pt} & пункт $\approx 1/72$~дюйма $\approx \frac{1}{3}$~mm \quad\demowidth{1pt}\\ +\texttt{em} & примерная ширина буквы `M' текущего шрифта \quad \demowidth{1em}\\ +\texttt{ex} & примерная высота буквы `x' текущего шрифта \quad \demowidth{1ex} +\end{tabular} + +\bigskip +\end{lined} +\end{table} + +\label{cmd:stretch} +Команда +\begin{lscommand} +\ci{stretch}\verb|{|\emph{n}\verb|}| +\end{lscommand} +\noindent генерирует специальный <<резиновый>> пробел. Он +растягивается, заполняя все оставшееся места на строке. Если на одной +строке встречаются две команды +\verb|\hspace{\stretch{|\emph{n}\verb|}}|, то они растягиваются +пропорционально своим коэффициентам.\sloppypar + +\begin{example} +x\hspace{\stretch{1}} +x\hspace{\stretch{3}}x +\end{example} + +Пpи использовании гоpизонтальных интеpвалов вместе с текстом может +иметь смысл генеpиpовать интеpвал, pазмеp котоpого соотносится с +pазмеpом текущего шpифта. Этого можно добиться пpи помощи +относительных единиц pазмеpности \texttt{em} и \texttt{en}: + +\begin{example} +{\Large{}big\hspace{1em}y}\\ +{\tiny{}tin\hspace{1em}y} +\end{example} + + +\subsection{Вертикальные интервалы} + +Интервалы между абзацами, разделами, подразделами,~\ldots\ +определяются \LaTeX{} автоматически. При необходимости дополнительный +пробел \emph{между двумя абзацами} можно добавить командой +\begin{lscommand} +\ci{vspace}\verb|{|\emph{длина}\verb|}| +\end{lscommand} + +Обычно эта команда вставляется между двумя пустыми строчками. Если это +пространство должно сохраняться вверху или внизу страницы, используйте +вариант команды со звездочкой: \verb|\vspace*|.\index{пробел!вертикальный} + +Команду \verb|\stretch| вместе с \verb|\pagebreak| можно применять для +верстки текста на последней строке страницы или для вертикального +центрирования текста на странице. +\begin{code} +\begin{verbatim} +Некий текст\ldots + +\vspace{\stretch{1}} +А это окажется на последней строке страницы.\pagebreak +\end{verbatim} +\end{code} + +Дополнительный пробел между двумя строками \emph{одного} абзаца или +внутри таблицы указывается командой +\begin{lscommand} +\ci{\bs}\verb|[|\emph{длина}\verb|]| +\end{lscommand} + +При помощи \ci{bigskip} и \ci{smallskip} вы можете пропустить заранее +определенные вертикальные интервалы, не задумываясь о конкретных +числах. + +\section{Компоновка страницы} + +\begin{figure}[!hp] +\begin{center} +\makeatletter\@layout\makeatother +\end{center} +\vspace*{1.8cm} +\caption{Параметры компоновки страницы} +\label{fig:layout} +\end{figure} + +\index{компоновка страницы} +\LaTeXe{} позволяет указать \wi{размер бумаги} в команде +\verb|\documentclass|. Затем он автоматически выбирает правое +\wi{поле}. Но иногда предопределенные значения могут вас не +устроить. Безусловно, вы их можете изменить. +%no idea why this is needed here ... +\thispagestyle{fancyplain} Иллюстрация~\ref{fig:layout} показывает все +параметры, которые можно изменить. Она была сгенерирована пакетом +\pai{layout} из комплекта +`tools'.\footnote{\texttt{\CTAN|macros/latex/required/tools|}} + +\textbf{ПОДОЖДИТЕ!} \ldots прежде, чем немедленно броситься делать эту +слишком узкую страницу слегка пошире, потратьте несколько секунд на +размышления. Подобно другим вещам, выбор компоновки страницы в +\LaTeX{} весьма продуман. + +Безусловно, если сравнить со страницей, выданной свежеустановленным MS +Word, то страницы \LaTeX{} выглядят ужасно узкими. Однако, взгляните +на вашу любимую книгу\footnote{Имея в виду настоящую печатную книгу, + выпущенную уважаемым издательством.} и посчитайте количество букв на +одной строчке. Вы обнаружите, что на каждой строчке не больше 66 +букв. Теперь повторите это со страницей \LaTeX{}. Вы увидите, что и +здесь тоже около 66 букв в строке. Опыт показывает, что при большем +количестве букв чтение затрудняется, потому, что глазам становится +труднее переходить от конца одной строки к началу следующей. Именно +поэтому газеты часто верстаются в несколько колонок. + +Так что, увеличивая ширину вашего текста, имейте в виду, что вы +затрудняете жизнь его читателям. Однако, достаточно предупреждений, +вам был обещан рассказ о том, как же это сделать\ldots + +\LaTeX{} предоставляет две команды для изменения этих параметров. Их +обычно используют в преамбуле документа. + +Первая команда присваивает фиксированное значение любому параметру: +\begin{lscommand} +\ci{setlength}\verb|{|\emph{параметр}\verb|}{|\emph{длина}\verb|}| +\end{lscommand} + +Вторая команда прибавляет длину к любому параметру: +\begin{lscommand} +\ci{addtolength}\verb|{|\emph{параметр}\verb|}{|\emph{длина}\verb|}| +\end{lscommand} + +Она даже более полезна, чем \ci{setlength}, потому что позволяет вам +делать настройку относительно существующих установок. Чтобы добавить +сантиметр к общей ширине текста, например, в преамбулу нужно поместить +следующее: +\begin{code} +\verb|\addtolength{\hoffset}{-0.5cm}|\\ +\verb|\addtolength{\textwidth}{1cm}| +\end{code} + +Здесь вам может быть интересен пакет \pai{calc}, который позволяет +использовать арифметические операции в аргументе \verb|\setlength| и в +других местах, где аргументами являются численные значения. + + +\section{Еще о длинах} + +Всегда, когда это возможно, избегайте использовать в документах +абсолютных величин. Лучше основывайтесь на ширине или высоте других +элементов страницы. Для ширины иллюстрации этим может служить +\verb|\textwidth|, чтобы она заполняла страницу целиком. + +Следующие три команды позволяют определить ширину, высоту и глубину +текстовой строки. + +\begin{lscommand} +\ci{settoheight}\verb|{|\emph{пеpеменная}\verb|}{|\emph{текст}\verb|}|\\ +\ci{settodepth}\verb|{|\emph{пеpеменная}\verb|}{|\emph{текст}\verb|}|\\ +\ci{settowidth}\verb|{|\emph{пеpеменная}\verb|}{|\emph{текст}\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}{Где}$a$, +$b$ -- прилегают к прямому углу +прямоугольного треугольника. + +$c$ -- одинокая гипотенуза +этого треугольника. + +$d$ -- вообще тут не участвует. +Вот загадка\ldots +\end{vardesc} +\end{example} + + +\section{Блоки} + +\LaTeX{} выстраивает страницы, передвигая блоки. Сначала каждая буква +является маленьким блоком, который приклеивается к другим буквам, +формируя слово. Слова склеиваются с другими словами, но специальным +эластичным клеем, который может растягиваться или сжиматься, так, +чтобы в точности заполнить строку. + +Надо признать, что это довольно упрощенная версия того, что происходит +на самом деле, но идея в том, что \TeX{} всегда работает с блоками и +клеем. Не только буква может быть блоком. Вы можете поместить в блок +практически все, что угодно, не исключая и другие блоки. Каждый блок +затем обрабатывается \LaTeX{}, как если бы это была отдельная буква. + +В предыдущих главах вы уже встречали некоторые блоки, хотя об этом и +не говорилось. Примерами могут быть окружение \ei{tabular} или +\ci{includegraphics}, оба производящие блок. Это значит, что вы легко +можете сверстать рядом две таблицы или иллюстрации. Только убедитесь, +что их общая ширина не превышает \verb|\textwidth|. + +Вы также можете упаковать любой абзац в блок или командой + +\begin{lscommand} +\ci{parbox}\verb|[|\emph{поз}\verb|]{|\emph{ширина}\verb|}{|\emph{текст}\verb|}| +\end{lscommand} + +\noindent или окружением + +\begin{lscommand} +\verb|\begin{|\ei{minipage}\verb|}[|\emph{поз}\verb|]{|\emph{ширина}\verb|}| текст +\verb|\end{|\ei{minipage}\verb|}| +\end{lscommand} + +Параметр \emph{поз} может принимать одну из букв \texttt{c, t} или +\texttt{b}, контролируя вертикальное выравнивание блока по отношению к +базовой линии окружающего текста. \emph{Ширина} принимает аргументом +длину, определяющую ширину блока. Основное отличие между \ci{minipage} +и \ci{parbox}~--- в том, что внутри \ci{parbox} можно использовать не +все команды и окружения, тогда как внутри \ci{minipage} можно +практически все. + +В то время, как \ci{parbox} упаковывает целый абзац, разбивая строчки +и прочее, существует класс блоковых команд, работающих только на +горизонтально расположенном материале. Одну из них мы уже знаем. Она +называется \ci{mbox} и просто упаковывает последовательность блоков, +что можно использовать для предотвращения переноса \LaTeX{} двух +слов. Так как вы можете помещать одни блоки в другие, эти упаковщики +горизонтальных блоков чрезвычайно гибки. + +\begin{lscommand} +\ci{makebox}\verb|[|\emph{ширина}\verb|][|\emph{поз}\verb|]{|\emph{текст}\verb|}| +\end{lscommand} + +\noindent \emph{Ширина} определяет ширину результирующего блока так, +как его видно снаружи.\footnote{Это означает, что она может быть + меньше, чем материал внутри блока. В предельном случае вы можете + даже установить ее в 0pt, так что текст внутри блока верстается, + вообще не оказывая влияния на окружающие блоки.} Кроме выражений +длины, вы тут можете использовать \ci{width}, \ci{height}, \ci{depth} +и \ci{totalheight}. Они устанавливаются равными значениям, полученным +измерением параметров \emph{текста}.\trfootnote{Ширина, высота, глубина + и общая высота (высота плюс глубина) текста, + соответственно.} Параметр \emph{поз} +принимает однобуквенное значение: \textbf{c}: центрировать, +\textbf{l}: отжать влево, \textbf{r}: отжать вправо или \textbf{s}: +равномерно заполнить блок текстом. + +Команда \ci{framebox} работает в точности так же, как \ci{makebox}, но +рисует рамку вокруг текста. + +Следующий пример показывает некоторые возможности использования команд +\ci{makebox} и \ci{framebox}. + +\begin{example} +\makebox[\textwidth]{% + ц е н т р}\par +\makebox[\textwidth][s]{% + р а с т я н у т ы й}\par +\framebox[1.1\width]{Я теперь + в рамке!} \par +\framebox[0.8\width][r]{Ой, + я слишком толстый} \par +\framebox[1cm][l]{ничего, + я тоже} +Можете это прочитать? +\end{example} + +Теперь, когда мы управляем горизонталью, очевидный следующий шаг~--- +вертикаль. Никаких проблем. Команда + +\begin{lscommand} +\ci{raisebox}\verb|{|\emph{сдвиг}\verb|}[|\emph{глубина}\verb|][|\emph{высота}\verb|]{|\emph{текст}\verb|}| +\end{lscommand} + +\noindent позволяет вам определить вертикальные характеристики +блока. В первых трех параметров можно использовать \ci{width}, +\ci{height}, \ci{depth} и \ci{totalwidth}, чтобы получить размеры +аргумента \emph{текст}. + +\begin{example} +\raisebox{0pt}[0pt][0pt]{\Large% +\textbf{Aaaa\raisebox{-0.3ex}{a}% +\raisebox{-0.7ex}{aa}% +\raisebox{-1.2ex}{a}% +\raisebox{-2.2ex}{a}% +\raisebox{-4.5ex}{a}}} +кричал он, но даже стоящий рядом +не заметил, что с ним случилось +что-то ужасное. +\end{example} + + +\section{Линейки и распорки} +\label{sec:rule} + +Несколько страниц назад вы могли отметить команду + +\begin{lscommand} +\ci{rule}\verb|[|\emph{сдвиг}\verb|]{|\emph{ширина}\verb|}{|\emph{высота}\verb|}| +\end{lscommand} + +\noindent При обычном использовании она генерирует простой черный +блок. + +\newpage +\begin{example} +\rule{3mm}{.1pt}% +\rule[-1mm]{5mm}{1cm}% +\rule{3mm}{.1pt}% +\rule[1mm]{1cm}{5mm}% +\rule{3mm}{.1pt} +\end{example} + +\noindent Это можно использовать для рисования вертикальных и +горизонтальных линий. Например, линия на титульном листе нарисована +командой \ci{rule}. + +Специальным случаем является линейка, у которой нет ширины, но есть +определенная высота. В профессиональной верстке ее называют +\emph{распоркой}\index{распорка}. Ее используют, чтобы обеспечить +определенную минимальную высоту элемента страницы. Вы можете +использовать ее, чтобы сделать строку окружения \texttt{tabular} +имеющей определенную минимальную высоту. + +\begin{example} +\begin{tabular}{|c|} +\hline +\rule{0pt}{4ex}Pitprop \ldots\\ +\hline +\rule{0pt}{4ex}Strut\\ +\hline +\end{tabular} +\end{example} + +%%% Local Variables: +%%% mode: latex +%%% TeX-master: "lshort2e" +%%% End: + +\bigskip +{\flushright Конец.\par} + +% diff --git a/Master/texmf-dist/doc/latex/lshort-russian/src/fancyhea.sty b/Master/texmf-dist/doc/latex/lshort-russian/src/fancyhea.sty new file mode 100644 index 00000000000..13cfb623ec6 --- /dev/null +++ b/Master/texmf-dist/doc/latex/lshort-russian/src/fancyhea.sty @@ -0,0 +1,129 @@ +% fancyheadings.sty version 1.7 +% Fancy headers and footers. +% Piet van Oostrum, Dept of Computer Science, University of Utrecht +% Padualaan 14, P.O. Box 80.089, 3508 TB Utrecht, The Netherlands +% Telephone: +31-30-531806. piet@cs.ruu.nl (mcvax!sun4nl!ruuinf!piet) +% Sep 16, 1994 +% version 1.4: Correction for use with \reversemargin +% Sep 29, 1994: +% version 1.5: Added the \iftopfloat, \ifbotfloat and \iffloatpage commands +% Oct 4, 1994: +% version 1.6: Reset single spacing in headers/footers for use with +% setspace.sty or doublespace.sty +% Oct 4, 1994: +% version 1.7: changed \let\@mkboth\markboth to +% \def\@mkboth{\protect\markboth} to make it more robust + +\def\lhead{\@ifnextchar[{\@xlhead}{\@ylhead}} +\def\@xlhead[#1]#2{\gdef\@elhead{#1}\gdef\@olhead{#2}} +\def\@ylhead#1{\gdef\@elhead{#1}\gdef\@olhead{#1}} + +\def\chead{\@ifnextchar[{\@xchead}{\@ychead}} +\def\@xchead[#1]#2{\gdef\@echead{#1}\gdef\@ochead{#2}} +\def\@ychead#1{\gdef\@echead{#1}\gdef\@ochead{#1}} + +\def\rhead{\@ifnextchar[{\@xrhead}{\@yrhead}} +\def\@xrhead[#1]#2{\gdef\@erhead{#1}\gdef\@orhead{#2}} +\def\@yrhead#1{\gdef\@erhead{#1}\gdef\@orhead{#1}} + +\def\lfoot{\@ifnextchar[{\@xlfoot}{\@ylfoot}} +\def\@xlfoot[#1]#2{\gdef\@elfoot{#1}\gdef\@olfoot{#2}} +\def\@ylfoot#1{\gdef\@elfoot{#1}\gdef\@olfoot{#1}} + +\def\cfoot{\@ifnextchar[{\@xcfoot}{\@ycfoot}} +\def\@xcfoot[#1]#2{\gdef\@ecfoot{#1}\gdef\@ocfoot{#2}} +\def\@ycfoot#1{\gdef\@ecfoot{#1}\gdef\@ocfoot{#1}} + +\def\rfoot{\@ifnextchar[{\@xrfoot}{\@yrfoot}} +\def\@xrfoot[#1]#2{\gdef\@erfoot{#1}\gdef\@orfoot{#2}} +\def\@yrfoot#1{\gdef\@erfoot{#1}\gdef\@orfoot{#1}} + +\newdimen\headrulewidth +\newdimen\footrulewidth +\newdimen\plainheadrulewidth +\newdimen\plainfootrulewidth +\newdimen\headwidth +\newif\if@fancyplain \@fancyplainfalse +\def\fancyplain#1#2{\if@fancyplain#1\else#2\fi} + +% Command to reset various things in the headers: +% a.o. single spacing (taken from setspace.sty) +% and the catcode of ^^M (so that epsf files in the header work if a +% verbatim crosses a page boundary) +\def\fancy@reset{\restorecr + \def\baselinestretch{1}% + \ifx\undefined\@newbaseline% NFSS not present; 2.09 or 2e + \ifx\@currsize\normalsize\@normalsize\else\@currsize\fi% + \else% NFSS (2.09) present + \@newbaseline% + \fi} + +% Initialization of the head and foot text. + +\headrulewidth 0.4pt +\footrulewidth\z@ +\plainheadrulewidth\z@ +\plainfootrulewidth\z@ + +\lhead[\fancyplain{}{\sl\rightmark}]{\fancyplain{}{\sl\leftmark}} +% i.e. empty on ``plain'' pages \rightmark on even, \leftmark on odd pages +\chead{} +\rhead[\fancyplain{}{\sl\leftmark}]{\fancyplain{}{\sl\rightmark}} +% i.e. empty on ``plain'' pages \leftmark on even, \rightmark on odd pages +\lfoot{} +\cfoot{\rm\thepage} % page number +\rfoot{} + +% Put together a header or footer given the left, center and +% right text, fillers at left and right and a rule. +% The \lap commands put the text into an hbox of zero size, +% so overlapping text does not generate an errormessage. + +\def\@fancyhead#1#2#3#4#5{#1\hbox to\headwidth{\fancy@reset\vbox{\hbox +{\rlap{\parbox[b]{\headwidth}{\raggedright#2\strut}}\hfill +\parbox[b]{\headwidth}{\centering#3\strut}\hfill +\llap{\parbox[b]{\headwidth}{\raggedleft#4\strut}}}\headrule}}#5} + + +\def\@fancyfoot#1#2#3#4#5{#1\hbox to\headwidth{\fancy@reset\vbox{\footrule +\hbox{\rlap{\parbox[t]{\headwidth}{\raggedright#2\strut}}\hfill +\parbox[t]{\headwidth}{\centering#3\strut}\hfill +\llap{\parbox[t]{\headwidth}{\raggedleft#4\strut}}}}}#5} + +\def\headrule{{\if@fancyplain\headrulewidth\plainheadrulewidth\fi +\hrule\@height\headrulewidth\@width\headwidth \vskip-\headrulewidth}} + +\def\footrule{{\if@fancyplain\footrulewidth\plainfootrulewidth\fi +\vskip-0.3\normalbaselineskip\vskip-\footrulewidth +\hrule\@width\headwidth\@height\footrulewidth\vskip0.3\normalbaselineskip}} + +\def\ps@fancy{ +\def\@mkboth{\protect\markboth} +\@ifundefined{chapter}{\def\sectionmark##1{\markboth +{\uppercase{\ifnum \c@secnumdepth>\z@ + \thesection\hskip 1em\relax \fi ##1}}{}} +\def\subsectionmark##1{\markright {\ifnum \c@secnumdepth >\@ne + \thesubsection\hskip 1em\relax \fi ##1}}} +{\def\chaptermark##1{\markboth {\uppercase{\ifnum \c@secnumdepth>\m@ne + \@chapapp\ \thechapter. \ \fi ##1}}{}} +\def\sectionmark##1{\markright{\uppercase{\ifnum \c@secnumdepth >\z@ + \thesection. \ \fi ##1}}}} +\ps@@fancy +\global\let\ps@fancy\ps@@fancy +\headwidth\textwidth} +\def\ps@fancyplain{\ps@fancy \let\ps@plain\ps@plain@fancy} +\def\ps@plain@fancy{\@fancyplaintrue\ps@@fancy} +\def\ps@@fancy{ +\def\@oddhead{\@fancyhead\@lodd\@olhead\@ochead\@orhead\@rodd} +\def\@oddfoot{\@fancyfoot\@lodd\@olfoot\@ocfoot\@orfoot\@rodd} +\def\@evenhead{\@fancyhead\@rodd\@elhead\@echead\@erhead\@lodd} +\def\@evenfoot{\@fancyfoot\@rodd\@elfoot\@ecfoot\@erfoot\@lodd} +} +\def\@lodd{\if@reversemargin\hss\else\relax\fi} +\def\@rodd{\if@reversemargin\relax\else\hss\fi} + +\let\latex@makecol\@makecol +\def\@makecol{\let\topfloat\@toplist\let\botfloat\@botlist\latex@makecol} +\def\iftopfloat#1#2{\ifx\topfloat\empty #2\else #1\fi} +\def\ifbotfloat#1#2{\ifx\botfloat\empty #2\else #1\fi} +\def\iffloatpage#1#2{\if@fcolmade #1\else #2\fi} diff --git a/Master/texmf-dist/doc/latex/lshort-russian/src/fancyvrb.cfg b/Master/texmf-dist/doc/latex/lshort-russian/src/fancyvrb.cfg new file mode 100644 index 00000000000..e848342f48e --- /dev/null +++ b/Master/texmf-dist/doc/latex/lshort-russian/src/fancyvrb.cfg @@ -0,0 +1,14 @@ +\long\def\@yargdef#1#2#3{% + \@tempcnta#3\relax + \advance \@tempcnta \@ne + \let\@hash@\relax + \edef\reserved@a{\ifx#2\tw@ [\@hash@1]\fi}% + \@tempcntb #2% + \@whilenum\@tempcntb <\@tempcnta + \do{% + \edef\reserved@a{\reserved@a\@hash@\the\@tempcntb}% + \advance\@tempcntb \@ne}% + \let\@hash@##% + \l@ngrel@x\expandafter\def\expandafter#1\reserved@a} + +\endinput diff --git a/Master/texmf-dist/doc/latex/lshort-russian/src/fancyvrb.sty b/Master/texmf-dist/doc/latex/lshort-russian/src/fancyvrb.sty new file mode 100644 index 00000000000..1ce5df7c8d6 --- /dev/null +++ b/Master/texmf-dist/doc/latex/lshort-russian/src/fancyvrb.sty @@ -0,0 +1,1426 @@ +%% +%% This is file `fancyvrb.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% fancyvrb.dtx (with options: `fancyvrb') +%% +%% IMPORTANT NOTICE: +%% +%% For the copyright see the source file. +%% +%% Any modified versions of this file must be renamed +%% with new filenames distinct from fancyvrb.sty. +%% +%% For distribution of the original source see the terms +%% for copying and modification in the file fancyvrb.dtx. +%% +%% This generated file may be distributed as long as the +%% original source files, as listed above, are part of the +%% same distribution. (The sources need not necessarily be +%% in the same archive or directory.) +%% +%% Package `fancyvrb' +%% +%% Timothy Van Zandt +%% July 17, 1998 +%% +%% COPYRIGHT 1992-1999, by Timothy Van Zandt +%% +%% This package may be distributed under the terms of the LaTeX Project Public +%% License, as described in lppl.txt in the base LaTeX distribution. +%% Either version 1.0 or, at your option, any later version. +%% +%% DESCRIPTION: +%% fancyvrb.sty is a LaTeX style option, containing flexible +%% verbatim environments and commands and extensive documentation. +%% +%% This is a companion to the `fancybox' package. +%% +\NeedsTeXFormat{LaTeX2e} +\def\fileversion{2.6, with DG/SPQR fixes} +\def\filedate{1998/07/17} +\ProvidesPackage{fancyvrb}[\filedate] +\message{Style option: `fancyvrb' v\fileversion \space <\filedate> (tvz)} +\csname fancyvrb@loaded\endcsname +\let\fancyvrb@loaded\endinput +\def\FV@Error#1#2{% + \edef\@tempc{#2}\expandafter\errhelp\expandafter{\@tempc}% + \errmessage{FancyVerb Error:^^J\space\space #1^^J}} + +\def\FV@eha{Your command was ignored. Type to continue.} +%% DG/SR modification begin - Jan. 21, 1998 +%% Suggested by Bernard Gaulle to solve a compatibility problem with `french' +%% (it introduce the restriction to put \VerbatimFootnotes AFTER the preambule) +%%\def\VerbatimFootnotes{\let\@footnotetext\V@footnotetext} +\let\V@footnote\footnote +\def\VerbatimFootnotes{% +\let\@footnotetext\V@footnotetext% +\let\footnote\V@footnote} +%% DG/SR modification end +\long\def\V@footnotetext{% + \afterassignment\V@@footnotetext + \let\@tempa} +\def\V@@footnotetext{% + \insert\footins\bgroup + \csname reset@font\endcsname + \footnotesize + \interlinepenalty\interfootnotelinepenalty + \splittopskip\footnotesep + \splitmaxdepth\dp\strutbox + \floatingpenalty \@MM + \hsize\columnwidth + \@parboxrestore + \edef\@currentlabel{\csname p@footnote\endcsname\@thefnmark}% + \@makefntext{}% + \rule{\z@}{\footnotesep}% + \bgroup + \aftergroup\V@@@footnotetext + \ignorespaces} +\def\V@@@footnotetext{\strut\egroup} +\RequirePackage{keyval} +\def\define@booleankey#1#2#3#4{% + \@namedef{KV@#1@#2@default}{#3}% + \@namedef{KV@#1@#2@false}{#4}% + \@namedef{KV@#1@#2}##1{\KV@booleankey{##1}{#1}{#2}}} +\def\KV@booleankey#1#2#3{% + \edef\@tempa{#1}\expandafter\KV@@booleankey\@tempa\relax\@nil{#2}{#3}} +\def\KV@@booleankey#1#2\@nil#3#4{% + \@nameuse{KV@#3@#4@\if t#1default\else\if T#1default\else false\fi\fi}} +\def\FV@None{none} +\def\FV@Auto{auto} +\def\fvset#1{\setkeys{FV}{#1}} +\def\FV@Command#1#2{% + \@ifstar + {\def\FV@KeyValues{#1,showspaces}\FV@@Command{#2}}% + {\def\FV@KeyValues{#1}\FV@@Command{#2}}} +\def\FV@@Command#1{% + \@ifnextchar[% + {\FV@GetKeyValues{\@nameuse{FVC@#1}}}% + {\@nameuse{FVC@#1}}} +\def\FV@GetKeyValues#1[#2]{% + \expandafter\def\expandafter\FV@KeyValues\expandafter{\FV@KeyValues,#2}#1} +\def\@CustomVerbatimCommand#1#2#3#4{% + \begingroup\fvset{#4}\endgroup % If there are errors, it easier to locate. +%% DG/SR modification begin - Jan. 13, 1998 +%% \def\@tempa##1##2\@nil{\def\@tempa{##2}}% +%% \expandafter\@tempa\string#3\@empty\@nil +%% \@ifundefined{FVC@\@tempa}% + \@ifundefined{FVC@#3}% +%% DG/SR modification end + {\FV@Error{Command `\string#3' is not a FancyVerb command.}\@eha}% + {#1{#2}{\FV@Command{#4}{#3}}}} +\def\CustomVerbatimCommand{\@CustomVerbatimCommand\newcommand} +\def\RecustomVerbatimCommand{\@CustomVerbatimCommand\renewcommand} +\def\FV@Environment#1#2{% + \def\FV@KeyValues{#1}% + \catcode`\^^M=\active + \@ifnextchar[% + {\catcode`\^^M=5 \FV@GetKeyValues{\@nameuse{FVB@#2}}}% + {\catcode`\^^M=5 \@nameuse{FVB@#2}}} +\def\CustomVerbatimEnvironment{\@CustomVerbatimEnvironment\newenvironment} +\def\RecustomVerbatimEnvironment{\@CustomVerbatimEnvironment\renewenvironment} +\def\@CustomVerbatimEnvironment#1#2#3#4{% + \begingroup\fvset{#4}\endgroup % If there are errors, it easier to locate. + \@ifundefined{FVB@#3}% + {\FV@Error{`#3' is not a FancyVerb environment.}\@eha}% + {#1{#2}{\FV@Environment{#4}{#3}}{\@nameuse{FVE@#3}}% + #1{#2*}{\FV@Environment{#4,showspaces}{#3}}{\@nameuse{FVE@#3}}}} +\def\DefineVerbatimEnvironment#1#2#3{% + \@namedef{#1}{\FV@Environment{#3}{#2}}% + \@namedef{end#1}{\@nameuse{FVE@#2}}% + \@namedef{#1*}{\FV@Environment{#3,showspaces}{#2}}% + \@namedef{end#1*}{\@nameuse{FVE@#2}}} +\def\FV@UseKeyValues{% + \ifx\FV@KeyValues\@empty\else + \def\KV@prefix{KV@FV@}% + \expandafter\KV@do\FV@KeyValues,\relax,% + \def\FV@KeyValues{}% + \fi} +\def\FV@CatCodes{% + \let\do\@makeother\dospecials % The usual stuff. + \FV@ActiveWhiteSpace % See below. + \FV@FontScanPrep % See below. + \FV@CatCodesHook % A style hook. + \FancyVerbCodes} % A user-defined hook. +\def\FV@ActiveWhiteSpace{% + \catcode`\^^M=\active % End of line + \catcode`\ =\active % Space + \catcode`\^^I=\active} % Tab +\def\FV@CatCodesHook{} +\def\FV@AddToHook#1#2{% + \expandafter\def\expandafter#1\expandafter{#1#2\relax}} +\define@key{FV}{codes}[]{\def\FancyVerbCodes{#1\relax}} +\define@key{FV}{codes*}{% + \expandafter\def\expandafter\FancyVerbCodes\expandafter{% + \FancyVerbCodes#1\relax}} +\fvset{codes} +\define@key{FV}{commandchars}[\\\{\}]% + {\def\@tempa{#1}% + \ifx\@tempa\FV@None + \let\FV@CommandChars\relax + \else + \FV@DefineCommandChars#1\relax\relax\relax + \fi} +\def\FV@DefineCommandChars#1#2#3{% + \def\FV@CommandChars{% + \catcode`#1=0\relax\catcode`#2=1\relax\catcode`#3=2\relax}} +\FV@AddToHook\FV@CatCodesHook\FV@CommandChars +\define@key{FV}{commentchar}[\%]{% + \def\@tempa{#1}% + \ifx\@tempa\FV@None + \let\FV@CommentChar\relax + \else + \def\FV@CommentChar{\catcode`#1=14}% + \fi} +\FV@AddToHook\FV@CatCodesHook\FV@CommentChar +\fvset{commandchars=none,commentchar=none} +\define@key{FV}{firstline}{% + \afterassignment\FV@ParseStart\@tempcnta=0#1\relax\@nil{#1}} +\def\FV@ParseStart#1\relax\@nil#2{% + \ifx\@nil#1\@nil + \edef\FancyVerbStartNum{\the\@tempcnta}% + \let\FancyVerbStartString\relax + \else + \edef\FancyVerbStartString{#2}% + \fi} +\def\KV@FV@firstline@default{% + \let\FancyVerbStartNum\z@ + \let\FancyVerbStartString\relax} +\define@key{FV}{lastline}{% + \afterassignment\FV@ParseStop\@tempcnta=0#1\relax\@nil{#1}} +\def\FV@ParseStop#1\relax\@nil#2{% + \ifx\@nil#1\@nil + \edef\FancyVerbStopNum{\the\@tempcnta}% + \let\FancyVerbStopString\relax + \else + \edef\FancyVerbStopString{#2}% + \fi} +\def\KV@FV@lastline@default{% + \let\FancyVerbStopNum\z@ + \let\FancyVerbStopString\relax} +\fvset{firstline,lastline} +\newcount\FV@CodeLineNo +\def\FV@PreProcessLine{% + \global\advance\FV@CodeLineNo\@ne + \FV@FindStartStop} +\def\FV@@PreProcessLine{% + \FV@StepLineNo + \FV@Gobble + \expandafter\FV@ProcessLine\expandafter{\FV@Line}} +\def\FV@FindStartStop{\FV@DefineFindStart\FV@FindStartStop} +%% \def\FV@DefinePreProcessLine{% +%% \setcounter{FancyVerbLine}{0}% +%% \FV@DefineFindStart} +\def\FV@DefineFindStart{% + \ifx\FancyVerbStartString\relax + \ifnum\FancyVerbStartNum<\tw@ + \FV@DefineFindStop + \else + \let\FV@FindStartStop\FV@FindStartNum + \fi + \else + \let\FV@FindStartStop\FV@FindStartString + \fi} +\def\FV@FindStartNum{% + \ifnum\FancyVerbStartNum>\FV@CodeLineNo\else + \FV@DefineFindStop + \expandafter\FV@@PreProcessLine + \fi} +%% SR modification begin - 1996 +\def\FV@FindStartString{% + \expandafter\FV@@FindStartString +{\meaning\FV@Line}% +{\meaning\FancyVerbStartString}% +} +\def\FV@@FindStartString#1#2{% +\edef\@fooA{#1}\edef\@fooB{#2}% + \ifx\@fooA\@fooB + \FV@DefineFindStop + \fi +} +%% SR modification end +\def\FV@DefineFindStop{% + \ifx\FancyVerbStopString\relax + \ifnum\FancyVerbStopNum<\@ne + \let\FV@FindStartStop\FV@@PreProcessLine + \else + \let\FV@FindStartStop\FV@FindStopNum + \fi + \else + \let\FV@FindStartStop\FV@FindStopString + \fi} +\def\FV@FindStopNum{% + \ifnum\FancyVerbStopNum=\FV@CodeLineNo + \let\FV@FindStartStop\relax + \ifeof\FV@InFile\else + \immediate\closein\FV@InFile + \fi + \fi + \FV@@PreProcessLine} +%% SR modification begin - 1996 +\def\FV@FindStopString{% + \expandafter\FV@@FindStopString +{\meaning\FV@Line}% +{\meaning\FancyVerbStopString}% +} +\def\FV@@FindStopString#1#2{% +\edef\@fooA{#1}\edef\@fooB{#2}% + \ifx\@fooA\@fooB + \let\FV@FindStartStop\relax + \ifeof\FV@InFile\else + \immediate\closein\FV@InFile + \fi + \else + \expandafter\FV@@PreProcessLine + \fi} +%% SR modification end +\def\FV@@Gobble{% + \expandafter\expandafter\expandafter\FV@@@Gobble + \expandafter\FV@@@@Gobble\FV@Line + \@nil\@nil\@nil\@nil\@nil\@nil\@nil\@nil\@nil\@nil\@@nil} +\def\FV@@@Gobble#1\@nil#2\@@nil{\def\FV@Line{#1}} +\define@key{FV}{gobble}{% + \@tempcnta=#1\relax + \ifnum\@tempcnta<\@ne + \let\FV@Gobble\relax + \else + \ifnum\@tempcnta>9 + \FV@Error{gobble parameter must be less than 10}\FV@eha + \else + \renewcommand{\FV@@@@Gobble}[\@tempcnta]{}% + \let\FV@Gobble\FV@@Gobble + \fi + \fi} +\def\FV@@@@Gobble{} +\def\KV@FV@gobble@default{\let\FV@Gobble\relax} +\fvset{gobble} +\def\FV@Scan{% + \FV@CatCodes + \VerbatimEnvironment + \FV@DefineCheckEnd + \FV@BeginScanning} +\def\VerbatimEnvironment{% + \ifx\FV@EnvironName\relax\xdef\FV@EnvironName{\@currenvir}\fi} +\let\FV@EnvironName\relax +\begingroup +\catcode`\!=0 +\catcode`\[=1 +\catcode`\]=2 +!gdef!FV@CheckEnd@i#1[!FV@@CheckEnd#1\end{}!@nil] +!gdef!FV@@CheckEnd@i#1\end#2#3!@nil[!def!@tempa[#2]!def!@tempb[#3]] +!gdef!FV@@@CheckEnd@i[\end{}] +\catcode`!\=12 + +!gdef!FV@CheckEnd@ii#1[!FV@@CheckEnd#1\end{}!@nil] +!gdef!FV@@CheckEnd@ii#1\end#2#3!@nil[!def!@tempa[#2]!def!@tempb[#3]] +!gdef!FV@@@CheckEnd@ii[\end{}] +!catcode`!{=12 +!catcode`!}=12 + +!gdef!FV@CheckEnd@iii#1[!FV@@CheckEnd#1\end{}!@nil] +!gdef!FV@@CheckEnd@iii#1\end{#2}#3!@nil[!def!@tempa[#2]!def!@tempb[#3]] +!gdef!FV@@@CheckEnd@iii[\end{}] +!catcode`!\=0 + +!gdef!FV@CheckEnd@iv#1[!FV@@CheckEnd#1\end{}!@nil] +!gdef!FV@@CheckEnd@iv#1\end{#2}#3!@nil[!def!@tempa[#2]!def!@tempb[#3]] +!gdef!FV@@@CheckEnd@iv[\end{}] +\endgroup +\def\FV@BadCodes#1{% + \FV@Error + {\string\catcode\space of \expandafter\@gobble\string#1 is wrong: + \the\catcode`#1}% + {Only the following catcode values are allowed: + ^^J\@spaces \expandafter\@gobble\string\\ \space\space --> 0 or 12. + ^^J\@spaces \string{ \string} --> 1 and 2, resp., or both 12. + ^^JTo get this error, either you are a hacker or you got bad advice.}% + \def\FV@CheckEnd##1{\iftrue}} +\def\FV@DefineCheckEnd{% + \ifnum\catcode`\\=\z@ + \ifnum\catcode`\{=\@ne + \let\FV@CheckEnd\FV@CheckEnd@i + \let\FV@@CheckEnd\FV@@CheckEnd@i + \let\FV@@@CheckEnd\FV@@@CheckEnd@i + \else + \ifnum\catcode`\{=12 + \let\FV@CheckEnd\FV@CheckEnd@iv + \let\FV@@CheckEnd\FV@@CheckEnd@iv + \let\FV@@@CheckEnd\FV@@@CheckEnd@iv + \else + \FV@BadCodes\{% + \fi + \fi + \else + \ifnum\catcode`\\=12 + \ifnum\catcode`\{=\@ne + \let\FV@CheckEnd\FV@CheckEnd@ii + \let\FV@@CheckEnd\FV@@CheckEnd@ii + \let\FV@@@CheckEnd\FV@@@CheckEnd@ii + \else + \ifnum\catcode`\{=12 + \let\FV@CheckEnd\FV@CheckEnd@iii + \let\FV@@CheckEnd\FV@@CheckEnd@iii + \let\FV@@@CheckEnd\FV@@@CheckEnd@iii + \else + \FV@BadCodes\{% + \fi + \fi + \else + \FV@BadCodes\\% + \fi + \fi} +\begingroup +\catcode`\^^M=\active + \gdef\FV@BeginScanning#1^^M{% + \def\@tempa{#1}\ifx\@tempa\@empty\else\FV@BadBeginError\fi% + \FV@GetLine}% +\endgroup +\def\FV@BadBeginError#1{% + \expandafter\@temptokena\expandafter{\@tempa}% + \FV@Error + {Extraneous input `\the\@temptokena' between + \string\begin{\FV@EnvironName}[] and line end}% + {This input will be discarded. Hit to continue.}} +%% DG/SR modification begin - May. 18, 1998 (added code to turn off ligatures) +%% \def\FV@GetLine{\expandafter\FV@CheckScan\FancyVerbGetLine} +\def\FV@GetLine{\@noligs\expandafter\FV@CheckScan\FancyVerbGetLine} +%% DG/SR modification end +\begingroup +\catcode`\^^M=\active +\gdef\FancyVerbGetLine#1^^M{% + \@nil + \FV@CheckEnd{#1}% + \ifx\@tempa\FV@EnvironName% % True if end is found + \ifx\@tempb\FV@@@CheckEnd\else\FV@BadEndError\fi% + \let\next\FV@EndScanning% + \else% + \def\FV@Line{#1}% + \def\next{\FV@PreProcessLine\FV@GetLine}% + \fi% + \next}% +\endgroup +\def\FV@BadEndError{% + \expandafter\@temptokena\expandafter{\@tempb}% + \FV@Error + {Extraneous input `\the\@temptokena' between + \string\end{\FV@EnvironName} and line end}% + {This input will be discarded. Type to continue.}} +\def\FV@EndScanning{% + \edef\next{\noexpand\end{\FV@EnvironName}}% + \global\let\FV@EnvironName\relax + \next} +\@ifundefined{@currenvline}{\let\@currenvline\@empty}{} +\def\FV@CheckScan#1{\@ifnextchar\@nil{\@gobble}{\FV@EOF}} +\def\FV@CheckScan#1{\ifx\@nil#1\@empty\else\expandafter\FV@EOF\fi} +\def\FV@EOF{% + \FV@Error{Couldn't find `\string\end{\FV@EnvironName}' to end + a verbatim environment\@currenvline.}% + {Probably you mistyped the environment name or included an extraneous + ^^Jspace, or are using an improperly defined verbatim environment. + ^^JHit return and I will try to terminate this job.}% + \FV@EndScanning + \end{document}} + % \subsection{Input} +\newread\FV@InFile +\def\FV@Input#1{% + \immediate\openin\FV@InFile #1\relax + \ifeof\FV@InFile + \FV@Error{No verbatim file #1}\FV@eha + \immediate\closein\FV@InFile + \else + \FV@CatCodes + \expandafter\FV@@Input + \fi} +\def\FV@@Input{% + \def\FV@Line{}% + \FV@ReadLine + \ifeof\FV@InFile + \ifx\FV@Line\@empty\else + \FV@PreProcessLine + \fi + \immediate\closein\FV@InFile + \else + \FV@PreProcessLine + \expandafter\FV@@Input + \fi} +\begingroup +\catcode`\^^M=\active +\gdef\FV@ReadLine{% + \ifeof\FV@InFile\else + \immediate\read\FV@InFile to\@tempa% + \expandafter\FV@@ReadLine\@tempa^^M\relax^^M\@nil% + \fi} +\gdef\FV@@ReadLine#1^^M#2^^M#3\@nil{% + \expandafter\def\expandafter\FV@Line\expandafter{% + \FV@Line#1}% + \ifx\relax#2\@empty\expandafter\FV@ReadLine\fi}% +\endgroup +\def\FV@FormattingPrep{% + \global\FV@CodeLineNo\z@ + \frenchspacing % Cancels special punctuation spacing. + \FV@SetupFont % See below. + \FV@DefineWhiteSpace % See below. + \FancyVerbDefineActive + \FancyVerbFormatCom} % A user-defined hook (formatcom parameter). +\expandafter\ifx\csname selectfont\endcsname\relax +\def\FV@SetupFont{% + \FV@BaseLineStretch + \ifx\@currsize\small\normalsize\else\small\fi\@currsize + \FV@FontSize + \FV@FontFamily} + +\else + +\def\FV@SetupFont{% + \FV@BaseLineStretch + \FV@FontSize + \FV@FontFamily + \FV@FontSeries + \FV@FontShape + \selectfont +%% DG/SR modification begin - May. 18, 1998 (added code to turn off ligatures) + \@noligs} +%% DG/SR modification end +\fi +\define@key{FV}{fontsize}{% + \def\@tempa{#1}% + \ifx\@tempa\FV@Auto + \let\FV@FontSize\relax + \else + \def\FV@FontSize{#1}% + \fi} +\def\KV@FV@fontsize@default{\let\FV@FontSize\relax} +\define@key{FV}{baselinestretch}[auto]{% + \def\@tempa{#1}% + \ifx\@tempa\FV@Auto + \let\FV@BaseLineStretch\relax + \else + \def\FV@BaseLineStretch{\def\baselinestretch{#1}}% + \fi} +\def\KV@FV@baselinestretch@default{\let\FV@BaseLineStretch\relax} +\define@key{FV}{fontfamily}{% + \@ifundefined{FV@fontfamily@#1}% + {\def\FV@FontScanPrep{}\def\FV@FontFamily{\fontfamily{#1}}} + {\csname FV@fontfamily@#1\endcsname}} +\define@key{FV}{fontseries}{% + \def\@tempa{#1}% + \ifx\@tempa\FV@Auto + \let\FV@FontSeries\relax + \else + \def\FV@FontSeries{\fontseries{#1}}% + \fi} +\define@key{FV}{fontshape}{% + \def\@tempa{#1}% + \ifx\@tempa\FV@Auto + \let\FV@FontShape\relax + \else + \def\FV@FontShape{\fontshape{#1}}% + \fi} +\def\FV@MakeActive#1{% + \catcode`#1=\active + \def\next##1{\expandafter\def\expandafter\FV@MakeUnActive\expandafter{% + \FV@MakeUnActive\def##1{\string##1}}}% + \begingroup\lccode`~=`#1\relax\expandafter\next\expandafter~\endgroup} +\def\FV@MakeUnActive{} +\begingroup +\catcode`\`=\active +\gdef\FV@fontfamily@tt{% + \def\FV@FontScanPrep{\FV@MakeActive\`}% +%% SR modification begin - 1995 +%% \def\FV@FontFamily{\tt`{{\string`}}}} + \def\FV@FontFamily{\ttfamily\edef`{{\string`}}}} +%% SR modification end +\gdef\FV@fontfamily@cmtt{% + \def\FV@FontScanPrep{\FV@MakeActive\`}% + \def\FV@FontFamily{\edef`{{\string`}}\fontfamily{cmtt}}} +\endgroup +\@namedef{FV@fontfamily@cmtt-spanish}{% + \def\FV@FontScanPrep{}% + \def\FV@FontFamily{\fontfamily{cmtt}}} +\@namedef{FV@fontfamily@courier}{% + \def\FV@FontScanPrep{}% +%% SR modification begin - 1995 +%% \def\FV@FontFamily{\fontfamily{rpcr}}} + \def\FV@FontFamily{\fontfamily{pcr}}} +%% SR modification end +\@namedef{FV@fontfamily@helvetica}{% + \def\FV@FontScanPrep{}% +%% SR modification begin - 1995 +%% \def\FV@FontFamily{\fontfamily{rphv}}} + \def\FV@FontFamily{\fontfamily{phv}}} +%% SR modification end +\fvset{fontfamily=tt,fontsize=auto,fontshape=auto,fontseries=auto, + baselinestretch=auto} +\begingroup +\catcode`\ =\active +\catcode`\^^I=\active +\gdef\FV@DefineWhiteSpace{\def {\FV@Space}\def^^I{\FV@Tab}}% +\endgroup +\define@key{FV}{defineactive}[]{\def\FancyVerbDefineActive{#1\relax}} +\define@key{FV}{defineactive*}{% + \expandafter\def\expandafter\FancyVerbDefineActive\expandafter{% + \FancyVerbDefineActive#1\relax}} +\fvset{defineactive} +\define@booleankey{FV}{showspaces}% + {\def\FV@Space{{\FancyVerbSpace}}}% + {\def\FV@Space{\ }} +{\catcode`\ =12 \gdef\FancyVerbSpace{\tt }} +\fvset{showspaces=false} +\def\FV@Tab{\hbox to\FancyVerbTabSize\fontdimen2\font{\hss\FV@TabChar}} +\define@key{FV}{tabsize}{% + \@tempcnta=#1\relax + \ifnum\@tempcnta>100 + \FV@Error{Tab size too large: `\the\@tempcnta'. (Max size = 100)}\FV@eha + \else + \edef\FancyVerbTabSize{\the\@tempcnta}% + \fi} +\define@booleankey{FV}{showtabs}% + {\def\FV@TabChar{\FancyVerbTab}}% + {\let\FV@TabChar\relax} +\fvset{tabsize=8,showtabs=false} +\def\FancyVerbTab{% + \valign{% + \vfil##\vfil\cr + \hbox{$\scriptscriptstyle-$}\cr + \hbox to 0pt{\hss$\scriptscriptstyle\rangle\mskip -.8mu$}\cr + \hbox{$\scriptstyle\mskip -3mu\mid\mskip -1.4mu$}\cr}} +\newbox\FV@TabBox +\def\FV@@ObeyTabsInit{% + \@tempdimb=\FancyVerbTabSize\fontdimen\tw@\font + \edef\FV@ObeyTabSize{\number\@tempdimb}% + \advance\@tempdimb\fontdimen\tw@\font + \advance\@tempdimb-\FancyVerbTabSize sp % Allow for rounding errors. + \edef\FV@@ObeyTabSize{\number\@tempdimb}% + \let\FV@ObeyTabs\FV@@ObeyTabs + \let\FV@Tab\FV@TrueTab} +\def\FV@@ObeyTabs#1{\setbox\FV@TabBox=\hbox{#1}\box\FV@TabBox} +\let\FV@ObeyTabs\relax +\def\FV@TrueTab{% + \egroup + \@tempdima=\FV@ObeyTabSize sp\relax + \@tempcnta=\wd\FV@TabBox + \advance\@tempcnta\FV@@ObeyTabSize\relax + \divide\@tempcnta\@tempdima + \multiply\@tempdima\@tempcnta + \advance\@tempdima-\wd\FV@TabBox + \setbox\FV@TabBox=\hbox\bgroup + \unhbox\FV@TabBox\kern\@tempdima\hbox to\z@{\hss\FV@TabChar}} +\define@booleankey{FV}{obeytabs}% + {\let\FV@ObeyTabsInit\FV@@ObeyTabsInit}% + {\let\FV@ObeyTabsInit\relax} +\fvset{obeytabs=false} +\define@key{FV}{formatcom}[]{\def\FancyVerbFormatCom{#1\relax}} +\define@key{FV}{formatcom*}{% + \expandafter\def\expandafter\FancyVerbFormatCom\expandafter{% + \FancyVerbFormatCom#1\relax}} +\fvset{formatcom} +\def\FancyVerbFormatLine#1{\FV@ObeyTabs{#1}} +\define@key{FV}{xleftmargin}{\def\FV@XLeftMargin{#1}} +\let\FV@XLeftMargin\z@ +\define@key{FV}{xrightmargin}{\def\FV@XRightMargin{#1}} +\let\FV@XRightMargin\z@ +\define@booleankey{FV}{resetmargins}% + {\let\if@FV@ResetMargins\iftrue} + {\let\if@FV@ResetMargins\iffalse} +\fvset{resetmargins=false} +\define@key{FV}{listparameters}{\def\FV@ListParameterHook{#1}} +\def\FV@ListParameterHook{} +\define@key{FV}{hfuzz}{% + \@tempdima=#1\relax + \edef\FancyVerbHFuzz{\number\@tempdima sp}} +\fvset{hfuzz=2pt} +\define@booleankey{FV}{samepage}% + {\def\FV@InterLinePenalty{\interlinepenalty\@M}}% + {\let\FV@InterLinePenalty\relax} +\fvset{samepage=false} +\def\FV@List#1{% + \begingroup + \FV@UseKeyValues + \FV@LeaveVMode + \if@inlabel\else\setbox\@labels=\box\voidb@x\fi + \FV@ListNesting{#1}% + \FV@ListParameterHook + \FV@ListVSpace + \FV@SetLineWidth + \FV@InterLinePenalty + \let\FV@ProcessLine\FV@ListProcessLine@i + \FV@CatCodes + \FV@FormattingPrep + \FV@ObeyTabsInit + \FV@BeginListFrame} +\def\FV@LeaveVMode{% + \if@noskipsec + \leavevmode + \else + \if@FV@ResetMargins\if@inlabel\leavevmode\fi\fi + \fi + \ifvmode\@noparlisttrue\else\@noparlistfalse\unskip\par\fi} +\def\FV@ListNesting#1{% + \if@FV@ResetMargins + \@listdepth=\z@ + \else + \ifnum\@listdepth>5\relax + \@toodeep + \else + \advance\@listdepth\@ne + \fi + \fi + \rightmargin\z@ + \csname @list\romannumeral\the\@listdepth\endcsname + \ifnum#1=\z@ + \rightmargin\z@ + \leftmargin\z@ + \fi} +\def\FV@ListVSpace{% + \@topsepadd\topsep + \if@noparlist\advance\@topsepadd\partopsep\fi + \if@inlabel + \vskip\parskip + \else + \if@nobreak + \vskip\parskip + \clubpenalty\@M + \else + \addpenalty\@beginparpenalty + \@topsep\@topsepadd + \advance\@topsep\parskip + \addvspace\@topsep + \fi + \fi + \global\@nobreakfalse + \global\@inlabelfalse + \global\@minipagefalse + \global\@newlistfalse} +\def\FV@SetLineWidth{% + \if@FV@ResetMargins\else + \advance\leftmargin\@totalleftmargin + \fi + \advance\leftmargin\FV@XLeftMargin\relax + \advance\rightmargin\FV@XRightMargin\relax + \linewidth\hsize + \advance\linewidth-\leftmargin + \advance\linewidth-\rightmargin + \hfuzz\FancyVerbHFuzz\relax} +\def\FV@ListProcessLine#1{% + \hbox to \hsize{% + \kern\leftmargin + \hbox to \linewidth{% + \FV@LeftListNumber + \FV@LeftListFrame + \FancyVerbFormatLine{#1}\hss +%% DG/SR modification begin - Jan. 28, 1998 (for numbers=right add-on) +%% \FV@RightListFrame}% + \FV@RightListFrame + \FV@RightListNumber}% +%% DG/SR modification end + \hss}} +\def\FV@ListProcessLine@i#1{% + \hbox{% + \ifvoid\@labels\else + \hbox to \z@{\kern\@totalleftmargin\box\@labels\hss}% + \fi + \FV@ListProcessLine{#1}}% + \let\FV@ProcessLine\FV@ListProcessLine@ii} +\def\FV@ListProcessLine@ii#1{% + \setbox\@tempboxa=\FV@ListProcessLine{#1}% + \let\FV@ProcessLine\FV@ListProcessLine@iii} +\def\FV@ListProcessLine@iii#1{% + {\advance\interlinepenalty\clubpenalty\penalty\interlinepenalty}% + \box\@tempboxa + \setbox\@tempboxa=\FV@ListProcessLine{#1}% + \let\FV@ProcessLine\FV@ListProcessLine@iv} +\def\FV@ListProcessLine@iv#1{% + \penalty\interlinepenalty + \box\@tempboxa + \setbox\@tempboxa=\FV@ListProcessLine{#1}}% +\def\FV@EndList{% + \FV@ListProcessLastLine + \FV@EndListFrame + \@endparenv + \endgroup + \@endpetrue} +\def\FV@ListProcessLastLine{% + \ifx\FV@ProcessLine\FV@ListProcessLine@iv + {\advance\interlinepenalty\widowpenalty\penalty\interlinepenalty}% + \box\@tempboxa + \else + \ifx\FV@ProcessLine\FV@ListProcessLine@iii + {\advance\interlinepenalty\widowpenalty + \advance\interlinepenalty\clubpenalty + \penalty\interlinepenalty}% + \box\@tempboxa + \else + \ifx\FV@ProcessLine\FV@ListProcessLine@i + \FV@Error{Empty verbatim environment}{}% + \FV@ProcessLine{}% + \fi + \fi + \fi} +\def\FV@VerbatimBegin{\FV@List\z@} +\def\FV@VerbatimEnd{\FV@EndList} +\def\FVB@Verbatim{\FV@VerbatimBegin\FV@Scan} +\def\FVE@Verbatim{\FV@VerbatimEnd} +\DefineVerbatimEnvironment{Verbatim}{Verbatim}{} +\def\FV@UseVerbatim#1{% + \FV@VerbatimBegin#1\FV@VerbatimEnd + \@doendpe\global\@ignorefalse\ignorespaces} +\def\VerbatimInput{\FV@Command{}{VerbatimInput}} +\def\FVC@VerbatimInput#1{\FV@UseVerbatim{\FV@Input{#1}}} +\def\FV@LVerbatimBegin{\FV@List\@ne} +\def\FV@LVerbatimEnd{\FV@EndList} +\def\FVB@LVerbatim{\FV@LVerbatimBegin\FV@Scan} +\def\FVE@LVerbatim{\FV@LVerbatimEnd} +\DefineVerbatimEnvironment{LVerbatim}{LVerbatim}{} +\def\FV@LUseVerbatim#1{% + \FV@LVerbatimBegin#1\FV@LVerbatimEnd + \@doendpe\global\@ignorefalse\ignorespaces} +\def\LVerbatimInput{\FV@Command{}{LVerbatimInput}} +\def\FVC@LVerbatimInput#1{\FV@LUseVerbatim{\FV@Input{#1}}} +\def\FV@Frame@none{% + \let\FV@BeginListFrame\relax + \let\FV@LeftListFrame\relax + \let\FV@RightListFrame\relax + \let\FV@EndListFrame\relax} +\def\FV@Frame@single{% + \let\FV@BeginListFrame\FV@BeginListFrame@Single + \let\FV@LeftListFrame\FV@LeftListFrame@Single + \let\FV@RightListFrame\FV@RightListFrame@Single + \let\FV@EndListFrame\FV@EndListFrame@Single} +\def\FV@Frame@lines{% + \let\FV@BeginListFrame\FV@BeginListFrame@Lines + \let\FV@LeftListFrame\relax + \let\FV@RightListFrame\relax + \let\FV@EndListFrame\FV@EndListFrame@Lines} +\def\FV@Frame@topline{% + \let\FV@BeginListFrame\FV@BeginListFrame@Lines + \let\FV@LeftListFrame\relax + \let\FV@RightListFrame\relax + \let\FV@EndListFrame\relax} +\def\FV@Frame@bottomline{% + \let\FV@BeginListFrame\relax + \let\FV@LeftListFrame\relax + \let\FV@RightListFrame\relax + \let\FV@EndListFrame\FV@EndListFrame@Lines} +%% To define a frame with only a left line +\def\FV@Frame@leftline{% + % To define the \FV@FrameFillLine macro (from \FV@BeginListFrame) + \ifx\FancyVerbFillColor\relax + \let\FV@FrameFillLine\relax + \else + \@tempdima\FV@FrameRule\relax + \multiply\@tempdima-\tw@ + \edef\FV@FrameFillLine{% + {\noexpand\FancyVerbFillColor{\vrule\@width\number\@tempdima sp}% + \kern-\number\@tempdima sp}}% + \fi + \let\FV@BeginListFrame\relax + \let\FV@LeftListFrame\FV@LeftListFrame@Single + \let\FV@RightListFrame\relax + \let\FV@EndListFrame\relax} +\def\FV@BeginListFrame@Single{% + \lineskip\z@ + \baselineskip\z@ + \ifx\FancyVerbFillColor\relax + \let\FV@FrameFillLine\relax + \else + \@tempdima\FV@FrameRule\relax + \multiply\@tempdima-\tw@ + \edef\FV@FrameFillLine{% + {\noexpand\FancyVerbFillColor{\vrule\@width\number\@tempdima sp}% + \kern-\number\@tempdima sp}}% + \fi +%% DG/SR modification begin - May. 19, 1998 +%% \FV@SingleFrameLine + \FV@SingleFrameLine{\z@}% +%% DG/SR modification end + \penalty\@M + \FV@SingleFrameSep + \penalty\@M} +%% DG/SR modification begin - May. 19, 1998 +\define@key{FV}{label}{% + \def\@tempa{#1}% + \ifx\@tempa\FV@None + \let\FV@LabelBegin\relax + \let\FV@LabelEnd\relax + \else + \FV@Label@i#1\@nil% + \fi} +\def\FV@Label@i{\@ifnextchar[{\FV@Label@ii}{\FV@Label@ii[]}} +\def\FV@Label@ii[#1]#2\@nil{% + \def\@tempa{#1}% + \ifx\@tempa\empty + \def\FV@LabelBegin{#2}% + \else + \def\FV@LabelBegin{#1}% + \def\FV@LabelPositionBottomLine{\@ne}% + \fi + \def\FV@LabelEnd{#2}} +\fvset{label=none} +\define@key{FV}{labelposition}[none]{% + \@ifundefined{FV@LabelPosition@#1}% + {\FV@Error{Label position `#1' not defined.}\FV@eha}% + {\@nameuse{FV@LabelPosition@#1}}} +\def\FV@LabelPosition@none{% + \let\FV@LabelPositionTopLine\relax% + \let\FV@LabelPositionBottomLine\relax} +\def\FV@LabelPosition@topline{% + \def\FV@LabelPositionTopLine{\@ne}% + \let\FV@LabelPositionBottomLine\relax} +\def\FV@LabelPosition@bottomline{% + \let\FV@LabelPositionTopLine\relax% + \def\FV@LabelPositionBottomLine{\@ne}} +\def\FV@LabelPosition@all{% + \def\FV@LabelPositionTopLine{\@ne}% + \def\FV@LabelPositionBottomLine{\@ne}} +\fvset{labelposition=topline} +%% DG/SR modification end +%% DG/SR modification begin - May. 19, 1998 +%% \def\FV@SingleFrameLine{% +\def\FV@SingleFrameLine#1{% +%% DG/SR modification end + \hbox to\z@{% + \kern\leftmargin +%% DG/SR modification begin - Jun. 22, 1998 + \ifnum#1=\z@ + \let\FV@Label\FV@LabelBegin + \else + \let\FV@Label\FV@LabelEnd + \fi + \ifx\FV@Label\relax +%% DG/SR modification end + \FancyVerbRuleColor{\vrule \@width\linewidth \@height\FV@FrameRule}% +%% DG/SR modification begin - Jun. 22, 1998 + \else + \ifnum#1=\z@ + \setbox\z@\hbox{\strut\enspace\FV@LabelBegin\enspace\strut}% + \else + \setbox\z@\hbox{\strut\enspace\FV@LabelEnd\enspace\strut}% + \fi + \@tempdimb=\dp\z@ + \advance\@tempdimb -.5\ht\z@ + \@tempdimc=\linewidth + \advance\@tempdimc -\wd\z@ + \divide\@tempdimc\tw@ + \ifnum#1=\z@ % Top line + \ifx\FV@LabelPositionTopLine\relax + \FancyVerbRuleColor{\vrule \@width\linewidth \@height\FV@FrameRule}% + \else + \FV@FrameLineWithLabel + \fi + \else % Bottom line + \ifx\FV@LabelPositionBottomLine\relax + \FancyVerbRuleColor{\vrule \@width\linewidth \@height\FV@FrameRule}% + \else + \FV@FrameLineWithLabel + \fi + \fi + \fi +%% DG/SR modification end + \hss}} +%% DG/SR modification begin - May. 19, 1998 +\def\FV@FrameLineWithLabel{% + \ht\z@\@tempdimb\dp\z@\@tempdimb% + \FancyVerbRuleColor{% + \vrule \@width\@tempdimc \@height\FV@FrameRule + \raise\@tempdimb\box\z@ + \vrule \@width\@tempdimc \@height\FV@FrameRule}} +%% DG/SR modification end +\def\FV@BeginListFrame@Lines{% + \begingroup + \lineskip\z@skip +%% DG modification begin - June 18, 1997 (effect of \baselineskip too earlier) +%% \baselineskip\z@skip +%% \FV@SingleFrameLine +%% DG/SR modification begin - May. 19, 1998 +%% \FV@SingleFrameLine + \FV@SingleFrameLine{\z@}% +%% DG/SR modification end + \kern-0.5\baselineskip\relax + \baselineskip\z@skip +%% DG modification end + \kern\FV@FrameSep\relax + \endgroup}% +\def\FV@EndListFrame@Lines{% + \begingroup + \baselineskip\z@skip + \kern\FV@FrameSep\relax +%% DG/SR modification begin - May. 19, 1998 +%% \FV@SingleFrameLine + \FV@SingleFrameLine{\@ne}% +%% DG/SR modification end + \endgroup} +\def\FV@SingleFrameSep{% + \hbox to \z@{% + \kern\leftmargin + \hbox to\linewidth{% + \FancyVerbRuleColor{% +%% DG modification begin - June 18, 1997 (\FV@FrameSep missing) + \ifx\FancyVerbFillColor\relax + \vrule\@width 0pt\@height\FV@FrameSep\relax + \fi +%% DG modification end + \vrule\@width\FV@FrameRule\relax + \ifx\FancyVerbFillColor\relax + \hfil + \else + {\FancyVerbFillColor\leaders\hrule\@height\FV@FrameSep\hfil}% + \fi +%% DG modification begin - June 18, 1997 (\FV@FrameSep missing) + \ifx\FancyVerbFillColor\relax + \vrule\@width 0pt\@height\FV@FrameSep\relax + \fi +%% DG modification end + \vrule\@width\FV@FrameRule\relax}}% + \hss}} +\def\FV@LeftListFrame@Single{% + \strut + {\FancyVerbRuleColor{\vrule \@width\FV@FrameRule}}% + \FV@FrameFillLine +%% DG modification begin - June 18, 1997 (to fill color on left side) +%% \kern\FV@FrameSep} + \ifx\FancyVerbFillColor\relax + \kern\FV@FrameSep + \else + {\noexpand\leavevmode\FancyVerbFillColor{\vrule\@width\FV@FrameSep}}% + \fi} +%% DG modification end +\def\FV@RightListFrame@Single{% +%% DG modification begin - June 18, 1997 (to fill color on right side) +%% \kern\FV@FrameSep + \ifx\FancyVerbFillColor\relax + \kern\FV@FrameSep + \else + {\noexpand\leavevmode\FancyVerbFillColor{\vrule\@width\FV@FrameSep}}% + \fi + {\noexpand\leavevmode\FancyVerbRuleColor{\vrule\@width\FV@FrameRule}}} +%% DG modification end +\def\FV@EndListFrame@Single{% + \penalty\@M + \FV@SingleFrameSep + \penalty\@M +%% DG/SR modification begin - May. 19, 1998 +%% \FV@SingleFrameLine} + \FV@SingleFrameLine{\@ne}} +%% DG/SR modification end +\define@key{FV}{framerule}{% + \@tempdima=#1\relax + \edef\FV@FrameRule{\number\@tempdima sp\relax}} +\def\KV@FV@framerule@default{\let\FV@FrameRule\fboxrule} +\define@key{FV}{framesep}{% + \@tempdima=#1\relax + \edef\FV@FrameSep{\number\@tempdima sp\relax}} +\def\KV@FV@framesep@default{\let\FV@FrameSep\fboxsep} +\fvset{framerule,framesep} +\define@key{FV}{rulecolor}{% + \def\@tempa{#1}% + \ifx\@tempa\FV@None + \let\FancyVerbRuleColor\relax + \else + \let\FancyVerbRuleColor\@tempa + \fi} +\define@key{FV}{fillcolor}{% + \def\@tempa{#1}% + \ifx\@tempa\FV@None + \let\FancyVerbFillColor\relax + \else + \let\FancyVerbFillColor\@tempa + \fi} +\fvset{rulecolor=none,fillcolor=none} +\def\FV@Frame@double{% + \let\FV@FrameBegin\FV@FrameBegin@double + \let\FV@FrameLine\FV@FrameLine@double + \let\FV@FrameEnd\FV@FrameEnd@double} +\define@key{FV}{frame}[none]{% + \@ifundefined{FV@Frame@#1}% + {\FV@Error{Frame style `#1' not defined.}\FV@eha}% + {\@nameuse{FV@Frame@#1}}} +\fvset{frame=none} +\newcounter{FancyVerbLine} +\define@key{FV}{firstnumber}[auto]{% + \def\@tempa{#1}\def\@tempb{auto}% + \ifx\@tempa\@tempb + \def\FV@SetLineNo{% + \c@FancyVerbLine\FV@CodeLineNo + \advance\c@FancyVerbLine\m@ne}% + \else + \def\@tempb{last}% + \ifx\@tempa\@tempb + \let\FV@SetLineNo\relax + \else +%% DG/SR modification begin - Jan. 19, 1998 +%% \def\FV@SetLineNo{\c@FancyVerbLine#1}% + \def\FV@SetLineNo{% + \c@FancyVerbLine#1 + \advance\c@FancyVerbLine\m@ne}% +%% DG/SR modification end + \fi + \fi} +\define@booleankey{FV}{numberblanklines}% + {\let\if@FV@NumberBlankLines\iftrue} + {\let\if@FV@NumberBlankLines\iffalse} +\fvset{numberblanklines=true} +%% DG/SR modification begin - May. 20, 1998 +%%\def\refstepcounter#1{% Adapted from latex.ltx +\def\FV@refstepcounter#1{% +%% DG/SR modification end + \stepcounter{#1}% + \protected@edef\@currentlabel + {\csname p@#1\endcsname\arabic{FancyVerbLine}}} +\def\FV@StepLineNo{% + \FV@SetLineNo +%% DG/SR modification begin - Apr. 28, 1998 and May 20, 1998 +%% \def\FV@StepLineNo{\refstepcounter{FancyVerbLine}}% + \def\FV@StepLineNo{% + \if@FV@NumberBlankLines + \FV@refstepcounter{FancyVerbLine} + \else + \ifx\FV@Line\empty + \else + \FV@refstepcounter{FancyVerbLine} + \fi + \fi}% +%% DG/SR modification end + \FV@StepLineNo} +%% DG/SR modification begin - 1995 +%%\def\theFancyVerbLine{\rm\tiny\arabic{FancyVerbLine}} +\def\theFancyVerbLine{\rmfamily\tiny\arabic{FancyVerbLine}} +%% DG/SR modification end +\define@key{FV}{numbers}[none]{% + \@ifundefined{FV@Numbers@#1}% + {\FV@Error{Numbers style `#1' not defined.}\FV@eha}% + {\@nameuse{FV@Numbers@#1}}} +%% DG modification begin - Dec. 20, 1995 and Jan. 28, 1998 +%%\def\FV@Numbers@none{\let\FV@LeftListNumber\relax} +\def\FV@Numbers@none{% +\let\FV@LeftListNumber\relax +\let\FV@RightListNumber\relax} +\newcount\FV@StepNumber +\define@key{FV}{stepnumber}{\FV@StepNumber#1} +\def\KV@FV@stepnumber@default{\FV@StepNumber\@ne} +\fvset{stepnumber} +%% DG modification begin - Dec. 20, 1995 +%%\def\FV@Numbers@left{% +%% \def\FV@LeftListNumber{\hbox to\z@{% +%% \hss\theFancyVerbLine\kern\FV@NumberSep}}} +\def\FV@Numbers@left{% +%% DG/SR modification begin - Apr. 28, 1998 + \let\FV@RightListNumber\relax +%% DG/SR modification end + \def\FV@LeftListNumber{% + \@tempcnta=\FV@CodeLineNo + \@tempcntb=\FV@CodeLineNo + \divide\@tempcntb\FV@StepNumber + \multiply\@tempcntb\FV@StepNumber + \ifnum\@tempcnta=\@tempcntb +%% DG/SR modification begin - Apr. 28, 1998 +%% \hbox to\z@{\hss\theFancyVerbLine\kern\FV@NumberSep}% + \if@FV@NumberBlankLines + \hbox to\z@{\hss\theFancyVerbLine\kern\FV@NumberSep}% + \else + \ifx\FV@Line\empty + \else + \hbox to\z@{\hss\theFancyVerbLine\kern\FV@NumberSep}% + \fi + \fi +%% DG/SR modification end + \fi}} +\def\FV@Numbers@right{% +%% DG/SR modification begin - Apr. 28, 1998 + \let\FV@LeftListNumber\relax +%% DG/SR modification end + \def\FV@RightListNumber{% + \@tempcnta=\FV@CodeLineNo + \@tempcntb=\FV@CodeLineNo + \divide\@tempcntb\FV@StepNumber + \multiply\@tempcntb\FV@StepNumber + \ifnum\@tempcnta=\@tempcntb +%% DG/SR modification begin - Apr. 28, 1998 +%% \hbox to \z@{\kern\FV@NumberSep\theFancyVerbLine\hss}% + \if@FV@NumberBlankLines + \hbox to\z@{\kern\FV@NumberSep\theFancyVerbLine\hss}% + \else + \ifx\FV@Line\empty + \else + \hbox to\z@{\kern\FV@NumberSep\theFancyVerbLine\hss}% + \fi + \fi +%% DG/SR modification end + \fi}} +%% DG modification end +\define@key{FV}{numbersep}{% + \@tempdima=#1\relax + \edef\FV@NumberSep{\number\@tempdima sp\relax}} +\fvset{numbers=none,numbersep=12pt,firstnumber=auto} +\def\FV@BVerbatimBegin{% + \begingroup + \FV@UseKeyValues + \FV@BeginVBox + \let\FV@ProcessLine\FV@BProcessLine + \FV@FormattingPrep + \FV@ObeyTabsInit}% +\def\FV@BVerbatimEnd{\FV@EndVBox\endgroup} +\def\FV@BeginVBox{% + \leavevmode + \hbox\ifx\FV@boxwidth\relax\else to\FV@boxwidth\fi\bgroup + \ifcase\FV@baseline\vbox\or\vtop\or$\vcenter\fi\bgroup} +\def\FV@EndVBox{\egroup\ifmmode$\fi\hfil\egroup} +\define@key{FV}{boxwidth}{% + \def\@tempa{#1}\def\@tempb{auto}% + \ifx\@tempa\@tempb + \let\FV@boxwidth\relax + \else + \@tempdima=#1\relax + \edef\FV@boxwidth{\number\@tempdima sp}% + \fi} +\def\KV@FV@boxwidth@default{\let\FV@boxwidth\relax} +\define@key{FV}{baseline}{% + \if t#1\@empty\let\FV@baseline\@ne\else + \if c#1\@empty\let\FV@baseline\tw@\else\let\FV@baseline\z@\fi + \fi} +\fvset{baseline=b,boxwidth} +\def\FV@BProcessLine#1{\hbox{\FancyVerbFormatLine{#1}}} +\def\FVB@BVerbatim{\FV@BVerbatimBegin\FV@Scan} +\def\FVE@BVerbatim{\FV@BVerbatimEnd} +\DefineVerbatimEnvironment{BVerbatim}{BVerbatim}{} +\def\FV@BUseVerbatim#1{\FV@BVerbatimBegin#1\FV@BVerbatimEnd} +\def\BVerbatimInput{\FV@Command{}{BVerbatimInput}} +\def\FVC@BVerbatimInput#1{\FV@BUseVerbatim{\FV@Input{#1}}} +\def\SaveVerbatim{\FV@Environment{}{SaveVerbatim}} +\def\FVB@SaveVerbatim#1{% + \@bsphack + \begingroup + \FV@UseKeyValues +%% \FV@BeginVBox +%% \let\FV@ProcessLine\FV@BProcessLine +%% \FV@FormattingPrep +%% \FV@ObeyTabsInit% +%% + \def\SaveVerbatim@Name{#1}% + \gdef\FV@TheVerbatim{}% + \def\FV@ProcessLine##1{% + \expandafter\gdef\expandafter\FV@TheVerbatim\expandafter{% + \FV@TheVerbatim\FV@ProcessLine{##1}}}% + \gdef\FV@TheVerbatim{}% + \FV@Scan} +\def\FVE@SaveVerbatim{% + \expandafter\global\expandafter\let + \csname FV@SV@\SaveVerbatim@Name\endcsname\FV@TheVerbatim +%% \expandafter\gdef +%% \csname FV@SV@\SaveVerbatim@Name\endcsname{\FV@TheVerbatim} +%% \FV@EndVBox +%% \endgroup} + \endgroup\@esphack} +\DefineVerbatimEnvironment{SaveVerbatim}{SaveVerbatim}{} +\def\FV@CheckIfSaved#1#2{% + \@ifundefined{FV@SV@#1}% + {\FV@Error{No verbatim text has been saved under name `#1'}\FV@eha}% + {#2{\csname FV@SV@#1\endcsname}}} +\def\UseVerbatim{\FV@Command{}{UseVerbatim}} +\def\FVC@UseVerbatim#1{\FV@CheckIfSaved{#1}{\FV@UseVerbatim}} +\def\LUseVerbatim{\FV@Command{}{LUseVerbatim}} +\def\FVC@LUseVerbatim#1{\FV@CheckIfSaved{#1}{\FV@LUseVerbatim}} +\def\BUseVerbatim{\FV@Command{}{BUseVerbatim}} +\def\FVC@BUseVerbatim#1{\FV@CheckIfSaved{#1}{\FV@BUseVerbatim}} +\newwrite\FV@OutFile +\def\VerbatimOut{\FV@Environment{}{VerbatimOut}} +\def\FVB@VerbatimOut#1{% + \@bsphack + \begingroup + \FV@UseKeyValues + \FV@DefineWhiteSpace + \def\FV@Space{\space}% + \FV@DefineTabOut + \def\FV@ProcessLine{\immediate\write\FV@OutFile}% + \def\@inpenc@loop##1##2{% + \@tempcnta`##1\relax + \loop + \catcode\@tempcnta12 + \ifnum\@tempcnta<`##2\relax + \advance\@tempcnta\@ne + \repeat}% + \@inpenc@loop\^^A\^^H% + \@inpenc@loop\^^K\^^K% + \@inpenc@loop\^^N\^^_% + \@inpenc@loop\^^?\^^ff% + \immediate\openout\FV@OutFile #1\relax + \let\FV@FontScanPrep\relax +%% DG/SR modification begin - May. 18, 1998 (to avoid problems with ligatures) + \let\@noligs\relax +%% DG/SR modification end + \FV@Scan} +\def\FVE@VerbatimOut{\immediate\closeout\FV@OutFile\endgroup\@esphack} +\DefineVerbatimEnvironment{VerbatimOut}{VerbatimOut}{} +\def\FV@DefineTabOut{% + \def\FV@Tab{}% + \@tempcnta=\FancyVerbTabSize\relax + \loop\ifnum\@tempcnta>\z@ + \edef\FV@Tab{\FV@Tab\space}% + \advance\@tempcnta\m@ne + \repeat} +\def\SaveVerb{\FV@Command{}{SaveVerb}} +\begingroup +\catcode`\^^M=\active% +\gdef\FVC@SaveVerb#1#2{% + \@namedef{FV@SV@#1}{}% + \begingroup% + \FV@UseKeyValues% + \FV@CatCodes% + \outer\def^^M{\FV@EOL}% + \global\let\@tempg\FancyVerbAfterSave% + \catcode`#2=12% + \def\@tempa{\def\FancyVerbGetVerb####1####2}% + \expandafter\@tempa\string#2{\endgroup\@namedef{FV@SV@#1}{##2}\@tempg}% + \FancyVerbGetVerb\FV@EOL}% +\endgroup +\def\FV@EOL{% + \endgroup + \FV@Error% + {Could not find the end delimiter of a short verb command}% + {You probably just forget the end delimiter of a \string\Verb\space or + \string\SaveVerb^^J% + command, or you broke the literal text across input lines.^^J% + Hit to procede.}} +\define@key{FV}{aftersave}{\def\FancyVerbAfterSave{#1}} +\fvset{aftersave=} +\def\FV@UseVerb#1{\mbox{\FV@UseKeyValues\FV@FormattingPrep#1}} +\def\UseVerb{\FV@Command{}{UseVerb}} +\def\FVC@UseVerb#1{% + \@ifundefined{FV@SV@#1}% + {\FV@Error{Short verbatim text never saved to name `#1'}\FV@eha}% + {\FV@UseVerb{\@nameuse{FV@SV@#1}}}} +\def\Verb{\FV@Command{}{Verb}} +\begingroup +\catcode`\^^M=\active% +\gdef\FVC@Verb#1{% + \begingroup% + \FV@UseKeyValues% + \FV@FormattingPrep% + \FV@CatCodes% + \outer\def^^M{}% + \catcode`#1=12% + \def\@tempa{\def\FancyVerbGetVerb####1####2}% + \expandafter\@tempa\string#1{\mbox{##2}\endgroup}% + \FancyVerbGetVerb\FV@EOL}% +\endgroup +\def\DefineShortVerb{\FV@Command{}{DefineShortVerb}} +\def\FVC@DefineShortVerb#1{% + \@ifundefined{FV@CC@\string#1}% + {\FVC@@DefineShortVerb#1}% + {\FV@Error{`\expandafter\@gobble\string#1' is already a short + verb character.}\FV@eha}} +\def\FVC@@DefineShortVerb#1{% + \begingroup + \lccode`\~=`#1% + \lowercase{\gdef\@tempg{\edef~}\global\let\@temph~}% + \endgroup + \expandafter\let\csname FV@AC@\string#1\endcsname\@temph + \expandafter\edef\csname FV@CC@\string#1\endcsname{\the\catcode`#1}% + \expandafter\let\csname FV@KV@\string#1\endcsname\FV@KeyValues + \@tempg{% + \let\noexpand\FV@KeyValues\expandafter\noexpand + \csname FV@KV@\string#1\endcsname + \noexpand\FVC@Verb\expandafter\@gobble\string#1}% + \expandafter\def\expandafter\dospecials\expandafter{\dospecials\do#1}% + \expandafter\def\expandafter\@sanitize\expandafter{\@sanitize\@makeother#1}% + \catcode`#1=\active}% +\def\UndefineShortVerb#1{% + \@ifundefined{FV@CC@\string#1}% + {\FV@Error{`\expandafter\@gobble\string#1' is not a short + verb character}\FV@eha}% + {\FV@UndefineShortVerb#1}} +\def\FV@UndefineShortVerb#1{% + \catcode`#1=\csname FV@CC@\string#1\endcsname +%% DG/SR modification begin - Jun. 12, 1998 + \expandafter\let\csname FV@CC@\string#1\endcsname\relax +%% DG/SR modification end + \begingroup + \lccode`\~=`#1% + \lowercase{\gdef\@tempg{\let~}}% + \endgroup + \expandafter\@tempg\csname FV@AC@\string#1\endcsname + \def\@tempa##1\do#1##2\@nil##3\@nil##4\@@nil{##3\def\dospecials{##1##2}\fi}% + \expandafter\@tempa\dospecials\@nil\iftrue\@nil\do#1\@nil\iffalse\@nil\@@nil + \def\@tempa##1\@makeother#1##2\@nil##3\@nil##4\@@nil{% + ##3\def\@sanitize{##1##2}\fi}% + \expandafter\@tempa\@sanitize\@nil\iftrue\@nil\do#1\@nil\iffalse\@nil\@@nil} +\def\SaveMVerb{\FV@Command{}{SaveMVerb}} +\begingroup +\catcode`\^^M=\active% +\gdef\FVC@SaveMVerb#1#2{% + \@ifundefined{FV@SVM@#1}{}% + {\FV@Error{Moving verbatim name `#1' already used}% + {I will overwrite the old definition. Hit to continue.}}% + \global\@namedef{FV@SVM@#1}{}% + \begingroup% + \let\FV@SavedKeyValues\FV@KeyValues% + \FV@UseKeyValues% + \FV@CatCodes% + \outer\def^^M{}% + \global\let\@tempg\FancyVerbAfterSave% + \catcode`#2=12% + \def\@tempa{\def\FancyVerbGetVerb####1####2}% + \expandafter\@tempa\string#2{% + \if@filesw + \FV@DefineWhiteSpace% + \let\FV@Space\space% + \let\FV@Tab\space% + \FV@MakeUnActive% + \let\protect\string + \immediate\write\@auxout{% + \noexpand\SaveGVerb[\FV@SavedKeyValues]{#1}\string#2##2\string#2}% + \fi + \endgroup% + \@namedef{FV@SV@#1}{##2}% + \@tempg}% + \FancyVerbGetVerb\FV@EOL}% +\endgroup +\def\SaveGVerb{\FV@Command{}{SaveGVerb}} +\begingroup +\catcode`\^^M=\active% +\gdef\FVC@SaveGVerb#1#2{% + \global\@namedef{FV@SVG@#1}{}% + \begingroup% + \FV@UseKeyValues% + \FV@CatCodes% + \outer\def^^M{}% + \catcode`#2=12% + \def\@tempa{\def\FancyVerbGetVerb####1####2}% + \expandafter\@tempa\string#2{\endgroup\global\@namedef{FV@SVG@#1}{##2}}% + \FancyVerbGetVerb\FV@EOL}% +\endgroup +\def\UseMVerb{\protect\pUseMVerb} +\def\pUseMVerb{\FV@Command{}{pUseMVerb}} +\def\FVC@pUseMVerb#1{% + \expandafter\ifx \csname FV@SVM@#1\endcsname\relax + \expandafter\ifx \csname FV@SVG@#1\endcsname\relax + \@warning{Moving verbatim text not defined for name `#1'}\FV@eha + {\bf ??}% + \else + \FV@UseVerb{\@nameuse{FV@SVG@#1}}% + \fi + \else + \FV@UseVerb{\@nameuse{FV@SVM@#1}}% + \fi} +\expandafter\ifx\csname documentclass\endcsname\relax + \def\lrbox#1{% + \edef\@tempa{% + \endgroup + \setbox#1\hbox{% + \begingroup\aftergroup}% + \def\noexpand\@currenvir{\@currenvir}}% + %\def\noexpand\@currenvline{\on@line}}% + \@tempa + \@endpefalse + \bgroup + \ignorespaces} + \def\endlrbox{\unskip\egroup} +\fi +%% DG/SR modification begin - Jan. 22, 1998 +%%\@input{fancyvrb.rc} +\@input{fancyvrb.cfg} +%% DG/SR modification end +\endinput +%% +%% End of file `fancyvrb.sty'. diff --git a/Master/texmf-dist/doc/latex/lshort-russian/src/graphic.tex b/Master/texmf-dist/doc/latex/lshort-russian/src/graphic.tex new file mode 100644 index 00000000000..41cfa3ba205 --- /dev/null +++ b/Master/texmf-dist/doc/latex/lshort-russian/src/graphic.tex @@ -0,0 +1,654 @@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\setcounter{chapter}{4} +\newcommand{\graphicscompanion}{\emph{The \LaTeX{} Graphics Companion}~\cite{graphicscompanion}} +\newcommand{\hobby}{\emph{Руководство пользователя MetaPost}~\cite{metapost}} +\newcommand{\hoenig}{\emph{\TeX{} Unbound}~\cite{unbound}} +\newcommand{\graphicsinlatex}{\emph{Графика в \LaTeXe{}}~\cite{ursoswald}} + +\chapter{Генерация математической графики} + +\begin{intro} +Большинство людей пользуются \LaTeX\ для верстки текста. Но \LaTeX{} также +предлагает, хотя и ограниченную, возможность генерации графики по +текстовому описанию. Более того, существует множество расширений \LaTeX{}, +обходящих эти ограничния. Эта глава расскажет о нескольких из них. +\end{intro} + +\section{Обзор} + +Окружение \ei{picture} позволяет программировать картинки прямо в +среде \LaTeX. Подробное описание приводится в \manual. С одной +стороны, при этом есть довольно серьезные ограничения, поскольку как +наклоны отрезков, так и радиусы дуг сильно ограничены в возможных +значениях. С другой стороны, в окружении \ei{picture} существуюет +команда \ci{qbezier}, где <<\texttt{q}>> означает +<<квадратичный>>. Множество часто используемых кривых, таких как +окружности, эллипсы или цепные линии, можно удовлетворительно +аппроксимировать квадратичными кривыми Безье, хотя для этого и +требуются некоторые математические усилия. Кроме того, когда блоки +команд \ci{qbezier} генерируются из языка программирования, скажем, +Java, окружение \ei{picture} становится довольно мощным. + +Хотя программирование картинок прямо из \LaTeX{} серьезно ограничено и +часто довольно утомительно, оно все же бывает полезным. Полученные +таким образом документы получаются компактными, и нет необходимости +прилагать к документу графические файлы. + +Пакеты наподобие \pai{epic} и \pai{eepic} (описанные, например, в +\companion) или \pai{pstricks} помогают снять ограничения +оригинального окружения \ei{picture} и сильно развивают графические +возможности \LaTeX{}. + +Тогда как первые два пакета просто улучшают окружение \ei{picture}, +пакет \pai{pstricks} имеет собственное окружение для рисования, +\ei{pspicture}. Возможности \pai{pstricks} проистекают их того, что он +широко использует функциональность \PSi{}. Кроме этого пакета, +существует и множество других, написанных для конкретных задач. Одним +из них является пакет \texorpdfstring{\Xy}{Xy}-pic, описанный в конце +этой главы. Множество таких пакетов детально описано в +\graphicscompanion{} (не путать с \companion). + +Возможно, самым мощным графическим инструментом, связанным с \LaTeX{}, +является \MP, программа-близнец написанной Donald E. Knuth программы +\texttt{METAFONT}. \MP{} использует очень мощный и математически +изощренный язык \texttt{METAFONT}. В отличие же от \texttt{METAFONT}, +генерирующего растры, \MP{} генерирует файлы \EPSi{}, которые можно +импортировать в \LaTeX{}. Далее смотрите \hobby, или введение в +\cite{ursoswald}. + +Очень подробно работа с графикой (и шрифтами) в \LaTeX{} и \TeX{} +описана в \hoenig. + +\section{Окружение \texttt{picture}} +\secby{Urs Oswald}{osurs@bluewin.ch} + +\subsection{Основные команды} + +Окружение \ei{picture} создается одной из двух команд: +\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} по умолчанию составляет 1pt. Первая пара, +$(x,y)$, диктует резервирование для картинки прямоугольного +пространства внутри документа. Необязательная вторая пара, +$(x_0,y_0)$, присваивает произвольные координаты нижнему левому углу +зарезервированного прямоугольника. + +Большинство команд рисования имеют одну из двух форм: +\begin{lscommand} +\ci{put}\verb|(|$x,y$\verb|){|\emph{объект}\verb|}| +\end{lscommand} +\noindent или +\begin{lscommand} +\ci{multiput}\verb|(|$x,y$\verb|)(|$\Delta x,\Delta y$\verb|){|$n$\verb|}{|\emph{объект}\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} + +\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, +\] +и они обязаны быть взаимно простыми (не иметь общего делителя, кроме +1). Иллюстрация показывает все 25 возможных значений наклона в первом +квадранте. Длина выражается в единицах \ci{unitlength}. Аргумент длины +задает вертикальную координату в случае вертикального отрезка и +горизонтальную~--- во всех остальных случаях. + +\subsection{Векторы} + +\begin{example} +\setlength{\unitlength}{1mm} +\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. +\] +Компоненты также обязаны быть взаимно простыми (не иметь общего +делителя, кроме 1). Заметьте эффект команды \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{диаметр}\verb|}}| +\end{lscommand} +\noindent рисует окружность с центром в точке $(x,y)$ и диаметром (не +радиусом!) \emph{диаметр}. Окружение \ei{picture} позволяет рисовать +окружности диаметром не более примерно 14\,мм, и даже в этих пределах +допустимы не все диаметры. Команда \ci{circle*} рисует круг +(заполненную окружность). + +Как и в случае отрезков, вы можете прибегать к помощи дополнительных +пакетов, таких, как \pai{eepic} или \pai{pstricks}. +Подробное описание этих пакетов приведено в \graphicscompanion. + +Существует также и выход в рамках окружения \ei{picture}. Если вы не +боитесь выполнения необходимых вычислений (или возлагаете их на +программу), то можно изображать произвольные окружности и эллипсы при +помощи кривых Безье. Примеры и исходные тексты на Java приведены в +\graphicsinlatex. + +\subsection{Текст и формулы} + +\begin{example} +\setlength{\unitlength}{1cm} +\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{Команды \ci{multiput} и \ci{linethickness}} + +\begin{example} +\setlength{\unitlength}{2mm} +\begin{picture}(30,20) + \linethickness{0.075mm} + \multiput(0,0)(1,0){31}% + {\line(0,1){20}} + \multiput(0,0)(0,1){21}% + {\line(1,0){30}} + \linethickness{0.15mm} + \multiput(0,0)(5,0){7}% + {\line(0,1){20}} + \multiput(0,0)(0,5){5}% + {\line(1,0){30}} + \linethickness{0.3mm} + \multiput(5,0)(10,0){3}% + {\line(0,1){20}} + \multiput(0,5)(0,10){2}% + {\line(1,0){30}} +\end{picture} +\end{example} +Команда +\begin{lscommand} + \ci{multiput}\verb|(|$x,y$\verb|)(|$\Delta x,\Delta y$\verb|){|$n$\verb|}{|\emph{объект}\verb|}| +\end{lscommand} +\noindent имеет 4 аргумента: начальная точка, вектор перехода от +одного объекта к следующему, число объектов и собственно объект для +рисования. Команда \ci{linethickness} относится к горизонтальным и +вертикальным отрезкам, но никогда~--- к наклонным или +окружностям. Она, однако относится также и к квадратичным кривым +Безье! + +\subsection{Овалы. Команды \ci{thinlines} и \ci{thicklines}} + +\begin{example} +\setlength{\unitlength}{1cm} +\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{позиция}\verb|]}| +\end{lscommand} +\noindent выводит овал с центром в $(x,y)$, имеющий длину $w$ и высоту +$h$. Необязательный аргумент \emph{позиция} может принимать значения +\texttt{b}, \texttt{t}, \texttt{l} и \texttt{r} (вниз/вверх/влево/вправо) +и может сочетать эти значения, как на приведенном примере. + +Толщина линий может управляться одной из двух команд:\\ +\ci{linethickness}\verb|{|\emph{длина}\verb|}| +с одной стороны, и \ci{thinlines} и \ci{thicklines}~--- с другой. В то +время, как \ci{linethickness}\verb|{|\emph{длина}\verb|}| влияет +только на горизонтальные и вертикальные линии (и квадратичные кривые +Безье), \ci{thinlines} и \ci{thicklines} влияет на наклонные отрезки, +окружности и овалы. + +\subsection{Повторное использование блоков картинки} + +\begin{example} +\setlength{\unitlength}{0.5mm} +\begin{picture}(120,168) +\newsavebox{\foldera}% объявление +\savebox{\foldera} + (40,32)[bl]{% определение + \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]{% определение + \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} +Блок рисунка может быть \emph{объявлен} командой +\begin{lscommand} + \ci{newsavebox}\verb|{|\emph{название}\verb|}| +\end{lscommand} +\noindent а затем \emph{определен} командой +\begin{lscommand} + \ci{savebox}\verb|{|\emph{название}\verb|}(|\emph{ширина,высота}\verb|)[|\emph{позиция}\verb|]{|\emph{содержание}\verb|}| +\end{lscommand} +\noindent и, наконец, сколько угодно раз \emph{нарисован} командой +\begin{lscommand} + \ci{put}\verb|(|$x,y$\verb|)|\ci{usebox}\verb|{|\emph{название}\verb|}| +\end{lscommand} + +Необязательный аргумент \emph{позиция} определяет точку привязки +блока. В приведенном примере он установлен в значение \texttt{bl}, что +помещает точку привязки в нижний левый угол блока. Другие варианты +значения~--- \texttt{t} (вверх) и \texttt{r} (вправо). + +Аргумент \emph{название} фактически является командой \LaTeX{} (отсюда +и обратная косая черта перед ним в рассматриваемом примере). Блоки +могут быть вложенными: в этом примере внутри определения \ci{folderb} +используется \ci{foldera}. + +Команду \ci{oval} пришлось применить потому что команда \ci{line} не +работает, если длина отрезка меньше примерно 3\,мм. + +\subsection{Квадратичные кривые Безье} + +\begin{example} +\setlength{\unitlength}{1cm} +\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\ приведена Java-программа, генирующая + необходимые команды \ci{qbezier}. + +\subsection{Цепная линия} + +\begin{example} +\setlength{\unitlength}{1.3cm} +\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)$. Крестики +отмечают точки \emph{настоящей} цепной линии. Ошибка едва заметна, +будучи меньше одного процента. + +Этот пример показывает использование необязательного аргумента команды +\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}{1cm} +\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} + +Управляющие точки двух кривых Безье были вычислены по формулам +(\ref{zwischenpunkt}). Положительная ветка определяется +$P_1=(0,\,0),\,m_1=1$ и $P_2=(2,\,\tanh 2),\,m_2=1/\cosh^2 +2$. Картинка вновь определяется в математически удобных координатах, а +нижний левый угол получает математические координаты $(-3,-2)$ (черный +кружок). + +\section{\texorpdfstring{\Xy}{Xy}-pic} +\secby{Alberto Manuel Brand\~ao Sim\~oes}{albie@alfarrabio.di.uminho.pt} +\pai{xy}~--- это специальный пакет для рисования диаграмм. Для его +использования просто добавьте к преамбуле документа следующую строчку: +\begin{lscommand} +\verb|\usepackage[|\emph{опции}\verb|]{xy}| +\end{lscommand} +\noindent где \emph{опции}~--- список загружаемых функций \Xy-pic. Эти +опции полезны, в первую очередь, для отладки пакета. Рекомендуется +использовать опцию \verb!all!, инструктируя \LaTeX{} загрузить все +команды \Xy{}. + +Диаграммы \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} +Команда рисования вектора помещается в клетку, откуда исходит +вектор. Аргументом является направление, куда показывает вектор +(\texttt{u}p, \texttt{d}own, \texttt{r}ight и \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+|+. Он помещает +текст \emph{в} стрелку. +\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} +\shorthandoff{"} +\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} +\shorthandon{"} +\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} + +Модификаторы между косыми чертами определяют, как будут рисоваться +кривые. \Xy-pic предлагает множество способов изменить способ +рисования кривых; подробности смотрите в документации на \Xy-pic. + +% \begin{example} +% \begin{lscommand} +% \ci{dum} +% \end{lscommand} +% \end{example} + diff --git a/Master/texmf-dist/doc/latex/lshort-russian/src/hbaw.sty b/Master/texmf-dist/doc/latex/lshort-russian/src/hbaw.sty new file mode 100644 index 00000000000..8594acff911 --- /dev/null +++ b/Master/texmf-dist/doc/latex/lshort-russian/src/hbaw.sty @@ -0,0 +1,154 @@ +%% +%% This is file `hbaw.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% fvrb-ex.dtx (with options: `hbaw') +%% +%% IMPORTANT NOTICE: +%% +%% For the copyright see the source file. +%% +%% Any modified versions of this file must be renamed +%% with new filenames distinct from hbaw.sty. +%% +%% For distribution of the original source see the terms +%% for copying and modification in the file fvrb-ex.dtx. +%% +%% This generated file may be distributed as long as the +%% original source files, as listed above, are part of the +%% same distribution. (The sources need not necessarily be +%% in the same archive or directory.) +%% +%% Packages `fvrb-ex' (`fvrb-ex', `hbaw' and `hcolor') +%% +%% Denis Girou (CNRS/IDRIS - France) +%% March 27, 1998 +%% +%% Package `hbaw' +%% +\NeedsTeXFormat{LaTeX2e} +\def\fileversion{1.4} +\def\filedate{1998/03/19} +\ProvidesPackage{hbaw}[\filedate] +\message{`hbaw' v\fileversion, \filedate\space (Denis Girou)} +\newcommand{\FvrbEx@ColoredBox}[3]{% +\fboxsep=1pt\fcolorbox{#2}{#2}{\textcolor{#3}{\textbf{#1}}}} +\def\Highlight@Attributes{% +\def\HLa##1{\ifmmode\mathbf{##1}\else\textbf{##1}\fi} +\def\HLb##1{\ifmmode\mathsl{##1}\else\textsl{##1}\fi} +\def\HLc##1{##1} +\def\HLd##1{##1} +\def\HLe##1{\ifmmode\mathbf{##1}\else\textbf{##1}\fi} +\def\HLf##1{##1} +\def\HLq##1{##1} +\def\HLr##1{##1} +\def\HLz##1{##1} +\def\HLBFa##1{\ifmmode\mathbf{##1}\else\textbf{##1}\fi} +\def\HLBFb##1{\ifmmode\mathbf{##1}\else\textbf{##1}\fi} +\def\HLBFc##1{\ifmmode\mathbf{##1}\else\textbf{##1}\fi} +\def\HLBFd##1{\ifmmode\mathbf{##1}\else\textbf{##1}\fi} +\def\HLBFe##1{\ifmmode\mathbf{##1}\else\textbf{##1}\fi} +\def\HLBFf##1{\ifmmode\mathbf{##1}\else\textbf{##1}\fi} +\def\HLBFz##1{\ifmmode\mathbf{##1}\else\textbf{##1}\fi} +\def\HLITa##1{\ifmmode\mathnormal{##1}\else\textsl{##1}\fi} +\def\HLITb##1{\ifmmode\mathnormal{##1}\else\textsl{##1}\fi} +\def\HLITc##1{\ifmmode\mathnormal{##1}\else\textsl{##1}\fi} +\def\HLITd##1{\ifmmode\mathnormal{##1}\else\textsl{##1}\fi} +\def\HLITe##1{\ifmmode\mathnormal{##1}\else\textsl{##1}\fi} +\def\HLITf##1{\ifmmode\mathnormal{##1}\else\textsl{##1}\fi} +\def\HLITz##1{\ifmmode\mathnormal{##1}\else\textsl{##1}\fi} +\def\HLSCa##1{\ifmmode\mathit{##1}\else\textsc{##1}\fi} +\def\HLSCb##1{\ifmmode\mathit{##1}\else\textsc{##1}\fi} +\def\HLSCc##1{\ifmmode\mathit{##1}\else\textsc{##1}\fi} +\def\HLSCd##1{\ifmmode\mathit{##1}\else\textsc{##1}\fi} +\def\HLSCe##1{\ifmmode\mathit{##1}\else\textsc{##1}\fi} +\def\HLSCf##1{\ifmmode\mathit{##1}\else\textsc{##1}\fi} +\def\HLSCz##1{\ifmmode\mathit{##1}\else\textsc{##1}\fi} +\def\HLTTa##1{\ifmmode\mathtt{##1}\else\texttt{##1}\fi} +\def\HLTTb##1{\ifmmode\mathtt{##1}\else\texttt{##1}\fi} +\def\HLTTc##1{\ifmmode\mathtt{##1}\else\texttt{##1}\fi} +\def\HLTTd##1{\ifmmode\mathtt{##1}\else\texttt{##1}\fi} +\def\HLTTe##1{\ifmmode\mathtt{##1}\else\texttt{##1}\fi} +\def\HLTTf##1{\ifmmode\mathtt{##1}\else\texttt{##1}\fi} +\def\HLTTq##1{\ifmmode\mathtt{##1}\else\texttt{##1}\fi} +\def\HLTTr##1{\ifmmode\mathtt{##1}\else\texttt{##1}\fi} +\def\HLTTz##1{\ifmmode\mathtt{##1}\else\texttt{##1}\fi} +\def\HLITTTa##1{\ifmmode\mathtt{##1}\else\textsl{\texttt{##1}}\fi} +\def\HLITTTb##1{\ifmmode\mathtt{##1}\else\textsl{\texttt{##1}}\fi} +\def\HLITTTc##1{\ifmmode\mathtt{##1}\else\textsl{\texttt{##1}}\fi} +\def\HLITTTd##1{\ifmmode\mathtt{##1}\else\textsl{\texttt{##1}}\fi} +\def\HLITTTe##1{\ifmmode\mathtt{##1}\else\textsl{\texttt{##1}}\fi} +\def\HLITTTf##1{\ifmmode\mathtt{##1}\else\textsl{\texttt{##1}}\fi} +\def\HLITTTz##1{\ifmmode\mathtt{##1}\else\textsl{\texttt{##1}}\fi} +\def\HLCBBa##1{\FvrbEx@ColoredBox{##1}{blue}{black}} +\def\HLCBBb##1{\FvrbEx@ColoredBox{##1}{cyan}{black}} +\def\HLCBBc##1{\FvrbEx@ColoredBox{##1}{green}{black}} +\def\HLCBBd##1{\FvrbEx@ColoredBox{##1}{magenta}{black}} +\def\HLCBBe##1{\FvrbEx@ColoredBox{##1}{red}{black}} +\def\HLCBBf##1{\FvrbEx@ColoredBox{##1}{yellow}{black}} +\def\HLCBBz##1{\FvrbEx@ColoredBox{##1}{black}{black}} +\def\HLCBWa##1{\FvrbEx@ColoredBox{##1}{blue}{white}} +\def\HLCBWb##1{\FvrbEx@ColoredBox{##1}{green}{white}} +\def\HLCBWc##1{\FvrbEx@ColoredBox{##1}{green}{white}} +\def\HLCBWd##1{\FvrbEx@ColoredBox{##1}{magenta}{white}} +\def\HLCBWe##1{\FvrbEx@ColoredBox{##1}{red}{white}} +\def\HLCBWf##1{\FvrbEx@ColoredBox{##1}{green}{white}} +\def\HLCBWz##1{\FvrbEx@ColoredBox{##1}{black}{white}} +\def\HLSa##1{\underline{##1}} +\def\HLSb##1{\underline{##1}} +\def\HLSc##1{\underline{##1}} +\def\HLSd##1{\underline{##1}} +\def\HLSe##1{\underline{##1}} +\def\HLSf##1{\underline{##1}} +\def\HLSz##1{\underline{##1}} +\def\HLSaa##1{\underline{##1}} +\def\HLSbb##1{\underline{##1}} +\def\HLScc##1{\underline{##1}} +\def\HLSdd##1{\underline{##1}} +\def\HLSee##1{\underline{##1}} +\def\HLSef##1{\underline{##1}} +\def\HLSez##1{\underline{##1}} +} +\def\NoHighlight@Attributes{% +\catcode`\^^a7=0\relax% +\catcode`\^^b5=1\relax% +\catcode`\^^b6=2\relax% +\def\HLa##1{##1}% +\def\HLb##1{##1}% +\def\HLc##1{##1}% +\def\HLd##1{##1}% +\def\HLe##1{##1}% +\def\HLf##1{##1}% +\def\HLBFa##1{##1}% +\def\HLBFb##1{##1}% +\def\HLBFc##1{##1}% +\def\HLBFd##1{##1}% +\def\HLBFe##1{##1}% +\def\HLBFf##1{##1}% +\def\HLITa##1{##1}% +\def\HLITb##1{##1}% +\def\HLITc##1{##1}% +\def\HLITd##1{##1}% +\def\HLITe##1{##1}% +\def\HLITf##1{##1}% +\def\HLCBBa##1{##1}% +\def\HLCBBb##1{##1}% +\def\HLCBBc##1{##1}% +\def\HLCBBd##1{##1}% +\def\HLCBBe##1{##1}% +\def\HLCBBf##1{##1}% +\def\HLCBBz##1{##1}% +\def\HLCBWa##1{##1}% +\def\HLCBWb##1{##1}% +\def\HLCBWc##1{##1}% +\def\HLCBWd##1{##1}% +\def\HLCBWe##1{##1}% +\def\HLCBWf##1{##1}% +\def\HLCBWz##1{##1}% +} +\Highlight@Attributes +\endinput +%% +%% End of file `hbaw.sty'. diff --git a/Master/texmf-dist/doc/latex/lshort-russian/src/hcolor.sty b/Master/texmf-dist/doc/latex/lshort-russian/src/hcolor.sty new file mode 100644 index 00000000000..c9b80d1bbec --- /dev/null +++ b/Master/texmf-dist/doc/latex/lshort-russian/src/hcolor.sty @@ -0,0 +1,157 @@ +%% +%% This is file `hcolor.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% fvrb-ex.dtx (with options: `hcolor') +%% +%% IMPORTANT NOTICE: +%% +%% For the copyright see the source file. +%% +%% Any modified versions of this file must be renamed +%% with new filenames distinct from hcolor.sty. +%% +%% For distribution of the original source see the terms +%% for copying and modification in the file fvrb-ex.dtx. +%% +%% This generated file may be distributed as long as the +%% original source files, as listed above, are part of the +%% same distribution. (The sources need not necessarily be +%% in the same archive or directory.) +%% +%% Packages `fvrb-ex' (`fvrb-ex', `hbaw' and `hcolor') +%% +%% Denis Girou (CNRS/IDRIS - France) +%% March 27, 1998 +%% +%% Package `hcolor' +%% +\NeedsTeXFormat{LaTeX2e} +\def\fileversion{1.4} +\def\filedate{1998/03/19} +\ProvidesPackage{hcolor}[\filedate] +\message{`hcolor' v\fileversion, \filedate\space (Denis Girou)} +\newcommand{\FvrbEx@ColoredUnderline}[3]{% +$\setbox\z@\hbox{\begingroup#3\endgroup}% +\dp\z@\z@\m@th\color{#1}\underline{\textcolor{#2}{\box\z@}}$} +\newcommand{\FvrbEx@ColoredBox}[3]{% +\fboxsep=1pt\fcolorbox{#2}{#2}{\textcolor{#3}{\textbf{#1}}}} +\def\Highlight@Attributes{% +\def\HLa##1{\textcolor{blue}{##1}} +\def\HLb##1{\textcolor{cyan}{##1}} +\def\HLc##1{\textcolor{green}{##1}} +\def\HLd##1{\textcolor{magenta}{##1}} +\def\HLe##1{\textcolor{red}{##1}} +\def\HLf##1{\textcolor{yellow}{##1}} +\def\HLq##1{\textcolor{PaleGreen}{##1}} +\def\HLr##1{\textcolor{SlateBlue}{##1}} +\def\HLz##1{\textcolor{black}{##1}} +\def\HLBFa##1{\textcolor{blue}{\textbf{##1}}} +\def\HLBFb##1{\textcolor{cyan}{\textbf{##1}}} +\def\HLBFc##1{\textcolor{green}{\textbf{##1}}} +\def\HLBFd##1{\textcolor{magenta}{\textbf{##1}}} +\def\HLBFe##1{\textcolor{red}{\textbf{##1}}} +\def\HLBFf##1{\textcolor{yellow}{\textbf{##1}}} +\def\HLBFz##1{\textcolor{black}{\textbf{##1}}} +\def\HLITa##1{\textcolor{blue}{\textsl{##1}}} +\def\HLITb##1{\textcolor{cyan}{\textsl{##1}}} +\def\HLITc##1{\textcolor{green}{\textsl{##1}}} +\def\HLITd##1{\textcolor{magenta}{\textsl{##1}}} +\def\HLITe##1{\textcolor{red}{\textsl{##1}}} +\def\HLITf##1{\textcolor{yellow}{\textsl{##1}}} +\def\HLITz##1{\textcolor{black}{\textsl{##1}}} +\def\HLSCa##1{\textcolor{blue}{\textsc{##1}}} +\def\HLSCb##1{\textcolor{cyan}{\textsc{##1}}} +\def\HLSCc##1{\textcolor{green}{\textsc{##1}}} +\def\HLSCd##1{\textcolor{magenta}{\textsc{##1}}} +\def\HLSCe##1{\textcolor{red}{\textsc{##1}}} +\def\HLSCf##1{\textcolor{yellow}{\textsc{##1}}} +\def\HLSCz##1{\textcolor{black}{\textsc{##1}}} +\def\HLTTa##1{\textcolor{blue}{\texttt{##1}}} +\def\HLTTb##1{\textcolor{cyan}{\texttt{##1}}} +\def\HLTTc##1{\textcolor{green}{\texttt{##1}}} +\def\HLTTd##1{\textcolor{magenta}{\texttt{##1}}} +\def\HLTTe##1{\textcolor{red}{\texttt{##1}}} +\def\HLTTf##1{\textcolor{yellow}{\texttt{##1}}} +\def\HLTTq##1{\textcolor{ForestGreen}{\texttt{##1}}} +\def\HLTTr##1{\textcolor{PineGreen}{\texttt{##1}}} +\def\HLTTz##1{\textcolor{black}{\texttt{##1}}} +\def\HLITTTa##1{\textcolor{blue}{\textsl{\texttt{##1}}}} +\def\HLITTTb##1{\textcolor{cyan}{\textsl{\texttt{##1}}}} +\def\HLITTTc##1{\textcolor{green}{\textsl{\texttt{##1}}}} +\def\HLITTTd##1{\textcolor{magenta}{\textsl{\texttt{##1}}}} +\def\HLITTTe##1{\textcolor{red}{\textsl{\texttt{##1}}}} +\def\HLITTTf##1{\textcolor{yellow}{\textsl{\texttt{##1}}}} +\def\HLITTTz##1{\textcolor{black}{\textsl{\texttt{##1}}}} +\def\HLCBBa##1{\FvrbEx@ColoredBox{##1}{blue}{black}} +\def\HLCBBb##1{\FvrbEx@ColoredBox{##1}{cyan}{black}} +\def\HLCBBc##1{\FvrbEx@ColoredBox{##1}{green}{black}} +\def\HLCBBd##1{\FvrbEx@ColoredBox{##1}{magenta}{black}} +\def\HLCBBe##1{\FvrbEx@ColoredBox{##1}{red}{black}} +\def\HLCBBf##1{\FvrbEx@ColoredBox{##1}{yellow}{black}} +\def\HLCBBz##1{\FvrbEx@ColoredBox{##1}{black}{black}} +\def\HLCBWa##1{\FvrbEx@ColoredBox{##1}{blue}{white}} +\def\HLCBWb##1{\FvrbEx@ColoredBox{##1}{cyan}{white}} +\def\HLCBWc##1{\FvrbEx@ColoredBox{##1}{green}{white}} +\def\HLCBWd##1{\FvrbEx@ColoredBox{##1}{magenta}{white}} +\def\HLCBWe##1{\FvrbEx@ColoredBox{##1}{red}{white}} +\def\HLCBWf##1{\FvrbEx@ColoredBox{##1}{yellow}{white}} +\def\HLCBWz##1{\FvrbEx@ColoredBox{##1}{black}{white}} +\def\HLSa##1{\color{blue}\underline{##1}} +\def\HLSb##1{\color{cyan}\underline{##1}} +\def\HLSc##1{\color{green}\underline{##1}} +\def\HLSd##1{\color{magenta}\underline{##1}} +\def\HLSe##1{\color{red}\underline{##1}} +\def\HLSf##1{\color{yellow}\underline{##1}} +\def\HLSz##1{\color{black}\underline{##1}} +\def\HLSaa##1{\FvrbEx@ColoredUnderline{blue}{black}{##1}} +\def\HLSbb##1{\FvrbEx@ColoredUnderline{cyan}{black}{##1}} +\def\HLScc##1{\FvrbEx@ColoredUnderline{green}{black}{##1}} +\def\HLSdd##1{\FvrbEx@ColoredUnderline{magenta}{black}{##1}} +\def\HLSee##1{\FvrbEx@ColoredUnderline{red}{black}{##1}} +\def\HLSef##1{\FvrbEx@ColoredUnderline{yellow}{black}{##1}} +\def\HLSez##1{\FvrbEx@ColoredUnderline{black}{black}{##1}} +} +\def\NoHighlight@Attributes{% +\catcode`\^^a7=0\relax% +\catcode`\^^b5=1\relax% +\catcode`\^^b6=2\relax% +\def\HLa##1{##1}% +\def\HLb##1{##1}% +\def\HLc##1{##1}% +\def\HLd##1{##1}% +\def\HLe##1{##1}% +\def\HLf##1{##1}% +\def\HLBFa##1{##1}% +\def\HLBFb##1{##1}% +\def\HLBFc##1{##1}% +\def\HLBFd##1{##1}% +\def\HLBFe##1{##1}% +\def\HLBFf##1{##1}% +\def\HLITa##1{##1}% +\def\HLITb##1{##1}% +\def\HLITc##1{##1}% +\def\HLITd##1{##1}% +\def\HLITe##1{##1}% +\def\HLITf##1{##1}% +\def\HLCBBa##1{##1}% +\def\HLCBBb##1{##1}% +\def\HLCBBc##1{##1}% +\def\HLCBBd##1{##1}% +\def\HLCBBe##1{##1}% +\def\HLCBBf##1{##1}% +\def\HLCBBz##1{##1}% +\def\HLCBWa##1{##1}% +\def\HLCBWb##1{##1}% +\def\HLCBWc##1{##1}% +\def\HLCBWd##1{##1}% +\def\HLCBWe##1{##1}% +\def\HLCBWf##1{##1}% +\def\HLCBWz##1{##1}% +} +\Highlight@Attributes +\endinput +%% +%% End of file `hcolor.sty'. diff --git a/Master/texmf-dist/doc/latex/lshort-russian/src/lshort.out b/Master/texmf-dist/doc/latex/lshort-russian/src/lshort.out new file mode 100644 index 00000000000..2eade433bac --- /dev/null +++ b/Master/texmf-dist/doc/latex/lshort-russian/src/lshort.out @@ -0,0 +1,119 @@ +\BOOKMARK [0][-]{chapter*.1}{}{} +\BOOKMARK [0][-]{chapter*.2}{}{} +\BOOKMARK [0][-]{chapter.1}{ \040}{} +\BOOKMARK [1][-]{section.1.1}{}{chapter.1} +\BOOKMARK [2][-]{subsection.1.1.1}{TeX}{section.1.1} +\BOOKMARK [2][-]{subsection.1.1.2}{LaTeX}{section.1.1} +\BOOKMARK [1][-]{section.1.2}{}{chapter.1} +\BOOKMARK [2][-]{subsection.1.2.1}{, \040 }{section.1.2} +\BOOKMARK [2][-]{subsection.1.2.2}{ }{section.1.2} +\BOOKMARK [2][-]{subsection.1.2.3}{ \040}{section.1.2} +\BOOKMARK [1][-]{section.1.3}{ \040LaTeX}{chapter.1} +\BOOKMARK [2][-]{subsection.1.3.1}{}{section.1.3} +\BOOKMARK [2][-]{subsection.1.3.2}{}{section.1.3} +\BOOKMARK [2][-]{subsection.1.3.3}{ LaTeX}{section.1.3} +\BOOKMARK [2][-]{subsection.1.3.4}{}{section.1.3} +\BOOKMARK [1][-]{section.1.4}{ \040}{chapter.1} +\BOOKMARK [1][-]{section.1.5}{ \040 \040LaTeX}{chapter.1} +\BOOKMARK [1][-]{section.1.6}{ }{chapter.1} +\BOOKMARK [2][-]{subsection.1.6.1}{ }{section.1.6} +\BOOKMARK [2][-]{subsection.1.6.2}{}{section.1.6} +\BOOKMARK [2][-]{subsection.1.6.3}{ }{section.1.6} +\BOOKMARK [1][-]{section.1.7}{ \040}{chapter.1} +\BOOKMARK [1][-]{section.1.8}{ }{chapter.1} +\BOOKMARK [0][-]{chapter.2}{ }{} +\BOOKMARK [1][-]{section.2.1}{ \040 }{chapter.2} +\BOOKMARK [1][-]{section.2.2}{ \040 \040}{chapter.2} +\BOOKMARK [2][-]{subsection.2.2.1}{ }{section.2.2} +\BOOKMARK [2][-]{subsection.2.2.2}{}{section.2.2} +\BOOKMARK [1][-]{section.2.3}{ }{chapter.2} +\BOOKMARK [1][-]{section.2.4}{ \040 }{chapter.2} +\BOOKMARK [2][-]{subsection.2.4.1}{ }{section.2.4} +\BOOKMARK [2][-]{subsection.2.4.2}{ \040}{section.2.4} +\BOOKMARK [2][-]{subsection.2.4.3}{ \(\)}{section.2.4} +\BOOKMARK [2][-]{subsection.2.4.4}{ \040\(\)}{section.2.4} +\BOOKMARK [2][-]{subsection.2.4.5}{ \040}{section.2.4} +\BOOKMARK [2][-]{subsection.2.4.6}{ \( \203\)}{section.2.4} +\BOOKMARK [2][-]{subsection.2.4.7}{}{section.2.4} +\BOOKMARK [2][-]{subsection.2.4.8}{ \040 }{section.2.4} +\BOOKMARK [1][-]{section.2.5}{ \040}{chapter.2} +\BOOKMARK [2][-]{subsection.2.5.1}{ }{section.2.5} +\BOOKMARK [2][-]{subsection.2.5.2}{ }{section.2.5} +\BOOKMARK [2][-]{subsection.2.5.3}{ }{section.2.5} +\BOOKMARK [2][-]{subsection.2.5.4}{ }{section.2.5} +\BOOKMARK [2][-]{subsection.2.5.5}{ }{section.2.5} +\BOOKMARK [1][-]{section.2.6}{ \040}{chapter.2} +\BOOKMARK [1][-]{section.2.7}{, \040 }{chapter.2} +\BOOKMARK [1][-]{section.2.8}{ }{chapter.2} +\BOOKMARK [1][-]{section.2.9}{}{chapter.2} +\BOOKMARK [1][-]{section.2.10}{ }{chapter.2} +\BOOKMARK [1][-]{section.2.11}{}{chapter.2} +\BOOKMARK [2][-]{subsection.2.11.1}{, \040 }{section.2.11} +\BOOKMARK [2][-]{subsection.2.11.2}{ , \040 \040}{section.2.11} +\BOOKMARK [2][-]{subsection.2.11.3}{ \040}{section.2.11} +\BOOKMARK [2][-]{subsection.2.11.4}{ }{section.2.11} +\BOOKMARK [2][-]{subsection.2.11.5}{}{section.2.11} +\BOOKMARK [1][-]{section.2.12}{ }{chapter.2} +\BOOKMARK [1][-]{section.2.13}{ \040}{chapter.2} +\BOOKMARK [0][-]{chapter.3}{ \040}{} +\BOOKMARK [1][-]{section.3.1}{ }{chapter.3} +\BOOKMARK [1][-]{section.3.2}{ \040 }{chapter.3} +\BOOKMARK [1][-]{section.3.3}{ \040}{chapter.3} +\BOOKMARK [1][-]{section.3.4}{ }{chapter.3} +\BOOKMARK [1][-]{section.3.5}{ \040}{chapter.3} +\BOOKMARK [1][-]{section.3.6}{}{chapter.3} +\BOOKMARK [1][-]{section.3.7}{ \040}{chapter.3} +\BOOKMARK [1][-]{section.3.8}{, , \203}{chapter.3} +\BOOKMARK [1][-]{section.3.9}{ }{chapter.3} +\BOOKMARK [1][-]{section.3.10}{ \040}{chapter.3} +\BOOKMARK [0][-]{chapter.4}{ }{} +\BOOKMARK [1][-]{section.4.1}{ Encapsulated PostScript }{chapter.4} +\BOOKMARK [1][-]{section.4.2}{}{chapter.4} +\BOOKMARK [1][-]{section.4.3}{}{chapter.4} +\BOOKMARK [1][-]{section.4.4}{ }{chapter.4} +\BOOKMARK [1][-]{section.4.5}{ verbatim}{chapter.4} +\BOOKMARK [1][-]{section.4.6}{ \040 \040LaTeX}{chapter.4} +\BOOKMARK [1][-]{section.4.7}{ \040pdfLaTeX}{chapter.4} +\BOOKMARK [2][-]{subsection.4.7.1}{PDF- \040WWW}{section.4.7} +\BOOKMARK [2][-]{subsection.4.7.2}{}{section.4.7} +\BOOKMARK [2][-]{subsection.4.7.3}{ }{section.4.7} +\BOOKMARK [2][-]{subsection.4.7.4}{}{section.4.7} +\BOOKMARK [2][-]{subsection.4.7.5}{ \040}{section.4.7} +\BOOKMARK [2][-]{subsection.4.7.6}{ \040}{section.4.7} +\BOOKMARK [1][-]{section.4.8}{ \040 LaTeX \040pdfLaTeX}{chapter.4} +\BOOKMARK [1][-]{section.4.9}{ \040 \040pdfscreen}{chapter.4} +\BOOKMARK [0][-]{chapter.5}{ \040}{} +\BOOKMARK [1][-]{section.5.1}{}{chapter.5} +\BOOKMARK [1][-]{section.5.2}{ picture}{chapter.5} +\BOOKMARK [2][-]{subsection.5.2.1}{ }{section.5.2} +\BOOKMARK [2][-]{subsection.5.2.2}{}{section.5.2} +\BOOKMARK [2][-]{subsection.5.2.3}{}{section.5.2} +\BOOKMARK [2][-]{subsection.5.2.4}{}{section.5.2} +\BOOKMARK [2][-]{subsection.5.2.5}{ \040}{section.5.2} +\BOOKMARK [2][-]{subsection.5.2.6}{ '134 multiput \040'134 linethickness}{section.5.2} +\BOOKMARK [2][-]{subsection.5.2.7}{. \040'134 thinlines \040'134 thicklines}{section.5.2} +\BOOKMARK [2][-]{subsection.5.2.8}{ \040 }{section.5.2} +\BOOKMARK [2][-]{subsection.5.2.9}{ \040}{section.5.2} +\BOOKMARK [2][-]{subsection.5.2.10}{ }{section.5.2} +\BOOKMARK [2][-]{subsection.5.2.11}{ \040 \040}{section.5.2} +\BOOKMARK [1][-]{section.5.3}{Xy-pic}{chapter.5} +\BOOKMARK [0][-]{chapter.6}{ LaTeX}{} +\BOOKMARK [1][-]{section.6.1}{ , \040 }{chapter.6} +\BOOKMARK [2][-]{subsection.6.1.1}{ }{section.6.1} +\BOOKMARK [2][-]{subsection.6.1.2}{ }{section.6.1} +\BOOKMARK [2][-]{subsection.6.1.3}{ \040}{section.6.1} +\BOOKMARK [1][-]{section.6.2}{ \040 }{chapter.6} +\BOOKMARK [2][-]{subsection.6.2.1}{ \040}{section.6.2} +\BOOKMARK [2][-]{subsection.6.2.2}{!}{section.6.2} +\BOOKMARK [2][-]{subsection.6.2.3}{}{section.6.2} +\BOOKMARK [1][-]{section.6.3}{}{chapter.6} +\BOOKMARK [2][-]{subsection.6.3.1}{ \040}{section.6.3} +\BOOKMARK [2][-]{subsection.6.3.2}{ }{section.6.3} +\BOOKMARK [2][-]{subsection.6.3.3}{ }{section.6.3} +\BOOKMARK [2][-]{subsection.6.3.4}{ }{section.6.3} +\BOOKMARK [1][-]{section.6.4}{ }{chapter.6} +\BOOKMARK [1][-]{section.6.5}{ \040}{chapter.6} +\BOOKMARK [1][-]{section.6.6}{}{chapter.6} +\BOOKMARK [1][-]{section.6.7}{ \040}{chapter.6} +\BOOKMARK [0][-]{chapter*.7}{}{} +\BOOKMARK [0][-]{chapter.7}{ }{} diff --git a/Master/texmf-dist/doc/latex/lshort-russian/src/lshort.sty b/Master/texmf-dist/doc/latex/lshort-russian/src/lshort.sty new file mode 100644 index 00000000000..34577a6211f --- /dev/null +++ b/Master/texmf-dist/doc/latex/lshort-russian/src/lshort.sty @@ -0,0 +1,273 @@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Contents: Special Commands for the LShort2e Introduction +% $Id: lshort.sty,v 1.1.1.1 2002/02/26 10:04:21 oetiker Exp $ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% By Tobias Oetiker +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%\errorcontextlines=10 + +%save pageref an label +\let\lsspageref\pageref +\ProvidesPackage{lshort} +\RequirePackage{mflogo} +\RequirePackage{verbatim} +\RequirePackage{fancyheadings} +\RequirePackage{calc} +\RequirePackage{amsmath} +\RequirePackage{fvrb-ex} +\RequirePackage{amsmath,amsfonts,amssymb} +\RequirePackage[all]{xy} +%\RequirePackage[T1]{fontenc} +\RequirePackage{type1cm}%remove size restrictions +%\RequirePackage{aeguill} +% some packages which draw a euro +\RequirePackage{textcomp} +% 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} +\RequirePackage{eurosans} +\let\EUROSANS\euro +\RequirePackage{eurofont}% Ю la place d'europs (conflit de nom) +\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[]{} +\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}{\textsc{PostScript}\index{PostScript@\textsc{PostScript}}} +\newcommand{\EPSi}{Encapsulated \textsc{PostScript}% +\index{Encapsulated PostScript@Encapsulated \textsc{PostScript}}% +\index{PostScript@\textsc{PostScript}!Encapsulated}% +} + +% +% +% Earlier paragraphs were separated by some space +% +%\setlength{\parindent}{0pt} +%\setlength{\parskip}{1.5ex plus 0.7ex minus 0.6ex} + +\newcommand{\manual}{\emph{\LaTeX{} Manual}~\cite{manual}} +\newcommand{\companion}{\emph{The \LaTeX{} Companion}~\cite{companion}} +\newcommand{\guide}{\emph{Local 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{расширение!\texttt{#1}}\texttt{#1}} + +% probably add handling of period like handling of \ in \ci +\newcommand{\fni}[1]{% +\index{шрифт!#1@\texttt{\bs#1}}% +\index{#1@\texttt{\hspace*{-1.2ex}\bs #1}}\texttt{\bs#1}} + +\newcommand{\cih}[1]{% +\index{команда!#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{пакет!#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{#1@\texttt{#1}}% +\texttt{#1}} +% Indexentry for a word (Word inserted into the text) +\newcommand{\wi}[1]{\index{#1}#1} +% +% Typesetting Commands +% +\newenvironment{lscommand}% + {\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} +% +% Type setting Code Fragments +% +\newenvironment{code}{\begin{quote}}{\end{quote}} +% +% Intro Environment +\newenvironment{intro}{\sffamily}{\vspace*{2ex minus 1.5ex}} +% +\newcommand{\secby}[2]{\nopagebreak\par\addvspace{-1.5ex}% + \vskip -\parskip\noindent{\tiny Автор: #1 \mailto|#2|}\par\nopagebreak% + \addvspace{1ex plus 0.8ex minus 0.2ex}% + \vskip -\parskip\noindent\ignorespaces} +% +% propper bookmark entries in pdftex + +\ifx\hypersetup\undefined\else +\pdfstringdefDisableCommands{\edef\ci{\textbackslash}}% +\pdfstringdefDisableCommands{\edef\sim{\textasciitilde}}% +\pdfstringdefDisableCommands{\edef\circ{\textdegree}}% +\pdfstringdefDisableCommands{\edef\ldots{... }}% +\fi + +%\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{\B}[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{tabular}{@{}#1@{}}}% +{\end{tabular}\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}{2cm} +\addtolength{\headwidth}{\outdent} +\newenvironment{example}% +{\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 + \ifodd\HyPsd@pageref{exa\theexacnt}\hspace*{0pt}\else\hspace*{-\outdent}\fi% +%\fi +\fi +\makebox[\textwidth][l]{% +%\raisebox{-\height}[0pt][\totalheight]{% + \begin{minipage}[c]{0.5\outdent+0.46\textwidth-3mm}% + \small\verbatiminput{\jobname.exa} + \end{minipage}% + %}% + \hspace{5mm}% + \setlength{\savefboxrule}{\fboxrule}% + \setlength{\fboxrule}{0.1pt}% + \setlength{\savefboxsep}{\fboxsep}% + \setlength{\fboxsep}{3mm}% + % \raisebox{-\height}[0pt][\totalheight]{% + \fbox{% + \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} + }% +% }% +}\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} + + +% [BT]% Misc +\def\sloppypar{\begingroup\sloppy\par\endgroup} +\DeclareRobustCommand\cm[1]{{\fontencoding{OT1}\fontfamily{cmr}\selectfont#1}} +\def\trfootnote#1{\footnote{#1\textit{~--- Прим.\ перев.}}} + +\RecustomVerbatimEnvironment{Verbatim}{Verbatim} + {gobble=0,commentchar=ё,numbers=left,numbersep=3pt,frame=single} + diff --git a/Master/texmf-dist/doc/latex/lshort-russian/src/lshort.tex b/Master/texmf-dist/doc/latex/lshort-russian/src/lshort.tex new file mode 100644 index 00000000000..f9de3002bb1 --- /dev/null +++ b/Master/texmf-dist/doc/latex/lshort-russian/src/lshort.tex @@ -0,0 +1,123 @@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Contents: Main Input File of the LaTeX2e Introduction +% $Id: lshort2e.tex,v 1.4 1998/03/26 15:36:54 oetiker Exp oetiker $ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% lshort2e.tex - The not so short introduction to LaTeX2e +% by Tobias Oetiker +% oetiker@ee.ethz.ch +% +% based on LKURTZ.TEX Uni Graz & TU Wien, 1987 +%----------------------------------------------------------------------- +% +% To compile lshort, you need TeX 3.x, LaTeX2e and makeindex +% +% The sources files of the Intro are: +% lshort.tex (this file), +% titel.tex, contrib.tex, biblio.tex +% things.tes, 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) +% +% --------------------------------------------------------------------- + + +%****************** FIXME!s: +% Цифровые сноски из таблиц + +\ifx\pdfoutput\undefined % We're not running pdftex +\documentclass[dvips,11pt,a4paper,twoside]{scrbook} +\else +\documentclass[pdftex,11pt,a4paper,twoside]{book} +\usepackage{thumbpdf} +\pdfcompresslevel=9 +\fi + +\lccode`\-=`\- +\defaulthyphenchar=127 +%\usepackage{mathtext} +\usepackage[T2A]{fontenc} +\usepackage[koi8-r]{inputenc} +\usepackage[russian,french,german,english]{babel} +%\usepackage{geometry} + +%\usepackage{pslatex,pscyr} +\usepackage{lshort} +\usepackage{makeidx,latexsym} +\usepackage[russian]{mylayout} +% are we in pdftex ???? +\ifx\pdfoutput\undefined % We're not running pdftex +\usepackage[plainpages=true]{hyperref} +\usepackage{color} +\else +\usepackage[colorlinks,hyperindex,plainpages=false,unicode]{hyperref} +%\usepackage{pslatex,freepsfonts} +\usepackage{keyval} +%\usepackage{hyppre} +%\usepackage{hypuc} +\hypersetup{pdfauthor={Boris Tobotras}} +\def\pdfBorderAttrs{/Border [0 0 0] } % No border arround Links +\makeatletter +\newcounter{chapter.H} +\setcounter{chapter.H}{0} +\let\Hmat@chapter\@chapter +\def\@chapter{\if@mainmatter\else\refstepcounter{chapter.H}\fi\Hmat@chapter} +\def\theHchapter{\if@mainmatter\arabic{chapter}\else H.\arabic{chapter.H}\fi} +\makeatother +\fi +\usepackage{footnpag} +% 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, B.Tobotras} + +\begin{document} +\selectlanguage{russian} +\frontmatter +\include{title} +\include{contrib} +\include{overview} +\tableofcontents +\listoffigures +\listoftables +\mainmatter +\include{things} +\include{typeset} +\include{math} +\include{lssym} +\include{spec} +\include{graphic} +\include{custom} +\backmatter +\include{biblio} +\refstepcounter{chapter} +\addcontentsline{toc}{chapter}{Предметный указатель} +\printindex +\refstepcounter{chapter} +\label{verylast} +\mbox{} +\end{document} diff --git a/Master/texmf-dist/doc/latex/lshort-russian/src/lssym.tex b/Master/texmf-dist/doc/latex/lshort-russian/src/lssym.tex new file mode 100644 index 00000000000..616f935c821 --- /dev/null +++ b/Master/texmf-dist/doc/latex/lshort-russian/src/lssym.tex @@ -0,0 +1,343 @@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Contents: TeX and LaTeX and AMS symbols for Maths +% $Id: lssym.tex,v 1.1.1.1 2002/02/26 10:04:21 oetiker Exp $ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\section{Список математических символов} +\label{symbols} + +В следующих таблицах вы найдете все символы, известные обычно в +\emph{математическом режиме}. + + +% +% Conditional Text in case the AMS Fonts are installed +% +Для доступа к символам, перечисленным в +таблицах~\ref{AMSD}--\ref{AMSNBR}\footnote{Эти таблицы были получены + из \texttt{symbols.tex} (автор David~Carlisle) и позже сильно + изменены по совету Josef~Tkadlec} в преамбуле документа должен быть +загружен пакет \pai{amssymb}, и в системе должны быть установлены +математические шрифты AMS. Если пакеты и шрифты AMS в вашей системе не +установлены, посмотрите на +\texttt{\CTAN|macros/latex/required/amslatex|}. Еще более +полный пеpечень символов можно найти по адpесу +\texttt{\CTANref|info/symbols/comprehensive|}. + +\begin{table}[!h] +\caption{Акценты математического режима} \label{mathacc} +\begin{symbols}{*4{cl}} +\W{\hat}{a} & \W{\check}{a} & \W{\tilde}{a} & \W{\acute}{a} \\ +\W{\grave}{a} & \W{\dot}{a} & \W{\ddot}{a} & \W{\breve}{a} \\ +\W{\bar}{a} &\W{\vec}{a} &\W{\widehat}{A}&\W{\widetilde}{A}\\ +\end{symbols} +\end{table} + +\begin{table}[!h] +\caption{Строчные греческие буквы} +\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} +\end{symbols} +\end{table} + +\begin{table}[!h] +\caption{Прописные греческие буквы} +\begin{symbols}{*4{cl}} + \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} +\clearpage + +\begin{table}[!tbp] +\caption{Бинарные отношения} +\bigskip +Вы можете получить соответствующие отрицания добавлением перед +следующими символами команды \ci{not}. +\begin{symbols}{*3{cl}} + \X{<} & \X{>} & \X{=} \\ + \X{\leq}или \verb|\le| & \X{\geq}или \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}$^1$ & \X{\sqsupset}$^1$ & \X{\Join}$^1$ \\ + \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}или \verb|\ne| +\end{symbols} +\centerline{\footnotesize $^1$Для доступа к этому символу пользуйтесь + пакетом \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}$^1$ & \X{\rhd}$^1$ & \X{\ddagger} \\ + \X{\unlhd}$^1$ & \X{\unrhd}$^1$ & \X{\wr} +\end{symbols} + +\end{table} + +\begin{table}[!tbp] +\caption{Большие операторы} +\begin{symbols}{*4{cl}} + \X{\sum} & \X{\bigcup} & \X{\bigvee} & \X{\bigoplus}\\ + \X{\prod} & \X{\bigcap} & \X{\bigwedge} &\X{\bigotimes}\\ + \X{\coprod} & \X{\bigsqcup} & & & \X{\bigodot} \\ + \X{\int} & \X{\oint} & & & \X{\biguplus} +\end{symbols} + +\end{table} + +\begin{table}[!tbp] +\caption{Стрелки} +\begin{symbols}{*3{cl}} + \X{\leftarrow}или \verb|\gets|& \X{\longleftarrow} & \X{\uparrow} \\ + \X{\rightarrow}или \verb|\to|& \X{\longrightarrow} & \X{\downarrow} \\ + \X{\leftrightarrow} & \X{\longleftrightarrow}& \X{\updownarrow} \\ + \X{\Leftarrow} & \X{\Longleftarrow} & \X{\Uparrow} \\ + \X{\Rightarrow} & \X{\Longrightarrow} & \X{\Downarrow} \\ + \X{\Leftrightarrow} & \X{\Longleftrightarrow}& \X{\Updownarrow} \\ + \X{\mapsto} & \X{\longmapsto} & \X{\nearrow} \\ + \X{\hookleftarrow} & \X{\hookrightarrow} & \X{\searrow} \\ + \X{\leftharpoonup} & \X{\rightharpoonup} & \X{\swarrow} \\ + \X{\leftharpoondown} & \X{\rightharpoondown} & \X{\nwarrow} \\ + \X{\rightleftharpoons} & \X{\iff}(б\'ольший пробел)& \X{\leadsto}$^1$ + +\end{symbols} +\centerline{\footnotesize $^1$Для доступа к этому символу пользуйтесь + пакетом \textsf{latexsym}.} +\end{table} + +\begin{table}[!tbp] +\caption{Ограничители}\label{tab:delimiters} +\begin{symbols}{*4{cl}} + \X{(} & \X{)} & \X{\uparrow} & \X{\Uparrow} \\ + \X{[}или \verb|\lbrack| & \X{]}или \verb|\rbrack| & \X{\downarrow} & \X{\Downarrow} \\ + \X{\{}или \verb|\lbrace| & \X{\}}или \verb|\rbrace| & \X{\updownarrow} & \X{\Updownarrow}\\ + \X{\langle} & \X{\rangle} & \X{|}или \verb|\vert| &\X{\|}или \verb|\Vert|\\ + \X{\lfloor} & \X{\rfloor} & \X{\lceil} & \X{\rceil} \\ + \X{/} & \X{\backslash} & &% (dual. empty) + +\end{symbols} +\end{table} + +\begin{table}[!tbp] +\caption{Большие ограничители} +\begin{symbols}{*4{cl}} + \Y{\lgroup} & \Y{\rgroup} & \Y{\lmoustache} & \Y{\rmoustache} \\ + \Y{\arrowvert} & \Y{\Arrowvert} & \Y{\bracevert} +\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}$^1$ & \X{\partial} \\ + \X{'} & \X{\prime} & \X{\emptyset} & \X{\infty} \\ + \X{\nabla} & \X{\triangle} & \X{\Box}$^1$ & \X{\Diamond}$^1$ \\ + \X{\bot} & \X{\top} & \X{\angle} & \X{\surd} \\ +\X{\diamondsuit} & \X{\heartsuit} & \X{\clubsuit} & \X{\spadesuit} \\ + \X{\neg}или \verb|\lnot| & \X{\flat} & \X{\natural} & \X{\sharp} + +\end{symbols} +\centerline{\footnotesize $^1$Для доступа к этому символу пользуйтесь + пакетом \textsf{latexsym}.} +\end{table} + +\begin{table}[!tbp] +\caption{Не-математические символы} +\bigskip +Эти символы можно использовать и в текстовом режиме. +\begin{symbols}{*4{cl}} +\SC{\dag} & \SC{\S} & \SC{\copyright} & \SC{\textregistered} \\ +\SC{\ddag} & \SC{\P} & \SC{\pounds} & \SC{\%} \\ +\end{symbols} +\end{table} + +% +% +% If the AMS Stuff is not available, we drop out right here :-) +% + +\begin{table}[!tbp] +\caption{Ограничители 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{Буквы греческого и иврита AMS} +\begin{symbols}{*5{cl}} +\X{\digamma} &\X{\varkappa} & \X{\beth} &\X{\gimel} & \X{\daleth} +\end{symbols} +\end{table} + +\begin{table}[!tbp] +\caption{Бинарные отношения AMS} +\begin{symbols}{*3{cl}} + \X{\lessdot} & \X{\gtrdot} & \X{\doteqdot}или \verb|\Doteq| \\ + \X{\leqslant} & \X{\geqslant} & \X{\risingdotseq} \\ + \X{\eqslantless} & \X{\eqslantgtr} & \X{\fallingdotseq} \\ + \X{\leqq} & \X{\geqq} & \X{\eqcirc} \\ + \X{\lll}или \verb|\llless| & \X{\ggg}или \verb|\gggtr| & \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{\Subset} & \X{\Supset} & \X{\Vvdash} \\ + \X{\sqsubset} & \X{\sqsupset} & \X{\backepsilon} \\ + \X{\therefore} & \X{\because} & \X{\varpropto} \\ + \X{\shortmid} & \X{\shortparallel} & \X{\between} \\ + \X{\smallsmile} & \X{\smallfrown} & \X{\pitchfork} \\ + \X{\vartriangleleft} & \X{\vartriangleright} & \X{\blacktriangleleft}\\ + \X{\trianglelefteq} & \X{\trianglerighteq} &\X{\blacktriangleright} +\end{symbols} +\end{table} + +\begin{table}[!tbp] +\caption{Стрелки AMS} +\begin{symbols}{*3{cl}} + \X{\dashleftarrow} & \X{\dashrightarrow} & \X{\multimap} \\ + \X{\leftleftarrows} & \X{\rightrightarrows} & \X{\upuparrows} \\ + \X{\leftrightarrows} & \X{\rightleftarrows} & \X{\downdownarrows} \\ + \X{\Lleftarrow} & \X{\Rrightarrow} & \X{\upharpoonleft} \\ + \X{\twoheadleftarrow} & \X{\twoheadrightarrow} & \X{\upharpoonright} \\ + \X{\leftarrowtail} & \X{\rightarrowtail} & \X{\downharpoonleft} \\ + \X{\leftrightharpoons} & \X{\rightleftharpoons} & \X{\downharpoonright} \\ + \X{\Lsh} & \X{\Rsh} & \X{\rightsquigarrow} \\ + \X{\looparrowleft} & \X{\looparrowright} &\X{\leftrightsquigarrow}\\ + \X{\curvearrowleft} & \X{\curvearrowright} & & \\ + \X{\circlearrowleft} & \X{\circlearrowright} & & +\end{symbols} +\end{table} + +\begin{table}[!tbp] +\caption{Отрицательные бинарные отношения и стрелки AMS}\label{AMSNBR} +\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} +\end{table} + +\begin{table}[!tbp] +\caption{Бинарные операторы AMS} +\begin{symbols}{*3{cl}} + \X{\dotplus} & \X{\centerdot} & \X{\intercal} \\ + \X{\ltimes} & \X{\rtimes} & \X{\divideontimes} \\ + \X{\Cup}или \verb|\doublecup|& \X{\Cap}или \verb|\doublecap|& \X{\smallsetminus} \\ + \X{\veebar} & \X{\barwedge} & \X{\doublebarwedge}\\ + \X{\boxplus} & \X{\boxminus} & \X{\circleddash} \\ + \X{\boxtimes} & \X{\boxdot} & \X{\circledcirc} \\ + \X{\leftthreetimes} & \X{\rightthreetimes}& \X{\circledast} \\ + \X{\curlyvee} & \X{\curlywedge} +\end{symbols} +\end{table} + +\begin{table}[!tbp] +\caption{Прочие символы AMS} +\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{\sphericalangle} \\ + \X{\diagup} & \X{\diagdown} & \X{\backprime} \\ + \X{\nexists} & \X{\Finv} & \X{\varnothing} \\ + \X{\eth} & \X{\mho} +\end{symbols} +\end{table} + + + +\begin{table}[!tbp] +\caption{Математические алфавиты} +\begin{symbols}{@{}*3l@{}} +Пример & Команда & Требуемый пакет\\ +\hline +\rule{0pt}{1.05em}$\mathrm{ABCdef}$ + & \verb|\mathrm{ABCdef}| + & \\ +$\mathit{ABCdef}$ + & \verb|\mathit{ABCdef}| + & \\ +$\mathnormal{ABCdef}$ + & \verb|\mathnormal{ABCdef}| + & \\ +$\mathcal{ABC}$ + & \verb|\mathcal{ABC}| + &\pai{euscript} с опцией: \textsf{mathcal}\\ +$\mathscr{ABC}$ + & \verb|\mathscr{ABC}| + &\pai{mathrsfs}\\ +$\mathfrak{ABCdef}$ + & \verb|\mathfrak{ABCdef}| + &\pai{eufrak} \\ +$\mathbb{ABC}$ + & \verb|\mathbb{ABC}| + &\pai{amsfonts} или \textsf{amssymb} \\ +\end{symbols} +\end{table} + + +%%% Local Variables: +%%% mode: latex +%%% TeX-master: "lshort2e" +%%% End: diff --git a/Master/texmf-dist/doc/latex/lshort-russian/src/math.tex b/Master/texmf-dist/doc/latex/lshort-russian/src/math.tex new file mode 100644 index 00000000000..1819bc9f3d9 --- /dev/null +++ b/Master/texmf-dist/doc/latex/lshort-russian/src/math.tex @@ -0,0 +1,777 @@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Contents: Math typesetting with LaTeX +% $Id: math.tex,v 1.1.1.1 2002/02/26 10:04:21 oetiker Exp $ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\chapter{Набор математических формул} + +\begin{intro} + Вот теперь мы готовы! В этой главе мы встретимся с основной мощью + \TeX{}: математической версткой. Но имейте в виду, что эта глава + дает только поверхностный обзор. Хотя для многих из вас изложенных + здесь вещей будет достаточно, не отчаивайтесь, если вы не сможете + найти решение, отвечающее нуждам верстки вашей математики. Весьма + возможно, что ваша проблема решается в + \AmS-\LaTeX{}\footnote{\emph{Американское Математическое Общество} + выpаботало pазвитое pасшиpение к \LaTeX{}. Многие пpимеpы этой + главы используют это pасшиpение, входящее во все совpеменные + дистpибутивы \TeX{}. Если в вашем оно отсутствует, то можете + получить его по адpесу \CTANref|macros/latex/required/amslatex|.}. +\end{intro} + + +\section{Общие сведения} + +\LaTeX{} включает в себя специальный режим для верстки математики. +\index{математика} Математика может быть набpана внутpи абзаца, но +может и pазбивать абзац выделенной фоpмулой. Математический текст +внутри абзаца вводится между \ci{(} +и \ci{)}, \index{$@\texttt{\$}} %$ +между \texttt{\$} и \texttt{\$} или между +\verb|\begin{|\ei{math}\verb|}| или \verb|\end{math}|.\index{формулы} + +\begin{example} + Складывая $a$ в квадрате с + $b$ в квадрате, получаем + $c$ в квадрате. Или + излагая языком математики: + $c^{2}=a^{2}+b^{2}$ +\end{example} + +\begin{example} + \TeX{} произносится как + \(\tau\epsilon\chi\).\\[6pt] + 100~м$^{3}$ воды.\\[6pt] + Это исходит от моего + \begin{math}\heartsuit\end{math} +\end{example} + +Большие математические уравнения или формулы предпочтительнее +<<выключать>>, то есть верстать их на отдельных строчках. Для этого +заключайте их между \ci{[} и \ci{]} или между +\verb|\begin{|\ei{displaymath}\verb|}| и \verb|\end{displaymath}|. + +\begin{example} + Складывая $a$ в квадрате с + $b$ в квадрате, получаем + $c$ в квадрате. Или + излагая языком математики: + \begin{displaymath} + c^{2}=a^{2}+b^{2} + \end{displaymath} + или вы можете выpазить это + коpоче: \[a+b=c\] +\end{example} + +Если вы хотите, чтобы \LaTeX{} нумеpовал ваши уpавнения, используйте +окpужение \ei{equation}. Вы можете пpи этом пометить уpавнение меткой +\ci{label} и сослаться на него в любом месте текста командами \ci{ref} +или \ci{eqref}: + +\begin{example} + \begin{equation} + \label{eq:eps} + \epsilon > 0 + \end{equation} + Из (\ref{eq:eps}) + выводим \ldots{}Из + \eqref{eq:eps} мы + делаем то же. +\end{example} + +Заметьте pазницу в стиле веpстки выpажений в абзацах и выключных: + +\begin{example} + $\lim_{n \to \infty} + \sum_{k=1}^n \frac{1}{k^2} + = \frac{\pi^2}{6}$ +\end{example} + +\begin{example} + \begin{displaymath} + \lim_{n \to \infty} + \sum_{k=1}^n \frac{1}{k^2} + = \frac{\pi^2}{6} + \end{displaymath} +\end{example} + +\emph{Математический режим} отличается от \emph{текстового + режима}. Например, в \emph{математическом режиме}: + +\begin{enumerate} + +\item Большинство пробелов и возвратов каретки не принимаются во + внимание, так как все пробелы либо выводятся из логики + математических выражений, или должны в явном виде задаваться + командами вроде \ci{,}, \ci{quad} или \ci{qquad}. +\item Пустые строчки недопустимы. Каждая формула занимает только один + абзац. +\item Каждая буква считается именем переменной, и верстается в этом + качестве. Если вы хотите в формулу ввести нормальный текст + (нормальный прямой шрифт с нормальными пробелами), то вам нужно + вводить его командами \verb|\textrm{...}| (см. также + pаздел~\ref{sec:fontsz} на стp.~\pageref{sec:fontsz}). + +\end{enumerate} + + +\begin{example} + \begin{equation} + \forall x \in \mathbf{R}: + \qquad x^{2} \geq 0 + \end{equation} +\end{example} + +\begin{example} + \begin{equation} + x^{2} \geq 0\qquad + \textrm{для всех }x\in + \mathbf{R} + \end{equation} +\end{example} + +% +% Add AMSSYB Package ... Blackboard bold .... R for realnumbers +% + +Математики бывают очень строги к используемым символам: здесь будет +удобно использовать `\wi{ажурные полужирные символы}',\index{полужирные символы} +которые получаются командой \ci{mathbb} из пакетов +\pai{amsfonts} или \pai{amssymb}. \ifx\mathbb\undefined\else +Последний пример теперь выглядит так: +\begin{example} + \begin{displaymath} + x^{2} \geq 0\qquad + \textrm{для всех }x\in + \mathbb{R} + \end{displaymath} +\end{example} +\fi + + +\section{Группировка в математическом режиме} + +Большинство команд математического режима действует только на +следующий символ. Так что, если вы хотите, чтобы команда влияла на +несколько символов, вам нужно сгруппировать их вместе при помощи +фигурных скобок: \verb|{...}|. + +\begin{example} + \begin{equation} + a^x+y \neq a^{x+y} + \end{equation} +\end{example} + + +\section{Составляющие математической формулы} + +В этом разделе будут описаны наиболее важные команды, используемые в +математической верстке. Детальный перечень команд для набора +математических символов смотрите в разделе~\ref{symbols} на +странице~\pageref{symbols}. + +\textbf{Строчные \wi{греческие буквы}} вводятся как \verb|\alpha|, + \verb|\beta|, \verb|\gamma|,~\ldots, прописные буквы вводятся как + \verb|\Gamma|, \verb|\Delta|,~\ldots\footnote{В \LaTeXe{} не + определяется прописная <<альфа>>, потому что она выглядит так же, + как латинская <>. При новой кодировке математики это будет + изменено.} + +\begin{example} + $\lambda,\xi,\pi,\mu,% + \Phi,\Omega$ +\end{example} + +\textbf{Верхние и нижние индексы} вводятся при помощи +символов~<<\index{верхние индексы}\index{нижние + индексы}\verb|^|\index{^@\verb+^+}>> +и~<<\verb|_|\index{_@\verb+_+}>>. + +\begin{example} + $a_{1}$ \qquad $x^{2}$ \qquad + $e^{-\alpha t}$ \qquad + $a^{3}_{ij}$\\ + $e^{x^2} \neq {e^x}^2$ +\end{example} + +\textbf{Квадратный корень}\index{квадратный корень} вводится как +\ci{sqrt}, корень $n$-ной степени печатается при помощи +\verb|\sqrt[|$n$\verb|]|. Размер знака корня выбирается \LaTeX{} +автоматически. Если нужен один только знак, используйте \verb|\surd|. + +\begin{example} + $\sqrt{x}$ \qquad + $\sqrt{ x^{2}+\sqrt{y} }$ + \qquad $\sqrt[3]{2}$\\[3pt] + $\surd[x^2 + y^2]$ +\end{example} + +Команды \ci{overline} и \ci{underline} создают \textbf{горизонтальные + линии} сразу над или под выражением. +\index{линии!горизонтальные} + +\begin{example} + $\overline{m+n}$ +\end{example} + +Команды \ci{overbrace} и \ci{underbrace} создают +длинные \textbf{горизонтальные фигурные скобки} сразу над или под +выражением. +\index{фигурные скобки!горизонтальные} +\begin{example} + $\underbrace{ a+b+\cdots% + +z }_{26}$ +\end{example} + +\index{акцент!математический} Для добавления к переменным знаков +математических акцентов, таких, как маленькие стрелки или знака +\wi{тильда}, вы можете пользоваться командами, перечисленным в +таблице~\ref{mathacc}. Широкие <<шляпки>> и тильды, охватывающие +несколько символов, генерируются командами \ci{widetilde} и +\ci{widehat}. Символ~<<\verb|'|\index{'@\verb+'+}>> дает знак +производной.\index{производная}. + +% a dash is -- + +\begin{example} + \begin{displaymath} + y=x^{2}\qquad y'=2x + \qquad y''=2 + \end{displaymath} +\end{example} + +\textbf{Векторы}\index{векторы} часто указываются добавлением +маленьких стрелок \wi{стрелки} над переменной. Это делается командой +\ci{vec}. Для обозначения вектора от $A$ до $B$ полезны две команды +\ci{overrightarrow} и \ci{overleftarrow}. + +\begin{example} + \begin{displaymath} + \vec a\quad + \overrightarrow{AB} + \end{displaymath} +\end{example} + +Обычно знак точки, обозначающий умножения, явно не набирается. Однако, +иногда он полезен, чтобы помочь читателю сгруппировать +формулу. Используйте для этого \ci{cdot}: + +\begin{example} +\begin{displaymath} +v = {\sigma}_1 \cdot {\sigma}_2 + {\tau}_1 \cdot {\tau}_2 +\end{displaymath} +\end{example} + + +Имена функций типа $\lg$ часто верстаются прямым шрифтом, а не +курсивом, как переменные. Поэтому \LaTeX{} содержит следующие команды +для набора имен наиболее важных функций: +\index{математические!функции} + +\begin{tabular}{lllllll} +\ci{arccos} & \ci{cos} & \ci{csc} & \ci{exp} & \ci{ker} +& \ci{limsup} & \ci{min} \\ +\ci{arcsin} & \ci{cosh} & \ci{deg} & \ci{gcd} & \ci{lg} & +\ci{ln} & \ci{Pr} \\ +\ci{arctan} & \ci{cot} & \ci{det} & \ci{hom} & \ci{lim} +& \ci{log} & \ci{sec} \\ +\ci{arg} & \ci{coth} & \ci{dim} & \ci{inf} & +\ci{liminf} & \ci{max} & \ci{sin} \\ +\ci{sinh} & \ci{sup} & \ci{tan} & \ci{tanh}\\ +\end{tabular} + +\begin{example} +\[\lim_{x \rightarrow 0} +\frac{\sin x}{x}=1\] +\end{example} + +Для функции модуля \wi{функция модуля} есть две команды: \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{\wi{дробь}} верстается командой +\ci{frac}\verb|{...}{...}|. Часто предпочтительнее ее форма с косой +чертой $1/2$, потому что она смотрится лучше при небольшом количестве +`дробного материала'. + +\begin{example} + $1\frac{1}{2}$~часа + \begin{displaymath} + \frac{ x^{2} }{ k+1 }\qquad + x^{ \frac{2}{k+1} }\qquad + x^{ 1/2 } + \end{displaymath} +\end{example} + +Для верстки биномиальных коэффициентов или аналогичных структур можно +пользоваться командой \ci{binom} из пакета \pai{amsmath}. + +\begin{example} +\begin{displaymath} +\binom{n}{k}\qquad\mathrm{C}_n^k +\end{displaymath} +\end{example} + +Для бинарных отношений бывает удобно размещать символы друг над +другом. Команда \ci{stackrel} набирает символ, заданный первым +аргументом, шрифтом размера индексов и размещает его над вторым +аргументом, верстаемым в обычной позиции: + +\begin{example} +\begin{displaymath} +\int f_N(x) \stackrel{!}{=} 1 +\end{displaymath} +\end{example} + + +\textbf{Оператор интеграла}\index{оператор!интеграла} печатает +команда~\ci{int}, \textbf{оператор суммы}\index{оператор!суммы}~--- +команда~\ci{sum}, \textbf{оператор + произведения}\index{оператор!произведения}~--- команда~\ci{prod}. +Верхние и нижние пределы указываются при помощи знаков~<<\verb|^|>> +и~<<\verb|_|>>, так же, как верхние и нижние +индексы\footnote{\AmS-\LaTeX{}, кроме того, поддерживает многострочные +верхние и нижние индексы.}. + +\begin{example} +\begin{displaymath} +\sum_{i=1}^{n} \qquad +\int_{0}^{\frac{\pi}{2}} \qquad +\prod_\epsilon +\end{displaymath} +\end{example} + +Чтобы получить больший контpоль над pазмещением индексов в сложных +выpажениях, \pai{amsmath} пpедоставляет еще два инстpумента: команду +\ci{substack} и окpужение \ei{subarray}: + +\begin{example} +\begin{displaymath} +\sum_{\substack{0> в качестве +невидимого правого ограничителя: + +\begin{example} +\begin{displaymath} +y = \left\{ \begin{array}{ll} + a & \textrm{если $d>c$}\\ + b+x & \textrm{по утрам}\\ + l & \textrm{остальное время дня} + \end{array} \right. +\end{displaymath} +\end{example} + +Так же, как в окружении \verb|tabular|, можно рисовать линейки в +окружении \ei{array}, например, разделяя элементы матрицы: + +\begin{example} +\begin{displaymath} +\left(\begin{array}{c|c} + 1 & 2 \\ +\hline +3 & 4 +\end{array}\right) +\end{displaymath} +\end{example} + + +Для формул, занимающих несколько строк или для систем +уравнений\index{системы уравнений} +вместо \ei{equation} пользуйтесь окружениями \ei{eqnarray} и +\verb|eqnarray*|. В \ei{eqnarray} каждая строка получает отдельный +номер уравнения. В \verb|eqnarray*| номера не ставятся. + +Окружения \ei{eqnarray} и \verb|eqnarray*| работают наподобие таблицы +из трех столбцов формата \verb|{rcl}|, где средний столбец +используется для знака равенства, или знака неравенства, или другого +подходящего знака. Команда \verb|\\| разбивает строки. + +\begin{example} +\begin{eqnarray} +f(x) & = & \cos x \\ +f'(x) & = & -\sin x \\ +\int_{0}^{x} f(y)dy & + = & \sin x +\end{eqnarray} +\end{example} + +Заметьте, что по обеим сторонам средней колонки, знаков равенства, +слишком много свободного места. Оно может быть уменьшено установкой +\verb|\setlength\arraycolsep{2pt}|, как в следующем примере.\sloppypar + +\index{длинные уравнения} \textbf{Длинные уравнения} не будут +автоматически разбиваться на правильные части. Автор должен указать, +где их разбивать и насколько выравнивать. Чаще всего для этого +используют следующие методы: + +\begin{example} +{\setlength\arraycolsep{2pt} +\begin{eqnarray} +\sin x & = & x -\frac{x^{3}}{3!} + +\frac{x^{5}}{5!}-{} + \nonumber\\ + & & {}-\frac{x^{7}}{7!}+{}\cdots +\end{eqnarray}} +\end{example} + +\begin{example} +\begin{eqnarray} +\lefteqn{ \cos x = 1 + -\frac{x^{2}}{2!} +{} } + \nonumber\\ + & & {}+\frac{x^{4}}{4!} + -\frac{x^{6}}{6!}+{}\cdots +\end{eqnarray} +\end{example} + +\noindent Команда \ci{nonumber} заставляет \LaTeX{} не генерировать +номер для этого уравнения. + +Такими методами может быть сложно получить правильно выглядящие +вертикально выровненные уравнения; более мощную альтернативу +предоставляет пакет \pai{amsmath} (см. окружения \verb|align|, +\verb|flalign|, \verb|gather|, \verb|multiline| и \verb|split|). + +\section{Фантомы} + +Мы не можем увидеть пpивидения, но они, тем не менее, все pавно +занимают свое место в умах некотоpых людей. Так и \LaTeX{} позволяет +использовать фантомы, невидимые объекты, для реализации интересных +трюков с размещением видимых объектов. + +Когда \LaTeX{} размещает текст по вертикали при помощи команд \verb|^| +и \verb|_|, он иногда проявляет многовато интеллекта. Командой +\ci{phantom} вы можете зарезервировать пространство для символов, +которых на самом деле сверстано не будет. Лучше всего это понять на +следующих примерах. + +\begin{example} +\begin{displaymath} +{}^{12}_{\phantom{1}6}\textrm{C} +\qquad \textrm{versus} \qquad +{}^{12}_{6}\textrm{C} +\end{displaymath} +\end{example} + +\begin{example} +\begin{displaymath} +\Gamma_{ij}^{\phantom{ij}k} +\qquad \textrm{versus} \qquad +\Gamma_{ij}^{k} +\end{displaymath} +\end{example} + +\section{Размер математического шрифта}\label{sec:fontsz} + +\index{шрифт!математический, размер} В математическом режиме \TeX{} +выбирает размер шрифта в зависимости от контекста. Индексы, например, +верстаются меньшим шрифтом. Если вы хотите добавить к уравнению +обычный текст, не пользуйтесь командой \verb|\textrm|, так как +механизм переключения размера работать не будет, потому что +\verb|\textrm| временно выходит в текстовый режим. Чтобы оставить его +работающим, используйте команду \verb|\mathrm|.\trfootnote{В + зависимости от используемой русификации, у вас могут не работать + русские буквы внутри команды \ci{mathrm}, вместо которой может + использоваться команда \ci{cyrmathrm}.} Но имейте в виду, +\ci{mathrm} будет хорошо работать только с короткими элементами. +Пробелы по-прежнему не активны и акцентированные символы не +работают.\footnote{При подключении \AmS-\LaTeX{} (пакет \pai{amsmath}) + команда \ci{textrm} начинает работать с изменением размера.} + +\begin{example} +\begin{equation} +2^{\textrm{nd}} \quad +2^{\mathrm{nd}} +\end{equation} +\end{example} + +Тем не менее, иногда вам может быть нужно указать \LaTeX{} точный +размер шрифта. В математическом режиме размер устанавливается четырьмя +командами: + +\begin{flushleft} + \ci{displaystyle}~($\displaystyle 123$), + \ci{textstyle}~($\textstyle 123$), + \ci{scriptstyle}~($\scriptstyle 123$) и + \ci{scriptscriptstyle}~($\scriptscriptstyle 123$). +\end{flushleft} + +Смена стилей влияет также на способ изображения пределов. + +\fvset{xrightmargin=0.52\textwidth} + +\begin{example} +\begin{displaymath} +\mathop{\mathrm{corr}}(X,Y)= + \frac{\displaystyle + \sum_{i=1}^n(x_i-\overline x) + (y_i-\overline y)} + {\displaystyle\biggl[ + \sum_{i=1}^n(x_i-\overline x)^2 +\sum_{i=1}^n(y_i-\overline y)^2 +\biggr]^{1/2}} +\end{displaymath} +\end{example} +% This is not a math accent, and no maths book would be set this way. +% mathop gets the spacing right. + +\fvset{xrightmargin=0.5\textwidth} + +\noindent Это один из примеров, когда нам нужны скобки б\'ольшие, чем +предоставляемые стандартными \verb|\left[ \right]|. + + +\section{Теоремы, законы, \ldots{}} + +При написании математических документов, вам, вероятно, нужен способ +верстки <<лемм>>, <<определений>>, <<аксиом>> и аналогичных структур. +\LaTeX{} поддерживает это командами +\begin{lscommand} +\ci{newtheorem}\verb|{|\emph{название}\verb|}[|\emph{счетчик}\verb|]{|% + \emph{текст}\verb|}[|\emph{раздел}\verb|]| +\end{lscommand} +Аргумент \emph{название}~--- это краткое ключевое слово, используемое +для идентификации <<теоремы>>. Аргументом \emph{текст} вы определяете +настоящее название <<теоремы>>, под которым она будет печататься в +документе. + +Аргументы в квадратных скобках необязательны. Оба они используются для +определения того, как нумеровать <<теорему>>. Аргументом +\emph{счетчик} вы можете указать \emph{название} предварительно +объявленной <<теоремы>>. Новая <<теорема>> будет тогда нумероваться в +той же последовательности. Аргумент \emph{раздел} позволяет вам +указать раздел, внутри которого вы хотите нумеровать вашу +<<теорему>>. + +После использования в преамбуле документа команды \ci{newtheorem}, вы +можете пользоваться следующими командами: + +\begin{code} +\verb|\begin{|\emph{название}\verb|}[|\emph{текст}\verb|]|\\ +Это интересная теорема.\\ +\verb|\end{|\emph{название}\verb|}| +\end{code} + +На этом теории должно быть достаточно. Дальнейшие примеры должны +развеять последнюю тень сомнений, и окончательно убедить вас, что +окружение \verb|\newtheorem| слишком сложно, чтобы его можно было +понять:\sloppypar + +\begin{example} +% определения для +% преамбулы документа +\newtheorem{law}{Law} +\newtheorem{jury}[law]{Jury} +% в теле документа +\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{law}No, No, No\end{law} +\end{example} + +Теорема <> использует тот же счетчик, что и теорема +<>. Следовательно, она получит номер в последовательности с +другими теоремами <>. Аргумент в квадратных скобках указывает +заголовок теоремы, или нечто аналогичное. + +\begin{example} +\flushleft +\newtheorem{mur}{Murphy}[section] +\begin{mur} +Если существует два или +более способа сделать +нечто, и один их этих +способов может привести +к катастрофе, то кто-то +обязательно это сделает. +\end{mur} +\end{example} + +Теорема <> получает номер, связанный с номером текущего +раздела. Вы можете также использовать другую структурную единицу, +например, главу или подраздел. + + +\section{Полужирные символы} +\index{полужирные символы} + +В \LaTeX{} довольно непросто получить жирные символы; это, вероятно, +сделано преднамеренно, потому что непрофессионалы слишком часто +злоупотребляют ими. Команда смены шрифта \verb|\mathbf| дает +полужирные символы, но они обычные (прямые), тогда как математические +символы обычно курсивные. Существует команда \ci{boldmath}, но +\emph{она может использоваться только вне математического режима}. То +же относится и к символам. + +\begin{example} +\begin{displaymath} +\mu, M \qquad \mathbf{M} \qquad +\mbox{\boldmath $\mu, M$} +\end{displaymath} +\end{example} + +\noindent Заметьте, что запятая тоже полужирная, что может быть +нежелательным. + +Пакет \pai{amsbsy} (включаемый пакетом \pai{amsmath}), равно как и +пакет \pai{bm} (из набора \texttt{tools}), включает команду +\ci{boldsymbol}. + +\ifx\boldsymbol\undefined\else +\begin{example} +\begin{displaymath} +\mu, M \qquad +\boldsymbol{\mu}, \boldsymbol{M} +\end{displaymath} +\end{example} +\fi + + + + +%%% Local Variables: +%%% mode: latex +%%% TeX-master: "lshort" +%%% End: + + diff --git a/Master/texmf-dist/doc/latex/lshort-russian/src/mylayout.sty b/Master/texmf-dist/doc/latex/lshort-russian/src/mylayout.sty new file mode 100644 index 00000000000..f31235631bc --- /dev/null +++ b/Master/texmf-dist/doc/latex/lshort-russian/src/mylayout.sty @@ -0,0 +1,373 @@ +%% +%% 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} + \def\theOr{or} + } +\DeclareOption{english}{% + \def\Headertext{Header} + \def\Bodytext{Body} + \def\Footertext{Footer} + \def\MarginNotestext{Margin\\Notes} + \def\oneinchtext{one inch} + \def\notshown{not shown} + \def\theOr{or} + } +\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}} + \def\theOr{or} + } +\DeclareOption{russian}{% + \def\Headertext{\cyr Верхний колонтитул} + \def\Bodytext{\cyr Тело} + \def\Footertext{\cyr Нижний колонтитул} + \def\MarginNotestext{\cyr Маргиналии\\(поля)} + \def\oneinchtext{\cyr 1~дюйм} + \def\notshown{\cyr не показано} + \def\theOr{\cyr или} + } +\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{% + \@layout + \if@twoside + \@layout + \fi} +\newcommand\@layout{% + \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\cyr\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} \\ + & \theOr{} \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 + +%%% Local Variables: +%%% mode: latex +%%% TeX-master: "lshort2e" +%%% End: + +%% +%% End of file `layout.sty'. diff --git a/Master/texmf-dist/doc/latex/lshort-russian/src/overview.tex b/Master/texmf-dist/doc/latex/lshort-russian/src/overview.tex new file mode 100644 index 00000000000..3ff8b31dc1b --- /dev/null +++ b/Master/texmf-dist/doc/latex/lshort-russian/src/overview.tex @@ -0,0 +1,113 @@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Contents: Who contributed to this Document +% $Id: overview.tex,v 1.1.1.1 2002/02/26 10:04:21 oetiker Exp $ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +% 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{Предисловие} + +\LaTeX{}~\cite{manual}~--- система верстки, ориентированная на +производство научных математических документов высокого типографского +качества. Система также вполне подходит для производства других видов +документов, от простых писем до полностью сверстанных книг. \LaTeX{} +использует \TeX{} \cite{texbook} в качестве своего механизма верстки. + +Это краткое введение описывает \LaTeXe{} и должно быть достаточно для +большинства применений \LaTeX. Для полного описания системы \LaTeX{} +читайте~\cite{manual,companion}. + +\bigskip +\noindent Это введение разбито на пять глав: +\begin{description} +\item[Глава 1] рассказывает о базовой структуре документов \LaTeX{}. + Вы получите некоторое представление об истории \LaTeX{}. После + чтения этой главы вы должны получить грубое представление о pаботе + \LaTeX{}. +\item[Глава 2] углубляется в детали верстки ваших документов. Она + объясняет большинство важных команд и окружений \LaTeX{}. После + чтения этой главы вы сможет писать первые документы. +\item[Глава 3] объясняет, как верстать формулы в \LaTeX{}. Множество + примеров поможет вам понять, как использовать эту, одну из самых сильных, + сторону \LaTeX{}. В конце этой главы вы найдете таблицы, + перечисляющие большинство известных в \LaTeX{} математических + символов. +\item[Глава 4] рассказывает про генерацию предметного указателя и + библиографии и включение EPS графики. Она объясняет, как пpи помощи + pdf\LaTeX{} создавать документы в фоpмате PDF, а также пpедставляет + несколько дpугих полезных расширений, таких, как пакет XY-pic.\sloppypar +\item[Глава 5] показывает, как использовать \LaTeX{} для создания +графики. Вместо рисования иллюстрации в каком-нибудь графическом редакторе, +записи ее в файл и включения его в \LaTeX{}, вы описываете иллюстрацию, а +\LaTeX{} рисует ее. +\item[Глава 6] содержит потенциально опасные сведения о том, как + менять стандартный макет документа. Она расскажет вам, как + сделать красивый вывод \LaTeX{} ужасным или потpясающим, в + зависимости от ваших способностей. +\end{description} + +\bigskip +\noindent Важно читать главы последовательно. В конце концов, книжка не такая уж +большая. По мере чтения вам встретится большое количество примеров. +Читайте их внимательно, поскольку многое в этой книжке объясняется +именно в тексте пpимеpов. + +\bigskip +\noindent \LaTeX{} работает на большинстве компьютеров, начиная с IBM PC или +Mac, и кончая большими системами UNIX или VMS. В многих +университетских сетях система уже установлена и готова к работе. +Информация о том, как использовать локальную установку \LaTeX{}, +должна быть предоставлена в \guide. Если у вас будут проблемы с +началом работы, попросите о помощи того, кто предоставил вам эту +книжку. Цель ее заключается \emph{не} в том, чтобы обучить вас +установке и настройке системы \LaTeX{}, а в том, чтобы научить, как +писать ваши документы так, чтобы они могли быть обработаны \LaTeX{}. + +\medskip +\noindent Если вам понадобится любой, относящийся к \LaTeX{}, +материал, поищите его на одном из ftp архивов Comprehensive \TeX{} +Archive Network (\texttt{CTAN}). Его основной +адреc~---\texttt{http://www.ctan.org}. Все пакеты можно также получить +с ftp-архива \texttt{ftp://www.ctan.org} и его зеркал по всему миру. +Например, для США это~--- \texttt{ftp://ctan.tug.org}, для +Германии~--- \texttt{ftp://ftp.dante.de}, для Великобритании~--- +\texttt{ftp://ftp.tex.ac.uk}, для России~--- +\texttt{ftp://ftp.radio-msu.net}. Если вы не в одной из этих стран, +выберите ближайший к вам архив.\sloppypar + +Далее в книге вы будете постоянно встречать ссылки на CTAN, обычно +указывающие на полезные программные пакеты и документы. Вместо полной +записи конкретных адресов будет писаться просто \texttt{CTAN:} и далее +адрес в дереве файлов CTAN. + +\noindent Если вы хотите иметь \LaTeX{} на вашем собственном компьютере, +посмотрите на то, что доступно по адресу \CTANref|systems|. + +\vspace{\stretch{1}} +\noindent Если у вас есть мысли по поводу того, что ст\'оит добавить, +удалить или изменить в этом документе, пожалуйста, дайте мне знать. Я +особенно заинтересован в откликах от новичков в \LaTeX{} на тему того, +какие части введения легко понимаемы, и что можно объяснить лучше. + +\medskip +\begin{verse} +\contrib{Tobias Oetiker}{oetiker@ee.ethz.ch}% +\noindent{Department of Information Technology and\\Electrical Engineering, +Swiss Federal Institute of Technology} +\end{verse} +\vspace{\stretch{1}} +\noindent Текущая версия этого документа доступна по адресу\\ +\CTANref|info/lshort|\trfootnote{Текущая версия данного +перевода доступна по адресу \texttt{http://xtalk.msk.su/tex}, а также на +\texttt{CTAN}.}. \endinput + + +%%% Local Variables: +%%% mode: latex +%%% TeX-master: "lshort2e" +%%% End: diff --git a/Master/texmf-dist/doc/latex/lshort-russian/src/spec.tex b/Master/texmf-dist/doc/latex/lshort-russian/src/spec.tex new file mode 100644 index 00000000000..093026140a0 --- /dev/null +++ b/Master/texmf-dist/doc/latex/lshort-russian/src/spec.tex @@ -0,0 +1,1022 @@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Contents: Specialities of the LaTeX system +% $Id: spec.tex,v 1.1.1.1 2002/02/26 10:04:21 oetiker Exp $ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\chapter{Специальные возможности} +\begin{intro} + При сборке большого документа \LaTeX{} поможет вам некоторыми + специальными функциями, например, генерацией предметного указателя, + управлением библиографией и тому подобными. Более подробное описание + специальных возможностей и расширений \LaTeX{} находится в + {\normalfont\manual} и в {\normalfont\companion}. +\end{intro} + + +\section{Включение \EPSi{} графики}\label{eps} + +\LaTeX{} имеет базовые средства для работы с плавающими объектами, +такими, как иллюстрации и таблицы, при помощи окружений \ei{figure} и +\ei{table}. + +Существует также несколько способов создавать собственно +графику\index{графика} средствами базового \LaTeX{} или его +расширений. К сожалению, большинство пользователей находит их трудными +для понимания, поэтому здесь эти способы не pассматpиваются. +Дополнительная информация приведена в \companion{} и в \manual{}. + +Более простой метод получения графики в документе~--- это создавать ее +специализированными программными пакетами\footnote{Такими, как XFig, + CorelDraw!, Freehand, Gnuplot,~\ldots{}} и включать в документ +готовую графику. Пакеты \LaTeX{} предлагают множество способов это +делать. В этом введении обсуждается только использование графики в +формате \EPSi{} (EPS), поскольку это +довольно просто делается и широко распространено. Чтобы использовать +картинки в формате EPS, вам нужно использовать для вывода +\PSi{} принтер.\footnote{Другая возможность вывода + \PSi{} заключается в использовании программы + \textsc{\wi{GhostScript}}, доступной с + \texttt{\CTAN|support/ghostscript|}. Пользователи Windows и OS/2 могут +обратить внимание на программу \textsc{GSview}.} + +Хороший набор команд включения графики входит в пакет \pai{graphicx} +(автор D.~P.~Carlisle). Он является частью целого семейства +пакетов, называющегося комплектом +``graphics''.\footnote{\CTANref|macros/latex/required/graphics|} + +В предположении, что вы работаете в системе с доступным для вывода +\PSi{}-принтером, и с установленным пакетом +\pai{graphicx}, для включения картинки в ваш документ можете +использовать следующую пошаговую инструкцию:\sloppypar + +\begin{enumerate} +\item Экспортируйте картинку из вашей графической программы в формате + EPS.\footnote{Если ваша программа не имеет экспорта в EPS, можно + попробовать установить драйвер \PSi{}-принтера (скажем, + какого-нибудь Apple LaserWriter) и печатать в файл через этот + драйвер. Если вам повезет, в этом файле будет EPS. Заметьте, что + EPS обязан содержать не больше одной страницы. Некоторые + принтерные драйверы нужно в явном виде настраивать для генерации EPS.} +\item В преамбуле документа загрузите пакет \pai{graphicx} при помощи +\begin{lscommand} +\verb|\usepackage[|\emph{драйвер}\verb|]{graphicx}| +\end{lscommand} +\noindent где \emph{драйвер}~--- это название вашего конвертера DVI в +\PSi{}. Самый широко используемый называется +\texttt{dvips}. Название драйвера требуется потому, что не существует +стандарта включения графики в \TeX{}. Зная название \emph{драйвера}, +\pai{graphicx} может выбрать правильный способ вставить информацию о +графике в \eei{.dvi}~файл так, чтобы драйвер ее понял и смог +корректно вставить \eei{.eps}~файл. +\item Для включения \emph{файла} в ваш документ пользуйтесь командой + \begin{lscommand} +\ci{includegraphics}\verb|[|\emph{опция}=\emph{значение}, \ldots\verb|]{|\emph{файл}\verb|}| +\end{lscommand} +Необязательный параметр принимает вид списка разделенных запятыми пар +\emph{опций} и соответствующих \emph{значений}. \emph{Опции} можно +использовать для изменения ширины, высоты, поворота включаемой +графики. Таблица~\ref{keyvals} перечисляет самые важные опции. +\end{enumerate} + +\begin{table}[htb] +\caption{Названия опций пакета \textsf{graphicx}} +\label{keyvals} +\begin{lined}{9cm} +\begin{tabular}{@{}ll} +\texttt{width}& масштабирует графику до указанной ширины\\ +\texttt{height}& масштабирует графику до указанной высоты\\ +\texttt{angle}& поворачивает графику против часовой стрелки\\ +\texttt{scale}& масштабирует графику\\ +\end{tabular} + +\bigskip +\end{lined} +\end{table} + +Возможно, пример сделает это понятнее: +\begin{code} +\begin{verbatim} +\begin{figure} +\begin{center} +\includegraphics[angle=90, width=0.5\textwidth]{test} +\end{center} +\end{figure} +\end{verbatim} +\end{code} +Здесь включается графика, записанная в файл \texttt{test.eps}. Она +\emph{сначала} поворачивается на 90 градусов и \emph{затем} +масштабируется до конечной ширины в 0.5 ширины стандартного +абзаца. Пропорции сохраняются, поскольку не указано конкретной высоты. +Параметры высоты и ширины могут также быть указаны в абсолютных +размерах. Обратитесь к таблице~\ref{units} на +странице~\pageref{units}. Если вы хотите знать об этом больше, +прочтите \cite{graphics} и~\cite{eps}. + + +\section{Библиография} + +Окружение \ei{thebibliography} генерирует +\index{библиография}библиографию. Каждый элемент начинается с +\begin{lscommand} +\ci{bibitem}\verb|[|\emph{метка}\verb|]{|\emph{маркер}\verb|}| +\end{lscommand} +Затем \emph{маркер} используется для дальнейших ссылок на книгу, +статью или труд. +\begin{lscommand} +\ci{cite}\verb|{|\emph{маркер}\verb|}| +\end{lscommand} + +Если вы не используете опцию \emph{метка}, элементы библиографии +нумеруются автоматически. Параметр после команды +\verb|\begin{thebibliography}| устанавливает максимальную ширину этих + номеров. В следующем примере \verb|{99}| указывает \LaTeX{}, что ни + один из номеров элементов не будет шире, чем число `99'. + +\fvset{xrightmargin=0.6\textwidth} + +\begin{example} +Partl~\cite{pa} предложил, +чтобы \ldots + +\begin{thebibliography}{99} +\bibitem{pa} H.~Partl: +\emph{German \TeX}, +TUGboat Volume~9, Issue~1 ('88) +\end{thebibliography} +\end{example} + +\fvset{xrightmargin=0.5\textwidth} + +\chaptermark{Специальные возможности} % we need to fix the damage done by the + %bibliography example. + +\thispagestyle{fancyplain} + +Для использования в б\'оль\-ших проектах обратите внимание на программу +Bib\TeX{}. Она входит в большинство поставок \TeX{}. Bib\TeX{} +позволяет вам поддерживать библиографическую базу данных и извлекать +из нее ссылки, имеющие отношение к тому, что вы цитировали в вашем +труде. Визуальное представление библиографий, генерируемых Bib\TeX{}, +основано на концепции стилей, что позволяет вам создавать +библиографии, следуя любому из существующих стилей библиографии. + + +\section{Указатели} +\label{sec:indexing} + +Полезной особенностью многих книг является их предметный +указатель\index{предметный указатель}. Указатели могут создаваться +автоматически при помощи \LaTeX{} и сопровождающей программы +\texttt{makeindex}.\footnote{На системах, не поддерживающих длинные + имена файлов, программа может называться \texttt{makeidx}.} В этом +введении будут изложены только базовые команды генерации указателя. +Более глубокое изложение смотрите в~\companion. \index{программа + makeindex}\index{пакет makeidx} + +Для включения возможностей \LaTeX{} в преамбуле должен загружаться +пакет \pai{makeidx}: +\begin{lscommand} +\verb|\usepackage{makeidx}| +\end{lscommand} +\noindent а специальные команды должны быть разрешены помещением в +преамбулу команды +\begin{lscommand} + \ci{makeindex} +\end{lscommand} + +Содержимое указателя создается командами +\begin{lscommand} + \ci{index}\verb|{|\emph{ключ}\verb|}| +\end{lscommand} +\noindent где \emph{ключ} является элементом указателя. Вы вводите +команды указателя в том месте текста, куда этот элемент должен +указывать. Таблица~\ref{index} объясняет синтаксис аргумента +\emph{ключ} несколькими примерами. + +\begin{table}[!tp] +\caption{Примеры синтаксиса ключей указателя} +\label{index} +\begin{center} +\begin{tabular}{@{}lll@{}} + \textbf{Пример} &\textbf{Вид указателя} &\textbf{Комментарий}\\\hline + \rule{0pt}{1.05em}\verb|\index{hello}| &hello, 1 &Обычный элемент\\ +\verb|\index{hello!Peter}| &\hspace*{2ex}Peter, 3 &Подчиненный `hello' элемент\\ +\verb|\index{Sam@\textsl{Sam}}| &\textsl{Sam}, 2& Форматированный ключ\\ +\verb|\index{Lin@\textbf{Lin}}| &\textbf{Lin}, 7& То же\\ +\verb.\index{Jenny|textbf}. &Jenny, \textbf{3}& Форматированная страница\\ +\verb.\index{Joe|textit}. &Joe, \textit{5}& То же\\ +\verb.\index{eolienne@\'eolienne}. &\'eolienne, 4& Акцентиpованные буквы +\end{tabular} +\end{center} +\end{table} + +По мере обработки входного файла \LaTeX{}, каждая команда +\verb|\index| записывает соответствующий элемент указателя вместе с +номером текущей страницы в специальный файл. Файл имеет то же имя, что +и входной файл \LaTeX{}, но другое расширение имени (\verb|.idx|). +Этот \eei{.ind}-файл затем обрабатывается программой +\texttt{makeindex}. + +\begin{lscommand} + \texttt{makeindex} \emph{filename} +\end{lscommand} + +Программа \texttt{makeindex} генерирует отсортированный указатель с +тем же именем, но, на этот раз, с расширением \eei{.ind}. + +Если теперь повторно обработать входной файл, этот отсортированный +указатель включается в документ в то место, где \LaTeX{} находит +команду +\begin{lscommand} + \ci{printindex} +\end{lscommand} + +Пакет \pai{showidx}, входящий в \LaTeXe{}, печатает все элементы +указателя на левом поле текста. Это весьма полезно при проверке текста +и сверке указателя. + +Заметим, что команда \ci{index}, будучи использована неосторожно, +может повлиять на вид верстки. + +\begin{example} +Мое Слово \index{Слово}. В отличие +от Слово\index{Слово}. Отметьте +положение точки. +\end{example} + +\section{Настраиваемые колонтитулы} +\label{sec:fancy} + +Пакет \pai{fancyhdr},\footnote{Доступный из + \CTANref|/tex-archive/macros/latex/contrib/supported/fancyhdr|.} +написанный Piet van~Oostrum, предоставляет несколько простых команд, +позволяющих вам настраивать верхние и нижние колонтитулы документа. +Если вы сейчас взглянете на верх этой страницы, то увидите одно их +возможных применений этого пакета. + +\begin{figure}[!htbp] +\begin{lined}{\textwidth} +\begin{verbatim} +\documentclass{book} +\usepackage{fancyhdr} +\pagestyle{fancy} +% этим мы убеждаемся, что заголовки глав и +% разделов используют нижний регистр. +\renewcommand{\chaptermark}[1]{\markboth{#1}{}} +\renewcommand{\sectionmark}[1]{\markright{\thesection\ #1}} +\fancyhf{} % убираем текущие установки для колонтитулов +\fancyhead[LE,RO]{\bfseries\thepage} +\fancyhead[LO]{\bfseries\rightmark} +\fancyhead[RE]{\bfseries\leftmark} +\renewcommand{\headrulewidth}{0.5pt} +\renewcommand{\footrulewidth}{0pt} +\addtolength{\headheight}{0.5pt} % оставляем место для линейки +\fancypagestyle{plain}{% + \fancyhead{} % на обычных страницах убираем колонтитулы + \renewcommand{\headrulewidth}{0pt} % и линейку +} +\end{verbatim} +\end{lined} +\caption{Пример настройки \pai{fancyhdr}} \label{fancyhdr} +\end{figure} + +Сложность в настройке колонтитулов в том, чтобы включить туда вещи +вроде заголовков раздела или главы. \LaTeX{} достигает этого в два +этапа. В определениях колонтитулов можно использовать команды +\ci{rightmark} и \ci{leftmark}, представляющих заголовки текущей +главы и раздела, соответственно. Значения этих двух команд меняются +при обработке команд \ci{chapter} или \ci{section}. + +Для большей гибкости команды \ci{chapter} и ей подобные не +переопределяют \ci{rightmark} и \ci{leftmark} сами, а вызывают еще +одну команду, называющуюся \ci{chaptermark}, \ci{sectionmark} или +\ci{subsectionmark}, ответственную за переопределение \ci{rightmark} +и \ci{leftmark}.\sloppypar + +Так что, если вы хотите изменить вид названия главы в верхнем +колонтитуле, вы просто переопределяете команду \ci{chaptermark}. +\cih{sectionmark}\cih{subsectionmark} + +Рисунок~\ref{fancyhdr} показывает, как можно настроить пакет +\pai{fancyhdr} так, чтобы колонтитулы выглядели почти так, как они +выглядят у этого буклета. В любом случае вам рекомендуется +ознакомиться с документацией к пакету по адресу, упомянутому в сноске. + + +\section{Пакет verbatim} + +Ранее в этом введении вы познакомились с \emph{окружением} +\ei{verbatim}. В этом разделе вы узнаете про \emph{пакет} +\pai{verbatim}. Пакет \pai{verbatim} представляет из себя повторную +реализацию окружения \ei{verbatim} с исправлением некоторых его +ограничений. Само по себе это не замечательно,\trfootnote{Это для + американцев не замечательно. Для нас интересно то, что пакет + \pai{verbatim} включает команду \cih{verbatim"@font}\texttt{\bs verbatim@font}, позволяющую + использовать произвольный шрифт, например, русский, что невозможно в + окружении \ei{verbatim} без модификации стандартного поведения + \LaTeX{}.} но, кроме того, в него +была добавлена некоторая функциональность, и вот почему пакет здесь +упоминается. Пакет \pai{verbatim} предоставляет команду + +\begin{lscommand} +\ci{verbatiminput}\verb|{|\emph{файл}\verb|}| +\end{lscommand} + +\noindent которая позволяет вам включать текстовый файл в ваш +документ, как если бы его содержимое находилось внутри окружения +\ei{verbatim}. + +Так как пакет \pai{verbatim} входит в комплект `tools', вы найдете его +установленным на большинстве систем. Если вы хотите узнать о нем +больше, обязательно прочитайте \cite{verbatim}. + +\section{Загрузка и установка пакетов \LaTeX{}}\label{sec:Packages} + +Большинство дистрибутивов \LaTeX{} включают большой набор +предустановленных стилевых пакетов, но в Сети доступно намного +больше. Основное место для поиска стилевых пакетов в Интернете~--- +CTAN (\verb|http://www.ctan.org/|). + +Пакеты, такие, как \pai{geometry}, \pai{hyphenat} и многие другие, +обычно состоят из двух файлов: файла с расширением \texttt{.ins} и +второго, с расширением \texttt{.dtx}. Часто к ним прилагается файл +\texttt{readme.txt} с кратким описанием пакета. Конечно, сначала нужно +прочесть этот файл. + +В любом случае, после того, как вы скопировали файлы пакета на вашу +машину, вам нужно обработать их так, чтобы, во-первых, ваш \TeX{} +узнал о наличии нового пакета и, во-вторых, вы получили необходимую +документацию. Вот как выполняется первая часть: + +\begin{enumerate} +\item Обработайте \LaTeX{} файл \texttt{.ins}. На выходе вы получите файл + \eei{.sty}. +\item Поместите файл \eei{.sty} туда, где ваш дистрибутив ищет эти + файлы. Обычно это подкаталоги каталога + \texttt{\ldots/\emph{localtexmf}/tex/latex}. +\item Обновите базу имен файлов вашего дистрибутива. Команда зависит + от конкретного дистрибутива: для teTeX и fpTeX~--- \texttt{texhash}, + для web2c~--- \texttt{maktexlsr}, для MikTeX~--- \texttt{initexmf + -update-fndb}, или используя графические интерфейсы. +\end{enumerate} + +\noindent Теперь вы можете из файла \texttt{.dtx} получить +документацию: + +\begin{enumerate} +\item Обработайте \LaTeX{} файл \texttt{.dtx}. На выходе вы получите + файл \texttt{.dvi}. Заметьте, что вам может быть нужно запустить + \LaTeX{} несколько раз, чтобы получить правильные перекрестные + ссылки. +\item Проверьте, не сгенеровал ли \LaTeX{}, кроме всего прочего, файл + \texttt{.idx}. Если нет, то переходите к пункту~\ref{step:final}. +\item Для генерации предметного указателя, выполните команду:\\ + \fbox{\texttt{makeindex -s gind.ist \textit{имя}}}\\ + (где \textit{имя}~--- имя основного файла без расширения). +\item Снова обработайте \LaTeX{} файл \texttt{.dtx} \label{step:next} +\item В конце концов, для удобства чтения сгенерируйте файл + \texttt{.ps} или \texttt{.pdf}.\label{step:final} +\end{enumerate} + +Иногда вы обнаружите, что генерируется также файл \texttt{.glo} +(глоссарий). В этом случае между шагами~\ref{step:next} и +\ref{step:final} выполните команду: + +\noindent\texttt{makeindex -s gglo.ist -o \textit{имя}.gls \textit{имя}.glo} + +\noindent и еще раз запустить \LaTeX{} с файлом \texttt{.dtx}. + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Contents: Chapter on pdfLaTeX +% French original by Daniel Flipo 14/07/2001 +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\section{Работа с pdf\LaTeX{}}\label{sec:pdftex}\index{PDF} +\secby{Daniel Flipo}{Daniel.Flipo@univ-lille1.fr}% + +PDF~--- формат гипертекстовых\index{гипертекст} документов. Так же, +как на веб-страницах, некоторые слова в документе отмечаются как +гиперссылки. Они ведут к другим точкам документа или к другим +документам. Если вы ткнете мышкой в такую гиперссылку, то попадете в +точку назначения ссылки. В контексте \LaTeX{} это означает, что все +появления в тексте команд \ci{ref} и \ci{pageref} становятся +гиперссылками. Кроме того, оглавление, предметный указатель и другие +аналогичные структуры становятся наборами гиперссылок. + +Б\'ольшая часть веб-страниц сегодня пишется на языке HTML +\emph{(HyperText Markup Language, язык гипертекстовой разметки)}. Для +научных документов этот формат имеет два серьезных недостатка: +\begin{enumerate} +\item Включение в HTML математических формул, вообще говоря, не + поддерживается. Несмотря на наличие такого стандарта, большинство + используемых сегодня Интернет-навигаторов его не поддерживают или не + имеют необходимых шрифтов. +\item Печать HTML-документов возможна, но результаты сильно зависят от + используемой платформы и навигатора. Результат и близко не подходит + к тому качеству, которое мы привыкли ожидать в мире \LaTeX{}. +\end{enumerate} + +Было множество попыток создать трансляторы из \LaTeX{} в +HTML. Некоторые из них были даже довольно успешны в том смысле, что +они могут генерировать корректные веб-страницы из обычных файлов +\LaTeX{}. Но все из них для получения результата предпринимают +множество упрощений. Когда вы начинаете использовать сложные +возможности \LaTeX{} и внешние пакеты, такие трансляторы обычно +начинают давать сбои. Авторы, желающие сохранить уникально +типографское качество своих документов даже публикуясь на WWW, +обращаются к PDF \emph{(Portable Document Format, формат мобильных + документов)}, который сохраняет верстку документа и позволяет +использовать гипертекстовую навигацию. Большинство современных +веб-навигаторов имеют встроенные средства для просмотра документов в +формате PDF. + +Даже несмотря на наличие средств просмотра форматов DVI и \PSi{} почти +на любой платформе, вы увидите, что гораздо более распространены +\wi{Acrobat Reader} и \wi{xpdf}, служащие для просмотра +PDF-документов. Поэтому, предоставляя PDF-версии ваших документов, вы +делаете их более доступными для потенциальных читателей. + +\subsection{PDF-документы для WWW} + +Создание PDF-файла из исходного текста в \TeX{} очень просто +благодаря программе pdf\TeX{}, разработанной +H\`an~Th\'{\^e}~Th\`anh. pdf\TeX{} генерирует PDF аналогично тому, как +\TeX{} генерирует DVI. Существует также pdf\LaTeX{}, генерирующий PDF +из исходного теста +\LaTeX{}.\index{pdftex@pdf\TeX}\index{pdftex@pdf\LaTeX} + +И pdf\TeX{}, и pdf\LaTeX{} автоматически устанавливаются большинством +современных дистрибутивов \TeX{}, таких, как te\TeX{}, fp\TeX{}, +Mik\TeX{}, \TeX{}Live и CMac\TeX{}. + +Для генерации PDF вместо DVI достаточно вместо команды \texttt{latex + file.tex} использовать команду \texttt{pdflatex file.tex}. Там, где +\LaTeX{} не запускается из командной строки, вы можете найти +специальную кнопку в \TeX{}ControlCenter. + +В \LaTeX{} размер бумаги определяется при помощи необязательных +параметров команды \ci{documentclass}, например, \texttt{a4paper} или +\texttt{letterpaper}. Этот механизм работает и в pdf\LaTeX{}, но, +помимо этого, pdf\TeX{} должен знать также и физический размер бумаги, +а не только размер области, используемой для верстки.\index{размер + бумаги} Если вы используете пакет \pai{hyperref} +(см. стр.~\pageref{ssec:pdfhyperref}), размер бумаги будет установлен +автоматически. В ином случае вам нужно сделать это вручную, поместив в +преамбулу документа следующие строчки: +\begin{code} +\begin{verbatim} +\pdfpagewidth=\paperwidth +\pdfpageheight=\paperheight +\end{verbatim} +\end{code} + +Следующий раздел более детально поясняет разницу между <<нормальным>> +\LaTeX{} и pdf\LaTeX{}. Основные отличия сосредоточены в трех +областях: в используемых шрифтах, в форматах включаемых изображений и +в методах ручного формирования гиперссылок. + +\subsection{Шрифты} + +\wi{pdf\LaTeX} может работать с любыми видами шрифтов (растровые +шрифты PK, TrueType, \PSi{} type~1\dots), но основной для \LaTeX{} +формат, растровые шрифты PK, делают документ, просматриваемый на +экране при помощи Acrobat Reader, очень коряво выглядящим. Для +генерации нормально отображаемых документов лучше всего +использовать шрифты \PSi{} Type~1. + +\PSi{} Type~1 версии шрифтов Computer Modern и AMSFonts были +произведены компаниями Blue Sky Research и Y\&Y, Inc., которые потом +передали авторские права на них Американскому Математическому Обществу +(AMS). В начале 1997 года эти шрифты были сделаны публично доступными, +и в настоящее время включены в большинство дистрибутивов \TeX{}. + +Однако, если вы используете \LaTeX{} для создания документов на +языках, отличных от английского, вам может быть нужно использовать +шрифты EC, LH или CB (см. обсуждение шрифтов \texttt{OT1} на +стр.~\pageref{OT1}). Владимир Волович создал шрифтовой пакет cm-super, +который охватывает полные наборы шрифтов EC/TC, EC Concrete, EC Bright +и LH. Он доступен по адресу \CTANref|fonts/ps-type1/cm-super|, а также +включен в дистрибутивы \TeX{}Live7 и Mik\TeX{}. Аналогично, греческие +шрифты CB в формате Type~1, созданные Apostolos +Syropoulos, доступны по адресу \CTANref|fonts/greek/cb|. К сожалению, +оба эти набора не отличаются типографским качеством Type~1 CM шрифтов +от Blue Sky/Y\&Y. Хинты (hints) в них сгенерированы автоматически, и +потому документы могут на экране выглядеть не так красиво, как при +использовании Type~1 CM шрифтов Blue Sky/Y\&Y. На устройствах с +высоким разрешением они дают результаты, идентичные оригинальным +растровым шрифтам EC/LH/CB. + +Если вы создаете документы на латинице, у вас есть несколько других +возможностей: +\begin{itemize} +\item Использовать пакет \pai{aeguill}, известный также как + \emph{Almost European Computer Modern with Guillemets}. Просто + поместите в преамбулу строчку + \verb+\usepackage{aeguill}+\paih{aeguill} для использования + виртуальных шрифтов AE вместо шрифтов EC. +\item Использовать пакет \pai{mltex}, который, однако, работает, + только если ваш pdf\TeX{} скомпилирован с опцией \wi{mltex}. +\end{itemize} + +Виртуальный набор шрифтов AE, аналогично системе {Ml\TeX}, заставляет +\TeX{} верить, что он имеет полные 256-символьные шрифты, создавая +большинство недостающих знаков из шрифта CM и переупорядочивая их в +кодировку EC, позволяя таким образом использовать высококачественные +CM шрифты в формате Type~1, доступные на большинстве систем. Поскольку +шрифт теперь имеет кодировку T1, для европейских языков, основанных на +латинице, нормально работает механизм переносов. Единственный +недостаток этого подхода~--- в том, что искусственные символы AE не +работают в функции поиска Acrobat Reader, так что вы не сможете искать +слова с акцентированными символами. + +Для русского языка аналогичным решением будет использование +виртуальных шрифтов C1, доступных по адресу +\texttt{ftp://ftp.vsu.ru/pub/tex/font-packs/c1fonts}. Эти шрифты +комбинируют стандартные шрифты CM Type~1 из набора Bluesky со шрифтами +CMCYR Type~1 из наборов Paradissa и BaKoMa, доступных на +CTAN. Поскольку шрифты Paradissa содержат только русские буквы, шрифты +C1 не имеют других кириллических символов. + +Иным решением может быть переключение на другие \PSi{} Type~1 +шрифты. Некоторые из них даже поставляются с каждой копией Acrobat +Reader. Из-за того, что эти шрифты имеют другие метрики символов, ваша +верстка изменится. Обычно текст начинает занимать больше места, так +как CM шрифты очень компактны. Кроме того, общая визуальная +согласованность документа будет хуже, так как шрифты Times, Helvetica +и Courier (основные кандидаты на такую замену) не были спроектированы +работать вместе в одном документе, как это было сделано в шрифтах +Computer Modern. + +Для этой цели существуют два готовых набора шрифтов: пакет \pai{pxfonts}, +базирующийся в качестве основного на шрифте \emph{Palatino}, и пакет +\pai{txfonts}, базирующийся на шрифте \emph{Times}. Чтобы использовать +эти пакеты, поместите в преамбулу следующие строчки: +\begin{code} +\begin{verbatim} +\usepackage[T1]{fontenc} +\usepackage{pxfonts} +\end{verbatim} +\end{code} + +Замечание: после компиляции исходного текста вы можете увидеть в +\texttt{.log}-файле строчки наподобие следующей: +\begin{verbatim} +Warning: pdftex (file eurmo10): Font eurmo10 at ... not found +\end{verbatim} +Они означают, что не был найден определенный шрифт, использованный в +документе. Вам придется устранить эту проблему, так как результирующий +PDF-документ может \emph{вообще не показывать страницы с + отсутствующими символами}. + +Вся эта непростая проблема со шрифтами, особенно отсутствие хорошего +набора шрифтов EC, равного по качеству шрифтам CM в формате Type~1, +занимает умы множества людей, так что постоянно появляются новые +решения. + +\subsection{Использование графики} +\label{ssec:pdfgraph} + +Включение графики в документ лучше всего работает при помощи пакета +\pai{graphicx} (см. стр.~\pageref{eps}). С указанием значения +\texttt{pdftex} в опции \emph{driver} этот пакет успешно работает с +pdf\LaTeX{}: +\begin{code} +\begin{verbatim} +\usepackage[pdftex]{color,graphicx} +\end{verbatim} +\end{code} +В приведенном примере включен также пакет \pai{color}, поскольку +использование цвета в веб-документах вполне естественно. + +Это все были хорошие новости, а теперь~--- плохие: графика в формате +\EPSi{} не работает с pdf\LaTeX{}. Если вы не зададите расширение +файла в команде \ci{includegraphics}, пакет \pai{graphicx} выберет +подходящий файл, основываясь на значении опции \emph{driver}. Для +значения \texttt{pdftex} это будут форматы \texttt{.png}, +\texttt{.pdf}, \texttt{.jpg}, \texttt{.mps} (\MP\index{metapost@\MP}) +и \texttt{.tif}~--- но \emph{не} \texttt{.eps}. + +Простой способ обхода этой проблемы~--- сконвертировать ваши файлы EPS +в формат PDF утилитой \texttt{epstopdf}, присутствующей во многих +системах. Для векторной графики это замечательное решение. Для растров +(фотографий, сканированных документов) это не идеально, потому что +формат PDF сам по себе поддерживает включение растровых изображений +формата PNG и JPEG. Формат PNG хорош для снимков экрана и других +изображений с небольшим количеством цветов. Формат JPEG хорош для +фотографий из-за своей компактности. + +Иногда может быть желательно вообще не рисовать геометрические фигуры, +а описать их на языке специальных команд, таком, как +\MP\index{metapost@\MP}, включенном в большинство дистрибутивов +\TeX{}. В комплекте вы найдете полное руководство по его +использованию. + +\subsection{Гиперссылки} +\label{ssec:pdfhyperref} + +Пакет \pai{hyperref} превратит все внутренние ссылки документа в +гиперссылки. Для этого необходимо некоторое шаманство, в частности, +команда \verb+\usepackage[pdftex]{hyperref}+ должна быть +\emph{последней} командой в преамбуле вашего документа. + +Для настройки поведения пакета \pai{hyperref} мы можете использовать: +\begin{itemize} +\item разделенный запятыми список опций \pai{hyperref}, после опции + \texttt{pdftex}\\ + \verb+\usepackage[pdftex]{hyperref}+ +\item отдельные команды + \verb+\hypersetup{+\emph{опции}\verb+}+. +\end{itemize} + +Единственная обязательная опция~--- \texttt{pdftex}, остальные лишь +позволяют изменять поведение \pai{hyperref} по +умолчанию.\footnote{Стоит заметить, что пакет \pai{hyperref} не + ограничен работой с pdf\TeX{}. Его можно настроить для внедрения в + нормальную выдачу DVI специфичной для PDF информации. Она потом + попадает в PS-файл, генерируемый программой \texttt{dvips}, и, + наконец, используется Adobe Distiller, который можно использовать + для преобразования PS-файлов в формат PDF.} В следующем списке +значения по умолчанию приведены прямым шрифтом: + +\begin{description} + \item [\texttt{bookmarks (=true,\textit{false})}] показывает или + прячет полосу закладок при просмотре документа + \item [\texttt{unicode (=false,\textit{true})}] позволяет + использовать в закладках нелатинские символы + \item [\texttt{pdftoolbar (=true,\textit{false})}] показывает или + прячет линейку инструментов Acrobat + \item [\texttt{pdfmenubar (=true,\textit{false})}] показывает или + прячет меню Acrobat + \item [\texttt{pdffitwindow (=true,\textit{false})}] меняет + начальное увеличение документа (страница размером в окно Acrobat) + \item [\texttt{pdftitle (=\{text\})}] устанавливает заголовок, + отображаемый Acrobat в окне \texttt{Document Info} + \item [\texttt{pdfauthor (=\{text\})}] задает автора PDF-документа + \item [\texttt{pdfnewwindow (=true,\textit{false})}] определяет, + должно ли открываться новое окно, если гиперссылка ведет в другой + документ + \item [\texttt{colorlinks (=false,\textit{true})}] окружает ссылки + цветными рамками (\texttt{false}) или меняет цвет текста ссылок + (\texttt{true}). Цвет можно настроить следующими опциями (показаны + значения по умолчанию): + \begin{description} + \item [\texttt{linkcolor (=red)}] цвет внутренних ссылок (разделы, + страницы и т.п.), + \item [\texttt{citecolor (=green)}] цвет ссылок на литературу, + \item [\texttt{filecolor (=magenta)}] цвет ссылок на файлы, + \item [\texttt{urlcolor (=cyan)}] цвет ссылок на URL (почта, WWW). + \end{description} +\end{description} + +\vspace{\baselineskip} + +Если вас устраивают значения по умолчанию: +\begin{code} +\begin{verbatim} +\usepackage[pdftex]{hyperref} +\end{verbatim} +\end{code} + +Чтобы открыть окно закладок и раскрасить ссылки (значения +\texttt{=true} можно опускать): +\begin{code} +\begin{verbatim} +\usepackage[pdftex,bookmarks,colorlinks]{hyperref} +\end{verbatim} +\end{code} + +Когда PDF-документы предназначаются для печати, цветные ссылки лучше +не использовать, потому что они окажутся на бумаге серыми, затрудняя +чтение. Лучше использовать цветные рамки, которые не печатаются: +\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} + +Если вам нужно задать информацию для секции \texttt{Document Info}: +\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} +Веб-сайт \href{http://www.ctan.org}{CTAN}. +\end{verbatim} +\end{code} +\noindent генерирует на выходе ``\href{http://www.ctan.org}{CTAN}''; +при нажатии мышью на слово ``\textcolor{magenta}{CTAN}'' вы попадете +на веб-сайт CTAN. + +Если ссылка ведет не на URL, а на локальный файл, вы тоже можете +пользоваться командой \ci{href}: +\begin{verbatim} + Полный текст документа находится \href{manual.pdf}{здесь}. +\end{verbatim} +\noindent что сгенерирует текст ``Полный текст документа находится +\textcolor{cyan}{здесь}.'' Нажатие на слово +``\textcolor{cyan}{здесь}'' откроет файл \texttt{manual.pdf}. (Имя +файла рассматривается относительно положения текущего документа.) + +Автор статьи может облегчить читателю отсылку откликов, используя +команду \ci{href} внутри команды \ci{author} на титульной странице +документа: +\begin{code} +\begin{verbatim} +\author{Mary Oetiker $<$\href{mailto:mary@oetiker.ch}% + {mary@oetiker.ch}$>$ +\end{verbatim} +\end{code} +Заметим, что ссылка с почтовым адресом дополняет адрес, приведенный +собственно на странице. Это сделано потому, что ссылка\\ +\verb+\href{mailto:mary@oetiker.ch}{Mary Oetiker}+\\ +будет удобна из-под Acrobat Reader, но будет невидима после печати +документа на бумаге. + +\subsection{Проблемы со ссылками} + +Когда сбрасываются счетчики, например, когда команда \ci{mainmatter} +из класса документов \texttt{book} сбрасывает счетчик номера страницы +в~1, генерируются сообщения наподобие такого: +\begin{verbatim} +! pdfTeX warning (ext4): destination with the same identifier + (name{page.1}) has been already used, duplicate ignored +\end{verbatim} +Происходит это потому, что во вводной части книги уже была страница +номер~1, и все ссылки на ``страницу 1'' будут уже не уникальными, +отсюда и сообщение ``\verb+duplicate+ has been \verb+ignored+.'' + +Избавиться от этого можно, задав \texttt{hyperref} опцию +\texttt{plainpages=false}. К сожалению, поможет она только в отношении +счетчика страниц. Еще более радикальной мерой может быть использование +опции \texttt{hypertexnames=false}, но после этого перестанут работать +ссылки на страницы из предметного указателя. + +\subsection{Проблемы с закладками} + +Текст закладок не всегда выглядит так, как вам бы этого хотелось. В +закладках допустим гораздо меньший набор символов, чем в нормальном +\LaTeX{}, поскольку они являются ``просто текстом''. Обычно hyperref +замечает связанные с этим проблемы и выводит предупреждение: +\begin{code} +\begin{verbatim} +Package hyperref Warning: +Token not allowed in a PDFDocEncoded string: +\end{verbatim} +\end{code} + +Вы можете обойти эту проблему, предоставив текстовую строчку для +закладки взамен проблемного текста: +\begin{lscommand} +\ci{texorpdfstring}\verb|{|\emph{текст \TeX{}а}\verb|}{|\emph{текст закладки}\verb|}| +\end{lscommand} + +Математические выражения являются первыми кандидатами на такую замену: +\begin{code} +\begin{verbatim} +\section{\texorpdfstring{$E=mc^2$}% + {E\ =\ mc\texttwosuperior}} +\end{verbatim} +\end{code} +\noindent что превращает \verb+\section{$E=mc^2$}+ в ``E=mc2'' для +цели создания закладки. + +Цвета тоже плохо себя ведут в закладках: +\begin{code} +\verb+\section{\textcolor{red}{Red !}}+ +\end{code} +\noindent выдает строку ``redRed!''. Команда \verb+\textcolor+ +игнорируется, но ее аргумент (red) печатается. + +Гораздо лучший результат получается так: +\begin{code} +\verb+\section{\texorpdfstring{\textcolor{red}{Red !}}{Red\ !}}+ +\end{code} + + +\section{Совместимость исходных текстов \LaTeX{} и pdf\LaTeX{}} +\label{sec:pdfcompat} + +В идеале ваш документ должен одинаково хорошо компилироваться как +\LaTeX{}, так и pdf\LaTeX{}. Основная проблема тут~--- включение +графики. Простым решением является \emph{повсеместное умолчание} +расширения файлов в команде \ci{includegraphics}. В этом случае +компилятор автоматически выбирает файл требуемого формата из текущего +каталога. Все, что нужно будет сделать,~--- это создать подходящие +версии графических файлов. \LaTeX{} будет выбирать \texttt{.eps}, а +pdf\LaTeX{} постарается включить файлы с расширениями \texttt{.png}, +\texttt{.pdf}, \texttt{.jpg}, \texttt{.mps} или \texttt{.tif} (в +указанном порядке). + +Для случаев, когда вам все же нужно будет использовать разный код для +обычной и PDF-версии документа, можно где-то в самом начале документа +сделать следующее: +\begin{code} +\begin{verbatim} +\newif\ifPDF +\ifx\pdfoutput\undefined\PDFfalse +\else\ifnum\pdfoutput > 0\PDFtrue + \else\PDFfalse + \fi +\fi +\end{verbatim} +\end{code} +Здесь определена специальная команда, позволяющая легко писать +условный код: +\begin{code} +\begin{verbatim} +\ifPDF + \usepackage[T1]{fontenc} + \usepackage{aeguill} + \usepackage[pdftex]{graphicx,color} + \usepackage[pdftex]{hyperref} +\else + \usepackage[T1]{fontenc} + \usepackage[dvips]{graphicx} + \usepackage[dvips]{hyperref} +\fi +\end{verbatim} +\end{code} +В этом примере пакет hyperref включен даже в не-PDF-версии. Сделано +это для того, чтобы команда \ci{href} работала в любом случае, и ее +использование не надо было оборачивать в условные операторы. + +Заметим, что в современных дистрибутивах \TeX{} (например, в +\TeX{}Live), выбор \texttt{pdftex} или \texttt{dvips} при вызове +\pai{graphicx} и \pai{color} происходит автоматически в соответствии с +настройками конфигурационных файлов \texttt{graphics.cfg} и +\texttt{color.cfg}. + +\section{Создание презентаций при помощи \pai{pdfscreen}} +\label{sec:pdfscreen} +\secby{Daniel Flipo}{Daniel.Flipo@univ-lille1.fr} +Результаты вашей работы вы можете демонстрировать на доске, +проектором, или прямо с вашего ноутбука при помощи одной из +презентационных программ. + +\wi{pdf\LaTeX} с пакетом \pai{pdfscreen} позволяет вам создавать +презентации в PDF, столь же красивые и живые, как и в +\emph{PowerPoint}, но много более мобильные, поскольку Acrobat Reader +существует на более широком спектре систем. + +Пакет \pai{pdfscreen} использует пакеты \pai{graphicx}, \pai{color} и +\pai{hyperref} с опциями, настроенными для экранной презентации. + +\begin{figure}[htbp] +\begin{verbatim} +\documentclass[pdftex,12pt]{article} +%%% misc extensions %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\usepackage[latin1]{inputenc} +\usepackage[english]{babel} +\usepackage[T1]{fontenc} +\usepackage{aeguill} +%%% pdfscreen %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\usepackage[screen,panelleft,chocolate]{pdfscreen} +% Screen Format +\panelwidth=25mm +%% height width +\screensize{150mm}{200mm} +%% left right top bottom +\marginsize{42mm}{8mm}{10mm}{10mm} +% Color or image for background +\overlayempty +\definecolor{mybg}{rgb}{1,0.9,0.7} +\backgroundcolor{mybg} +% Logo +\emblema{MyLogo} +%%% For PPower4 (post-processor) %%%%%%%%%%%%%%%%%%%%%%%% +\usepackage{pause} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\begin{document} +\begin{slide} +\begin{itemize} +\item Good News\dots \pause +\item Bad News +\end{itemize} +\end{slide} +\end{document} +\end{verbatim} +% \begin{center} +% \includegraphics[width=.8\textwidth]{pdfscr} + \caption{Пример входного файла pdfscreen} + \label{fig:pdfscr} +% \end{center} +\end{figure} + +Для создания таких документов обычно используется класс +\texttt{article}. Рис.~\ref{fig:pdfscr} показывает пример входного +файла. Сначала загружается пакет \pai{pdfscreen} с соответствующими +опциями: +\begin{description} +\item[\texttt{screen}]: экранная презентация. Для бумажной презентации + пользуйтесь опцией \texttt{print}. +\item[\texttt{panelright}] размещает панель навигации в правой части + экрана. Если панель нужна слева, пользуйтесь опцией + \texttt{panelleft}. Если она не нужна вообще, используйте + \texttt{nopanel}. +\item[\texttt{french}] или любой другой поддерживаемый язык. Текст на + навигационных кнопках выводится на соответствующем языке. Эта опция + не зависит от опций пакета \pai{babel}. Если ваш язык не + поддерживается \pai{pdfscreen}, вы все же можете локализовать кнопки + панели при помощи файла \texttt{pdfscreen.cfg}, см., например, + \texttt{pdfscreen.cfg.specimen}. +\item[\texttt{chocolate}] цветовая схема навигационной панели. Другие + варианты: \texttt{gray}, \texttt{orange}, \texttt{palegreen}, + \texttt{bluelace} и \texttt{blue}, используемый по умолчанию. +\end{description} + +Далее настраивается формат экрана. Поскольку презентация всегда +разворачивается на полный экран, это можно использовать для настройки +размера шрифта: +\begin{description} +\item[\ci{panelwidth}] определяет ширину навигационной панели +\item[\ci{screensize}\textmd{\texttt{\{}\emph{ширина}\texttt{\}\{}\emph{высота}\texttt{\}}}] + определяет ширину и высоту экрана, включая навигационную панель +\item[\ci{marginsize}\textmd{\texttt{\{}\emph{левое}\texttt{\}\{}\emph{правое}\texttt{\}\{}\emph{верхнее}\texttt{\}\{}\emph{нижнее}\texttt{\}}}] + определяет поля документа. В приведенном примере документ не + центрируется, поскольку номера разделов остаются на левом поле. +\end{description} + +Можно использовать фоновое изображение в любом из поддерживаемых +pdf\TeX{} форматов командой +\begin{lscommand} +\ci{overlay}\verb|{|\emph{изображение}\verb|}| +\end{lscommand} +\noindent или, если вы предпочитаете пустой фон, можно задать его цвет +командой +\begin{lscommand} +\ci{background}\verb|{|\emph{цвет}\verb|}| +\end{lscommand} +Наконец, если вы хотите поместить на навигационную панель эмблему +вашей организации, пользуйтесь командой +\begin{lscommand} +\ci{emblema}\verb|{|\emph{файл-с-эмблемой}\verb|}| +\end{lscommand} + +Если вы верите в убедительность последовательной демонстрации пунктов +вашего рассказа, можете использовать пакет \pai{pause}. Он предлагает +команду \ci{pause}. Ее можно помещать в текст в те места, где вы +хотите задержать отображение вашего документа. Пакет \pai{pause} +является частью системы \texttt{PPower4} ($P^4$: \emph{PDF + Presentation Post-Processor}), которая берет документ, +сгенерированный pdf\TeX{}, и заставляет его петь, плясать и собирать +деньги. Командная строчка выглядит так: +\begin{lscommand} +\verb+ppower4 xy.pdf xyz.pdf+ +\end{lscommand} + +Для управления тем, что отражается на каждом слайде, пользуйтесь +окружением \verb+\begin{slide}+ \ldots \verb+\end{slide}+. Содержимое +каждого слайда отображается вертикально центрированным на своей +странице. + +Компилируя приведенный пример, мы получим ошибку: +\begin{verbatim} +! pdfTeX warning (dest): name{contents} has been + referenced but does not exist, replaced by a fixed one +\end{verbatim} +Причина тут в том, что на навигационной панели есть кнопка, ведущая к +оглавлению, а наш пример оглавления не имеет. + +Если вам захочется отображать оглавление прямо на навигационной +панели, используйте \pai{pdfscreen} с опцией +\texttt{paneltoc}. Понятно, это будет удовлетворительно выглядеть +только если ваше оглавление содержит немного коротких +заголовков. Можно задавать дополнительные короткие заголовки для ваших +разделов квадратными скобками в командах секционирования. + +Это короткое введение пробежало только по самым верхам возможностей +\pai{pdfscreen} и \texttt{PPower4}. Каждый из них включает собственное +подробное руководство. + + +%%% Local Variables: +%%% mode: latex +%%% TeX-master: "lshort2e" +%%% End: diff --git a/Master/texmf-dist/doc/latex/lshort-russian/src/t-fvrbex.tex b/Master/texmf-dist/doc/latex/lshort-russian/src/t-fvrbex.tex new file mode 100644 index 00000000000..c59e52b4b23 --- /dev/null +++ b/Master/texmf-dist/doc/latex/lshort-russian/src/t-fvrbex.tex @@ -0,0 +1,213 @@ +%% +%% This is file `t-fvrbex.tex', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% fvrb-ex.dtx (with options: `t-fvrbex') +%% +%% IMPORTANT NOTICE: +%% +%% For the copyright see the source file. +%% +%% Any modified versions of this file must be renamed +%% with new filenames distinct from t-fvrbex.tex. +%% +%% For distribution of the original source see the terms +%% for copying and modification in the file fvrb-ex.dtx. +%% +%% This generated file may be distributed as long as the +%% original source files, as listed above, are part of the +%% same distribution. (The sources need not necessarily be +%% in the same archive or directory.) +%% +%% Packages `fvrb-ex' (`fvrb-ex', `hbaw' and `hcolor') +%% +%% Denis Girou (CNRS/IDRIS - France) +%% March 27, 1998 +%% +%% File `t-fvrbex' +%% +\documentclass{article} + +\newif\ifpstricks +\IfFileExists{pstricks.sty} +{\usepackage[bawcolor,pstricks]{fvrb-ex}\pstrickstrue} +{\usepackage[bawcolor]{fvrb-ex}} + +\begin{document} + +\title{Test file for the `\textsf{fvrb-ex}' package} +\author{Denis Girou\\CNRS/IDRIS\\Orsay -- France\\ + {\footnotesize email: Denis.Girou@idris.fr}} +\date{Version 1.2\\March 27, 1998} + +\maketitle + +\RecustomVerbatimEnvironment{Verbatim}{Verbatim} + {gobble=2,commentchar=ё,numbers=left,numbersep=3pt,frame=single} + +\section{\texttt{Example} environment} + +\begin{Verbatim} + \begin{Example} + First verbatim line. + Second verbatim line. + Third verbatim line. + \end{Example} +\end{Verbatim} + +\begin{Example} + First verbatim line. + Second verbatim line. + Third verbatim line. +\end{Example} + +\begin{Verbatim} + \begin{Example}[frame=lines,framerule=1mm,numbers=left] + First verbatim line. + Second verbatim line. + Third verbatim line. + \end{Example} +\end{Verbatim} + +\begin{Example}[frame=lines,framerule=1mm,numbers=left] + First verbatim line. + Second verbatim line. + Third verbatim line. +\end{Example} + +\section{\texttt{CenterExample} environment} + +\begin{Verbatim} + \begin{CenterExample}[frame=single,numbers=right] + First verbatim line. + Second verbatim line. + Third verbatim line. + \end{CenterExample} +\end{Verbatim} + +\begin{CenterExample}[frame=single,numbers=right] + First verbatim line. + Second verbatim line. + Third verbatim line. +\end{CenterExample} + +\begin{Verbatim} + \begin{CenterExample}[frame=lines,numbers=left] + ^^a7HLa^^b5First^^b6 verbatim line. + ^^a7HLb^^b5Second^^b6 verbatim line. + ^^a7HLCBWz^^b5Third^^b6 verbatim line. + \end{CenterExample} +\end{Verbatim} + +\begin{CenterExample}[frame=lines,numbers=left] + ^^a7HLa^^b5First^^b6 verbatim line. + ^^a7HLb^^b5Second^^b6 verbatim line. + ^^a7HLCBWz^^b5Third^^b6 verbatim line. +\end{CenterExample} + +\section{\texttt{SideBySideExample} environment} + +\begin{Verbatim} + \begin{SideBySideExample}[xrightmargin=5cm,frame=lines, + numbers=left] + First verbatim line. + Second verbatim line. + Third verbatim line. + \end{SideBySideExample} +\end{Verbatim} + +\begin{SideBySideExample}[xrightmargin=5cm,frame=single,numbers=left] + First verbatim line. + Second verbatim line. + Third verbatim line. +\end{SideBySideExample} + +\ifpstricks % If PSTricks is available + +\section{\texttt{PCenterExample} environment} + +\begin{Verbatim} + \fvset{frame=lines,framerule=0.5mm,numbers=left} + + \begin{PCenterExample}(-0.5,-0.5)(0.5,0.5) + \setlength{\unitlength}{1cm} + \put(0,0){\circle{1}} + \end{PCenterExample} + + \showgrid + \begin{PCenterExample}(-1,-1)(1,1) + \setlength{\unitlength}{1cm} + \put(0,0){\circle{1}} + \end{PCenterExample} +\end{Verbatim} + +{\fvset{frame=lines,framerule=0.5mm,numbers=left} +\begin{PCenterExample}(-0.5,-0.5)(0.5,0.5) + \setlength{\unitlength}{1cm} + \put(0,0){\circle{1}} +\end{PCenterExample} +\showgrid +\begin{PCenterExample}(-1,-1)(1,1) + \setlength{\unitlength}{1cm} + \put(0,0){\circle{1}} +\end{PCenterExample} +} + +\section{\texttt{PSideBySideExample} environment} + +\begin{Verbatim} + \fvset{frame=single,xrightmargin=5cm} + \begin{PSideBySideExample}(-2,-1)(2,1) + \psellipse*[linecolor=yellow](2,1) + \end{PSideBySideExample} + \showgrid + \begin{PSideBySideExample}(-2,-1)(2,1) + \psellipse[linestyle=dashed](2,1) + \end{PSideBySideExample} +\end{Verbatim} + +{\fvset{frame=single,xrightmargin=5cm} +\begin{PSideBySideExample}(-2,-1)(2,1) + \psellipse*[linecolor=yellow](2,1) +\end{PSideBySideExample} + +\showgrid +\begin{PSideBySideExample}(-2,-1)(2,1) + \psellipse[linestyle=dashed](2,1) +\end{PSideBySideExample} +} + +\begin{Verbatim} + \fvset{frame=single,xrightmargin=5cm} + \begin{PSideBySideExample}(-2,-1)(2,1) + \psellipse[linestyle=^^a7HLCBWe^^b5dashed^^b6](2,1) + \end{PSideBySideExample} + \begin{PSideBySideExample}[numbers=right](-2,-1)(2,1) + \psellipse[linestyle=^^a7HLe^^b5dotted^^b6](2,1) + \end{PSideBySideExample} +\end{Verbatim} + +{\fvset{frame=single,xrightmargin=5cm} +\begin{PSideBySideExample}(-2,-1)(2,1) + \psellipse[linestyle=^^a7HLCBWe^^b5dashed^^b6](2,1) +\end{PSideBySideExample} +\begin{PSideBySideExample}[numbers=right](-2,-1)(2,1) + \psellipse[linestyle=^^a7HLe^^b5dotted^^b6](2,1) +\end{PSideBySideExample} + +\else % If PSTricks is not available +\begin{quote} + \section{\texttt{PCenterExample} and \texttt{PSideBySideExample} +environments} + + \textbf{\large Warning!} These two environments are not demonstrated here, +because PSTricks was not found on this platform. +\end{quote} +\fi + +\end{document} +\endinput +%% +%% End of file `t-fvrbex.tex'. diff --git a/Master/texmf-dist/doc/latex/lshort-russian/src/things.tex b/Master/texmf-dist/doc/latex/lshort-russian/src/things.tex new file mode 100644 index 00000000000..c4fb31d00c7 --- /dev/null +++ b/Master/texmf-dist/doc/latex/lshort-russian/src/things.tex @@ -0,0 +1,809 @@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Contents: Things you need to know +% $Id: things.tex,v 1.1.1.1 2002/02/26 10:04:20 oetiker Exp $ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\chapter{Это нужно знать} +\begin{intro} + Первая часть этой главы содержит краткий обзор философии и истории + \LaTeX{}. Вторая часть главы фокусируется на основных структурах + документов \LaTeX{}. После чтения этой главы вы должны иметь общее + представление о том, как работает \LaTeX{}. В дальнейшем это поможет + вам объединить всю новую информацию в единую картину. +\end{intro} + + +\section{Названия} +\subsection{\TeX} + +\sloppy{}\TeX{}~--- это компьютерная программа, созданная Дональдом Кнутом +(\index{Knuth, Donald E.}Donald E.~Knuth)~\cite{texbook}. Она +предназначена для верстки текста и математических формул. Кнут начал +писать \TeX{} в 1977 году для изучения потенциала цифрового +печатающего оборудования, которое начало появляться в это время, +надеясь, в особенности, обратить тенденцию ухудшения типографского +качества, которую он видел на примере его собственных книг и статей. +\TeX{}, в том виде, в каком мы его сегодня используем, был выпущен в +1982 году с некоторыми добавлениями в 1989 (лучшая поддержка 8-битных +символов и различных языков). \TeX{} знаменит своей чрезвычайной +стабильностью, работой на различных типах компьютеров и практически +полным отсутствием ошибок. Номер версии \TeX{} сходится к $\pi$ и +сейчас равен $3.14159$. + +\TeX{} произносится как <<тех>>. В среде \texttt{ASCII} \TeX{} +нужно писать как \texttt{TeX}. + +\subsection{\LaTeX} + +\LaTeX{}~--- макропакет, позволяющий авторам верстать и печатать их +работы с высоким типографским качеством, при помощи заранее +определенных, профессиональных макетов. \LaTeX{} был написан +\index{Lamport, Leslie}{\lat Leslie Lamport}~\cite{manual}. В качестве +механизма для верстки он использует \TeX{}. Сейчас \LaTeX{} +поддерживает \index{Mittelbach, Frank}Frank Mittelbach. + +%В 1994 году пакет \LaTeX{} был обновлен командой +%\index{LaTeX3@\LaTeX3}\LaTeX3 во главе с \index{Mittelbach, +% Frank}Frank Mittelbach. В нем были сделаны некоторые давно +%ожидавшиеся улучшения, и вновь объединены все варианты \LaTeX{}, +%разошедшиеся с выпуска много лет назад \index{LaTeX 2.09@\LaTeX{} +% 2.09}версии \LaTeX{}~2.09. Чтобы не путать эту новую версию со +%старой, она называется \index{LaTeX 2e@\LaTeXe}\LaTeXe. Эта +%документация описывает именно \LaTeXe{}. + +\LaTeX{} произносится как <<лэйтех>> или как <<латех>>. Если вы +ссылаетесь на \LaTeX{} в \texttt{ASCII} окружении, пишите +\texttt{LaTeX}. \LaTeXe{} пишется как \texttt{LaTeX2e}. + +%Рисунок \ref{components} на странице~\pageref{components} показывает, +%как работают вместе \TeX{} и \LaTeXe{}. Он взят из \texttt{wots.tex} +%(автор Kees van der Laan). + +%\begin{figure}[btp] +%\begin{lined}{0.8\textwidth} +%\begin{center} +%\input{kees.fig} +%\end{center} +%\end{lined} +%\caption{Составляющие \TeX{} системы}\label{components} +%\end{figure} + +\section{Основы} + +\subsection{Автор, дизайнер и верстальщик} + +Для того, чтобы опубликоваться, авторы отдают свои рукописи в +издательство. Затем один из дизайнеров издательства определяет макет +документа (ширину столбцов, шрифты, интервалы выше и ниже заголовков +и~т.п.). Дизайнер записывает свои инструкции в рукописи и отдает ее +верстальщику, который верстает книгу в соответствии с этими +инструкциями. + +Дизайнер--человек пытается понять, что автор имел в виду, когда писал +свою рукопись. Он определяет заголовки глав, цитаты, примеры, +формулы и прочее, исходя из своего профессионального опыта и из +содержания рукописи. + +В среде \LaTeX, \LaTeX{} берет на себя роль дизайнера книги, используя +\TeX{} в качестве верстальщика. Но \LaTeX~--- это всего лишь +программа, и, следовательно, нуждается в более четких инструкциях. +Автор должен предоставить дополнительную информацию, описывающую +логическую структуру своей работы. Эта информация записывается в текст +в виде <<команд \LaTeX{}>>. + +Это в корне отличается от \wi{WYSIWYG}\footnote{What you see is what + you get.} подхода, принятого в большинстве современных текстовых +процессоров, таких как \emph{MS Word} или \emph{Corel WordPerfect}. В +этих приложениях авторы форматируют документ интерактивно в процессе +набора текста на компьютере. В процессе работы они могут видеть на +экране как будет выглядеть их работа, когда, в конце концов, она будет +напечатана. + +При использовании \LaTeX{} обычно невозможно увидеть итоговую картину во +время печатания текста. Ее, однако, можно посмотреть на экране после +обработки файла \LaTeX. Затем можно внести исправления перед +собственно печатью. + +\subsection{Дизайн макета} + +Типографский дизайн~--- это профессия. Неопытные авторы часто +допускают серьезные ошибки форматирования, предполагая, что дизайн +книги~--- это большей частью вопрос эстетики: <<если документ выглядит +художественно, значит, он хорошо отдизайнен>>. Но, так как документ +предназначен для чтения, а не для вывешивания в картинной галерее, +удобство его чтения и понимания гораздо более важны, нежели красота. +Например: +\begin{itemize} +\item Размер шрифта и нумерация заголовков должны выбираться с тем, + чтобы сделать структуру глав и разделов ясной для читателя. +\item Строка должна быть достаточно короткой, чтобы не напрягать глаза + читателя, и достаточно длинной для красивого заполнения страницы. +\end{itemize} + +С \wi{WYSIWYG} системами авторы часто производят эстетически приятные +документы со слабо выраженной или невыдержанной структурой. \LaTeX{} +предотвращает такие ошибки форматирования, заставляя автора объявлять +\emph{логическую} структуру его документа. Затем уже \LaTeX{} выбирает +наиболее подходящий макет (раскладку) документа. + +\subsection{Преимущества и недостатки} + +Тема, часто обсуждаемая, когда люди из мира \wi{WYSIWYG} встречаются с +пользователями \LaTeX{},~--- <<\wi{преимущества \LaTeX} перед +нормальными текстовыми процессорами>>, или наоборот. Лучшее, что вы +можете сделать, когда начинается такая дискуссия,~--- это пригнуться, +так как она часто выходит из-под контроля. Однако, иногда вы не можете +уклониться~\ldots + + +\medskip\noindent Вот вам некоторое оружие. Основные преимущества +\LaTeX{} перед обычными текстовыми процессорами: +\begin{itemize} + +\item Готовые профессионально выполненные макеты, делающие документы + действительно выглядящими <<как изданные>>. +\item Удобно поддержана верстка математических формул. +\item Пользователю нужно выучить лишь несколько понятных команд, + задающих логическую структуру документа. Ему практически никогда не + нужно возиться собственно с макетом документа. +\item Легко изготавливаются даже сложные структуры, типа примечаний, + оглавлений, библиографий и прочее. +\item Для решения многих типографских задач, не поддерживаемых + напрямую базовым \LaTeX{}, есть свободно распространяемые + дополнительные пакеты. Например, существуют пакеты для включения + \PSi{}-графики или для верстки библиографий в точном + соответствии с конкретными стандартами. Многие из этих + дополнительных компонент описаны в \companion. +\item \LaTeX{} поощряет авторов писать хорошо структурированные + документы, так как именно так \LaTeX{} и работает~--- путем + спецификации структуры. +\item \TeX{}, форматирующее сердце \LaTeXe{}, чрезвычайно мобилен и + свободно доступен. Поэтому система работает практически на всех + существующих платформах. + +% +% Add examples ... +% +\end{itemize} + +\medskip + +\noindent\LaTeX{} имеет также и некоторые недостатки, но, кажется, мне +трудно найти среди них заметные, хотя, я уверен, другие вам найдут их +сотни \texttt{;-)} + +\begin{itemize} +% что за фигня? +% \item \LaTeX{} плохо работает у продавших свою душу~\ldots +\item Хотя предопределенные макеты имеют множество настраиваемых + параметров, создание полностью нового макета документа не очень + просто и занимает много времени.\footnote{Говорят, что это~--- одна + из основных целей будущей системы \LaTeX3.}\index{LaTeX3@\LaTeX3} +\item Очень сложно писать неструктурированные и неорганизованные + документы. +\item Ваша морская свинка может так до конца и не понять концепцию + логической разметки, несмотря на видимые первые успехи. +\end{itemize} + +\section{Исходные файлы \LaTeX{}} + +Исходными данными для \LaTeX{} являются обычный текстовый файл в +\texttt{ASCII}. Его можно создать в любом текстовом редакторе. Он +содержит текст документа вместе с командами, указывающими \LaTeX{}, +как верстать текст. + +\subsection{Пробелы} + +<<Пустые>> символы, такие, как пробел или табуляция, трактуются +\LaTeX{} одинаково, как <<\wi{пробел}>>. \emph{Несколько + последовательных} пустых символов\index{пустые символы} трактуются +как \emph{один} <<пробел>>. Пустые символы в начале строки обычно +игнорируются, а единичный перевод строки воспринимается как +<<пробел>>. \index{пробел!в начале строки} + +Пустая строка между двух строк текста определяет конец +абзаца. \emph{Несколько} пустых строк трактуются так же, как +\emph{одна} пустая строка. Ниже приведен пример. Справа~--- текст из +входного файла, слева~--- форматированный вывод. + +\begin{example} +Неважно, вставляете ли вы +один или несколько +пробелов между словами. + +Пустая строчка начинает +новый абзац. +\end{example} + +\subsection{Спецсимволы} + +Следующие символы являются \index{символы!зарезервированные} +зарезервированными символами, которые либо имеют в \LaTeX{} +специальное значение, либо имеются не во всех шрифтах. Если вы введете +их в текст напрямую, то они обычно не напечатаются, а заставят +\LaTeX{} сделать что--нибудь, вами вовсе не предусмотренное. + +\begin{code} +%\verb.$ & % # _ { } ~ ^ \ . %$ +\verb.# $ % ^ & _ { } ~ \ . %$ +\end{code} + +Как вы позже увидите, эти символы можно использовать в ваших +документах, добавляя к ним префикс <<\verb|\|>>: + +\begin{example} +\# \$ \% \^{} \& \_ \{ \} \~{} +\end{example} + +Прочие символы, как и многие, многие другие, можно набрать +специальными командами в математических формулах или как акценты. Знак~<<\verb|\|>> \emph{нельзя} вводить, добавляя перед ним еще один, так +как эта команда (\verb|\\|) используется для разрыва +строки.\footnote{Вместо этого пользуйтесь командой + \texttt{\$}\ci{backslash}\texttt{\$}. Она дает `$\backslash$'.} + +\subsection{Команды \LaTeX{}} + +Команды\index{команды} \LaTeX{} чувствительны к регистру и принимают +одну из следующих двух форм: + +\begin{itemize} +\item Они начинаются с символа \wi{backslash} <<\verb|\|>> и + продолжаются именем, состоящим только из букв. Имена команд + завершаются пробелом, цифрой или любой другой <<не-буквой>>. +\item Они состоят из <<\verb|\|>> и ровно одного небуквенного символа. +\end{itemize} + +% +% \\* doesn't comply ! +% + +% +% Can \3 be a valid command ? (jacoboni) +% +\label{whitespace} + + +\LaTeX{} игнорирует пробелы после команд. Если вы хотите получить +\index{пробел!после команды}пробел после команды, вы должны поместить +или <<\verb|{}|>> и пробел, или специальную команду пробела после +имени команды. <<\verb|{}|>> не дает \LaTeX{} игнорировать все пробелы +после имени команды. + +\begin{example} +Я слышал, что Кнут разделяет +людей, работающих с \TeX{} +на \TeX{}ников и \TeX пертов.\\ +Сегодня~--- \today +\end{example} + +Некоторые команды нуждаются в \index{параметр}параметре, который +должен быть задан между \index{фигурные скобки}фигурными +скобками~<<\verb|{ }|>> после имени команды. Некоторые команды +поддерживают \wi{необязательные параметры}, которые добавляются после +имени команды в \index{квадратные скобки}квадратных +скобках~<<\verb|[ ]|>>. Следующий пример использует некоторые +команды \LaTeX. Не задумывайтесь над ними, они будут разъяснены позже. + +\begin{example} +Вы можете \textsl{положиться} +на меня! +\end{example} + +\begin{example} +Пожалуйста, начните новую +строчку прямо тут!\newline +Спасибо! +\end{example} + +\subsection{Комментарии} +\index{комментарии} + +Когда в процессе обработки входного файла \LaTeX{} встречает символ +\verb|%|, он игнорирует остаток текущей строки, возврат каретки и все +пробелы в начале следующей строки. + +Этим можно пользоваться для добавления в исходный файл замечаний, +которые не будут выводиться на печать. + +\begin{example} +Это Spercal% + ifragilist% + icexpialidocious +\end{example} + +Знаком \texttt{\%} можно также пользоваться, чтобы разбить длинные строчки в +тех местах, где не разрешаются пробелы или переводы строк. + +\sloppy{}Для более длинных комментариев можно также пользоваться окружением +\ei{comment}, предоставляемым пакетом \pai{verbatim}. Это означает, +что, для использования окружения \ei{comment}, вы должны к преамбуле +вашего документа добавить команду \verb|\usepackage{verbatim}|: + +\begin{example} +Это~--- еще один +\begin{comment} +довольно глупый, +но полезный +\end{comment} +пример вставки комментариев +в ваш документ. +\end{example} + +Заметьте, что это не будет работать внутри сложных окружений, +например, математики. + + +\section{Структура входного файла} + +Когда \LaTeXe{} обрабатывает входной файл, он ожидает от него +следования определенной \index{структура файла}структуре. Так, каждый +входной файл должен начитаться с команды +\begin{code} +\verb|\documentclass{...}| +\end{code} +Она указывает, документ какого типа вы собираетесь писать. После +этого, вы можете включать команды, влияющие на стиль документа в +целом, или загружать \index{пакет}пакеты, добавляющие новые +возможности в систему \LaTeX. Для загрузки такого пакета используется +команда +\begin{code} +\verb|\usepackage{...}| +\end{code} + +Когда вся настройка закончена,\index{преамбула}\footnote{Область между + \texttt{\bs documentclass} и \texttt{\bs + begin$\mathtt{\{}$document$\mathtt{\}}$} называется + \emph{преамбулой}.} вы начинаете тело текста командой + +\begin{code} +\verb|\begin{document}| +\end{code} + +Теперь вы вводите текст с командами \LaTeX. В конце документа вы +добавляете команду +\begin{code} +\verb|\end{document}| +\end{code} +Все, что следует после нее, \LaTeX{} игнорирует. + +Рис.~\ref{mini} показывает содержимое минимального файла для \LaTeXe. +Несколько более сложный \wi{входной файл} дан на +рис.~\ref{document}.\trfootnote{В данный пример вставлен также +минимальный набор конмад, необходимый для поддержки русского +языка. Исторически сложились несколько пакетов русификации \LaTeX, +здесь используется пакет \pai{babel}, являющийся стандартным средством +локализации \TeX{}. Если вы работаете на очень старой системе, +возможно, вам нужно будет пользоваться другими установленными +средствами. Проконсультируйтесь с вашим \guide{} или с +администратором.} + +\begin{figure}[!bp] +\begin{lined}{6cm} +\begin{Verbatim} +\documentclass{article} +\usepackage[koi8-r]{inputenc} +\usepackage[russian]{babel} +\begin{document} +Краткость~--- сестра таланта. +\end{document} +\end{Verbatim} +\end{lined} +\caption{Минимальный файл \LaTeX{}} \label{mini} +\end{figure} + +\begin{figure}[!bp] +\begin{lined}{10cm} +\begin{Verbatim} +\documentclass[a4paper,11pt]{article} +\usepackage[russian]{babel} +\begin{document} +% определяем титул +\author{Б.~Тоботрас} +\title{Минимализм} +\frenchspacing +\begin{document} +% генерируем титул +\maketitle +% вставляем оглавление +\tableofcontents +\section{Начало} +Вот тут и начинается моя замечательная статья. +\section{Конец} +\ldots{} а тут она кончается. +\end{document} +\end{Verbatim} +\end{lined} +\caption{Пример реалистичной журнальной статьи} \label{document} +\end{figure} + +\section{Типичная сессия работы с \LaTeX{}} + +Можно ручаться, что вам уже не терпится попробовать маленький пример +\LaTeX{}-файла, приведенный на странице~\pageref{mini}. Давайте +попробуем. Сам по себе, \LaTeX{} не включает графического +интерфейса. Он~--- просто программа, обрабатывающая указанный входной +файл. Некоторые дистрибутивы \LaTeX{} включают графическую оболочку, +где вы можете выбрать мышкой компиляцию указанного файла. В других системах +вам нужно набирать команды в тексторовм режиме.Предполагается, что на +вашей машине \LaTeX{} установлен и работает\footnote{Это обычно так в + любой современной Unix-системе.}. + +\begin{enumerate} +\item + + Отредактируйте или создайте входной файл \LaTeX{}. Этот файл должен + быть плоским ASCII текстом. В Unix любой редактор создаст вам именно + это. В Windows вы должны убедиться, что вы сохраняете файл в формате + ASCII, или \emph{Plain text}. Выбирая имя для файла, добавьте + расширение \eei{.tex}. + +\item + + Обработайте ваш входной файл \LaTeX{}. Если все пройдет без ошибок, + вы получите файл \texttt{.dvi}. Чтобы получить правильное оглавление + и перекрестные ссылки, вам может понадобиться запустить \LaTeX{} + несколько раз. Если во входном файле есть ошибка, \LaTeX{} укажет + вам на нее и остановит обработку входного файла. Чтобы вернуться в + командную строку, нажмите \texttt{ctrl-D}. + +\begin{lscommand} +\verb+latex foo.tex+ +\end{lscommand} + +\item + Теперь вы можете просмотреть файл \texttt{.dvi}. Это можно сделать + по-разному. Можно посмотреть его на экране командой +\begin{lscommand} +\verb+xdvi foo.dvi &+ +\end{lscommand} +Она работает только в среде Unix с X11. Если вы работаете под + Windows, попробуйте \texttt{yap} (``yet another previewer''). + + Вы таже можете преобразовать файл DVI в \PSi{} для печати или + просмотра при помощи Ghostscript: + +\begin{lscommand} +\verb+dvips -Pcmz foo.dvi -o foo.ps+ +\end{lscommand} + +Если вам повезет, то в составе вашей системы будет программа +\texttt{dvipdf}, которая может преобразовать ваши \texttt{.dvi}-файлы +прямо в PDF. +\begin{lscommand} +\verb+dvipdf foo.dvi+ +\end{lscommand} + + +\end{enumerate} + + +\section{Макеты документов} + +\subsection{Классы документов}\label{sec:documentclass} + +Первое, что \LaTeX{} должен знать при обработке входного файла, это +тип создаваемого автором документа. Он задается командой +\ci{documentclass}. +\begin{lscommand} +\ci{documentclass}\verb|[|\emph{опции}\verb|]{|\emph{класс}\verb|}| +\end{lscommand} +\noindent Здесь \emph{класс} определяет тип создаваемого документа. +Таблица~\ref{documentclasses} перечисляет классы документов, +рассматриваемые в этом введении. В состав \LaTeXe{} входят +дополнительные классы для других документов, включая письма и слайды. +Параметр \emph{\wi{опции}} изменяет поведение класса документа. Опции +должны разделяться запятыми. В таблице~\ref{options} перечислены самые +употребительные опции стандартных классов документов. + +\begin{table}[!bp] +\caption{Классы документов} \label{documentclasses} +\begin{lined}{12cm} +\begin{description} + +\item [\normalfont\texttt{article}] для статей в научных журналах, + презентаций, коротких отчетов, программной документации, приглашений\ldots + \index{класс!article} +\item [\normalfont\texttt{report}] для более длинных отчетов, + содержащих несколько глав, небольших книжек, диссертаций\ldots + \index{класс!report} +\item [\normalfont\texttt{book}] для настоящих книг \index{класс!book} +\item [\normalfont\texttt{slides}] для слайдов. Использует большие + буквы без засечек. Вместо этого можно использовать + Foil\TeX.\footnote{\CTANref|macros/latex/contrib/supported/foiltex|} + \index{класс!slides}\index{foiltex} +\end{description} +\end{lined} +\end{table} + +\begin{table}[!bp] +\caption{Опции классов документов} \label{options} +\begin{lined}{12cm} +\begin{flushleft} +\begin{description} +\item[\normalfont\texttt{10pt}, \texttt{11pt}, \texttt{12pt}] \quad + Устанавливает размер основного шрифта документа. Если ни одна из + этих опций не указана, подразумевается \texttt{10pt}. + \index{шрифт!документа, размер}\index{размер основного шрифта} +\item[\normalfont\texttt{a4paper}, \texttt{letterpaper}\ldots] \quad + Определяет размер листа. По умолчанию подразумевается + \texttt{letterpaper}. Так же могут быть указаны \texttt{a5paper}, + \texttt{b5paper}, \texttt{executivepaper} и \texttt{legalpaper}. + \index{лист!legal}\index{размер листа}\index{лист!A4}\index{лист!letter} + \index{лист!A5}\index{лист!B5}\index{лист!executive} + +\item[\normalfont\texttt{fleqn}] \quad Выключные формулы будут + выровнены влево, а не отцентрированы. + +\item[\normalfont\texttt{leqno}] \quad Формулы нумеруются слева, а не + справа. + +\item[\normalfont\texttt{titlepage}, \texttt{notitlepage}] \quad + Указывает, должна начинаться новая страница после заголовка + документа\index{заголовок документа} или нет. По умолчанию класс + \texttt{article} не начинает новую страницу, а \texttt{report} и + \texttt{book}~--- начинают. \index{лист!титульный} + +\item[\normalfont\texttt{onecolumn}, \texttt{twocolumn}] \quad Заставляет \LaTeX{} + набирать документ в \wi{один столбец} или в \wi{два столбца}. + +\item[\normalfont\texttt{twoside, oneside}] \quad Выбирает одно- или + двусторонний вывод. По умолчанию классы \texttt{article} и + \texttt{report} используют \wi{односторонний вывод}, класс + \texttt{book}~--- \wi{двусторонний вывод}. Заметьте, что опция + \texttt{twoside} \emph{не} заставляет ваш принтер на самом деле + печатать с двух сторон. + +\item[\normalfont\texttt{landscape}] \quad Меняет положение страницы на + ландшафтное. + +\item[\normalfont\texttt{openright, openany}] \quad Делает главы + начинающимися или только на правой странице, или на первой + доступной. Это не работает с классом \texttt{article}, так как он + ничего не знает о главах. Класс \texttt{report} по умолчанию + начинает главы на следующей странице, а класс \texttt{book}~--- на + правой. +\end{description} +\end{flushleft} +\end{lined} +\end{table} + +Пример: Входной файл для документа \LaTeX{} может начинаться строкой +\begin{code} +\ci{documentclass}\verb|[11pt,twoside,a4paper]{article}| +\end{code} +она заставляет \LaTeX{} набирать документ как \emph{статью}, с базовым +размером шрифта \emph{одиннадцать пунктов} и форматировать документ +для \emph{двусторонней} печати на бумаге \emph{формата A4}. + +\subsection{Пакеты} +\index{пакет} В процессе написания вашего документа, вы, вероятно, +обнаружите, что в некоторых областях базовый \LaTeX{} не сможет решить +ваши проблемы. Если вы захотите включить в документ +графику\index{графика}, \wi{цветной текст} или исходный код программы +из внешнего файла, вам нужно будет расширить возможности \LaTeX{}. +Такие расширения называются пакетами. Пакеты активизируются командой +\begin{lscommand} +\ci{usepackage}\verb|[|\emph{опции}\verb|]{|\emph{пакет}\verb|}| +\end{lscommand} +\noindent Где \emph{пакет}~--- это имя пакета, а \emph{опции}~--- +список ключевых слов, включающих специальные свойства пакета. +Некоторые пакеты включены в основную поставку \LaTeXe{} (см. +таблицу~\ref{packages}). Другие предоставляются отдельно. +Дополнительная информация об установленных у вас пакетах может +содержаться в \guide{}. Основной источник информации о пакетах +\LaTeX{}~--- это \companion{}. Она содержит описания сотен пакетов +вместе с информацией о том, как писать ваши собственные расширения для +\LaTeXe{}. + + +\begin{table}[btp] +\caption{Некоторые из распространяемых с \LaTeX{} пакетов} \label{packages} +\begin{lined}{11cm} +\begin{description} +\item[\normalfont\pai{doc}] Позволяет документировать программы на \LaTeX{}.\\ + Описан в \texttt{doc.dtx}\footnote{Этот файл должен быть установлен + на вашей системе, и вы можете получить \texttt{dvi} файл, + напечатав \texttt{latex doc.dtx} в любом каталоге, где вы имеете + права на запись. То же самое относится ко всем прочим файлам, + упомянутым в этой таблице.} и в \companion. + +\item[\normalfont\pai{exscale}] Предоставляет масштабированные версии + расширенных математических шрифтов.\\ + Описан в \texttt{ltexscale.dtx}. + +\item[\normalfont\pai{fontenc}] Указывает, какую кодировку + шрифта\index{кодировка шрифта} + должен использовать \LaTeX{}.\\ + Описан в \texttt{ltoutenc.dtx}. + +\item[\normalfont\pai{ifthen}] Предоставляет команды вида `если + \ldots, то выполнять \ldots, иначе выполнять \ldots'.\\ Описан в + \texttt{ifthen.dtx} и в \companion. + +\item[\normalfont\pai{latexsym}] Чтобы подключить шрифт специальных + символов \LaTeX{}, нужно использовать пакет \texttt{latexsym}. + Описан в \texttt{latexsym.dtx} и в \companion. + +\item[\normalfont\pai{makeidx}] Предоставляет команды для генерации + указателей. Описан в разделе~\ref{sec:indexing} и в \companion. + +\item[\normalfont\pai{syntonly}] Обрабатывает документ, не печатая + его. + +\item[\normalfont\pai{inputenc}] Позволяет указать входную кодировку, + такую как ASCII, ISO Latin-1, ISO Latin-2, 437/850 IBM + code pages, Apple Macintosh, Next, ANSI-Windows или определяемую + пользователем. Описан в \texttt{inputenc.dtx}. +\end{description} +\end{lined} +\end{table} + +\clearpage + +\subsection{Стили страницы} + +\LaTeX{} поддерживает три предопределенных комбинации верхнего +колонтитула и нижнего +колонтитула\index{колонтитул!верхний}\index{колонтитул!нижний}~--- так +называемые \wi{стили страницы}. Параметр \emph{стиль} команды +\index{стиль страницы!plain@\texttt{plain}}\index{plain@\texttt{plain}}% +\index{стиль страницы!headings@\texttt{headings}}\index{headings@\texttt{headings}}% +\index{стиль страницы!empty@\texttt{empty}}\index{empty@\texttt{empty}}% +\begin{lscommand} +\ci{pagestyle}\verb|{|\emph{стиль}\verb|}| +\end{lscommand} +\noindent определяет, какой из них использовать. +Предопределенные стили страницы перечислены в таблице~\ref{pagestyle}. + +\begin{table}[!hbp] +\caption{Предопределенные стили страницы \LaTeX} \label{pagestyle} +\begin{lined}{12cm} +\begin{description} + +\item[\normalfont\texttt{plain}] печатает номера страниц внизу + страницы в середине нижнего колонтитула. Этот стиль установлен по + умолчанию. + +\item[\normalfont\texttt{headings}] печатает название текущей главы и + номер страницы в верхнем колонтитуле каждой страницы, а нижний + колонтитул остается пустым. (Этот стиль использован в данном + документе.) + +\item[\normalfont\texttt{empty}] делает и верхние, и нижние колонтитулы + пустыми. + +\end{description} +\end{lined} +\end{table} + +Возможно сменить стиль текущей страницы командой +\begin{lscommand} +\ci{thispagestyle}\verb|{|\emph{стиль}\verb|}| +\end{lscommand} +Описание того, как создавать ваши собственные стили колонтитулов, +смотрите в \companion{}, а также в разделе~\ref{sec:fancy} на +странице~\pageref{sec:fancy}. +% +% Pointer to the Fancy headings Package description ! +% + +\section{Встречающиеся типы файлов} + +Работая с \LaTeX{}, вы вскоре начнете путаться в куче файлов с +различными расширениями\index{расширение}. Ниже перечислены различные +\wi{типы файлов}, используемые при работает с \TeX{}. Заметьте, что +это не полный список расширений, но, если вы найдете не упомянутое +расширение, которое считаете важным,~--- уведомите, пожалуйста, +автора. + +%% \begin{description} +%% \item[\eei{.tex}] Входной файл \LaTeX{} или \TeX{}. Компилируется +%% командой \texttt{latex}. +%% \item[\eei{.sty}] Макропакет \LaTeX{}. Этот файл загружается в +%% документ командой \ci{usepackage}. +%% \item[\eei{.dtx}] Документированный \TeX{}. Это~--- основной формат +%% распространения стилевый файлов \LaTeX{}. Если вы обработаете файл +%% \texttt{.dtx}, вы получите документированный макрокод пакета, +%% содержащегося в этом файле. +%% \item[\eei{.ins}] Инсталлятор для файлов, содержащихся в +%% соответствующем файле \texttt{.dtx}. После получения пакета из +%% Интернета, вы обычно получаете файлы \texttt{.dtx} и +%% \texttt{.ins}. Запустите \LaTeX{} с файлом \texttt{.ins}, чтобы +%% распаковать файл \texttt{.dtx}. +%% \item{\eei{.fd}] Файл описания шрифта, описывающий шрифт для \LaTeX{}. +%% \item[\eei{.cls}] Файл класса, определяющий вид вашего +%% документа. Выбирается командой \ci{documentclass}. +%% \end{description} + +Следующие файлы генерируются, когда \LaTeX{} обрабатывает входной +файл: + +\begin{description} +\item[\eei{.dvi}] Device Independent file (файл, не зависящий от + устройства). Это~--- основной результат запуска \LaTeX{}. Содержимое + его можно увидеть при помощи программы отображения DVI, или + распечатать программой \texttt{dvips} или аналогичной. +\item[\eei{.log}] Содержит детальный отчет о том, что происходило в + последний прогон компиляции. +\item[\eei{.toc}] Хранит заголовки всех разделов. Читается в следующий + проход компиляции и используется при генерации оглавления. +\item[\eei{.lof}] Аналог \texttt{.toc} для списка иллюстраций. +\item[\eei{.lot}] То же, для списка таблиц. +\item[\eei{.aux}] Еще один файл, передающий информацию между проходами + компиляции. Кроме все прочего, используется для генерации + перекрестных ссылок. +\item[\eei{.idx}] Если ваш документ содержит предметный указатель, + \LaTeX{} помещает все слова для указателя в этот файл. Обработайте + его программой \texttt{makeindex}. Подробнее смотрите в + разделе~\ref{sec:indexing} на странице~\pageref{sec:indexing}. +\item[\eei{.ind}] Обработанный файл \texttt{.idx}, готовый ко + включению в ваш документ при следующем проходе компиляции. +\item[\eei{.ilg}] Журнал работы \texttt{makeindex}. +\end{description} + + +% Package Info pointer +% +% + + + + +% +% Add Info on page-numbering, ... +% \pagenumbering + +\section{Большие проекты} +При работе с большими документами вам может быть удобно разделить +входной файл на несколько частей. \LaTeX{} содержит две команды, +которые помогают это делать. + +\begin{lscommand} +\ci{include}\verb|{|\emph{файл}\verb|}| +\end{lscommand} +\noindent Эту команду можно использовать в теле документа, чтобы +включить в него содержимое другого файла. Заметьте, что \LaTeX{} +начнет новую страницу, прежде, чем обрабатывать материал, содержащийся +в \emph{файле}. + +Вторая команда может использоваться только в преамбуле. Она указывает + \LaTeX{} читать только некоторые из включенных (\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}. Он +заставляет \LaTeX{} пробежать по документу, проверяя синтаксис и +использование команд, но не генерируя выходного файла DVI. \LaTeX{} в +этом режиме работает быстрее, экономя ваше время. Синтаксис очень +прост: + +\begin{verbatim} +\usepackage{syntonly} +\syntaxonly +\end{verbatim} + +Когда вы захотите получить выходной файл, просто закомментируйте +вторую строчку, добавив знак процента. + +%%% Local Variables: +%%% mode: latex +%%% TeX-master: "lshort" +%%% End: diff --git a/Master/texmf-dist/doc/latex/lshort-russian/src/title.tex b/Master/texmf-dist/doc/latex/lshort-russian/src/title.tex new file mode 100644 index 00000000000..1c0cdfa8981 --- /dev/null +++ b/Master/texmf-dist/doc/latex/lshort-russian/src/title.tex @@ -0,0 +1,75 @@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Contents: The title page +% $Id: title.tex,v 1.2 2003/03/19 20:57:47 oetiker Exp $ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\ifx\pdfoutput\undefined % We're not running pdftex +\else +\pdfbookmark{Title Page}{title} +\fi +\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][l]{\begin{minipage}{\textwidth} +\flushright +{\Huge\bfseries Не очень краткое\\ +введение в \LaTeXe + +} +\noindent\rule[-1ex]{\textwidth}{5pt}\\[2.5ex] +\hfill\emph{\Large или \LaTeXe{} за \pageref{verylast} минут} +\end{minipage}} + +\vspace{\stretch{1}} +\noindent\hspace*{\centeroffset}\makebox[0pt][l]{\begin{minipage}{\textwidth} +\flushright +{\bfseries +Tobias Oetiker\\[1.5ex] +Hubert Partl, Irene Hyna и Elisabeth Schlegl\\[3ex]} +Версия~4.12, 13 April, 2003\\[3cm] +Перевод: Б.~Тоботрас, 22 мая 2003~г. +\end{minipage}} + +%\addtolength{\textwidth}{\centeroffset} +\vspace{\stretch{2}} + + +\pagebreak +\begin{small} + +% \selectlanguage{english} + + Copyright \copyright 1995-2002 Tobias Oetiker and all the Contributers to + LShort. 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. + +% \selectlanguage{russian} + +\end{small} + + +\endinput + +% + +% Local Variables: +% TeX-master: "lshort2e" +% mode: latex +% mode: flyspell +% End: diff --git a/Master/texmf-dist/doc/latex/lshort-russian/src/typeset.tex b/Master/texmf-dist/doc/latex/lshort-russian/src/typeset.tex new file mode 100644 index 00000000000..635c516c728 --- /dev/null +++ b/Master/texmf-dist/doc/latex/lshort-russian/src/typeset.tex @@ -0,0 +1,1635 @@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Contents: Typesetting Part of LaTeX2e Introduction +% $Id: typeset.tex,v 1.3 1998/03/26 15:36:54 oetiker Exp oetiker $ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\chapter{Верстка текста} + +\begin{intro} +После прочтения предыдущей главы вы должны представлять, из чего +состоит документ \LaTeX{}. Вторая глава заполняет эту структуру всем +необходимым для производства реальных материалов. +\end{intro} + +\section{Структура текста и языка} +\secby{Hanspeter Schmid}{hanspi@schmid-werren.ch} + +Основная цель написания текста~--- передать читателю идеи, информацию +или знания. Читатель лучше поймет текст, если эти идеи +структурированы, и намного лучше увидит и почувствует эту структуру, +если типографская форма отражает логическую и смысловую структуру +содержания. + +\LaTeX{} отличается от других систем верстки в том, что вам нужно лишь +задавать ему логическую и смысловую структуру текста. Он затем +выбирает типографскую форму текста в соответствии с <<правилами>>, +заданными в файле класса документа и в различных стилевых файлах. + +Самый важный элемент текста в \LaTeX{} (и в наборе вообще)~--- +абзац. Он называется <<элементом текста>>, потому что абзац является +той типографской формой, в которую облекается одна связная мысль или +идея. В следующих разделах вы узнаете, как вы можете вызвать перевод +строки, например, при помощи \texttt{\bs\bs} и начало абзаца, +например, оставив пустую строку. Поэтому, если начинается новая мысль, +должен начинаться новый абзац, а, если нет,~--- используйте переводы +строки. Если вы сомневаетесь в вашем разбиении на абзацы, подумайте о +вашем тексте как о носителе идей и мыслей. Если вы начали новый абзац, +продолжая изложение той же мысли,~--- убирайте начало нового +абзаца. Если на протяжении абзаца начинается совершенно новая +мысль~--- разбивайте его на два. + +Большинство людей совершенно не понимает важности разумного разбиения +текста на абзацы. Многие не задумываются о значении разрыва абзацев +или, особенно в \LaTeX{}, начинают абзацы, не зная этого. Последнюю +ошибку особенно легко сделать, когда в текст включаются +уравнения. Посмотрите на следующие примеры и разберитесь, почему +иногда в них используются пустые строчки (разрывы параграфов), а +иногда~--- нет. (Если вы еще не понимаете всех команд достаточно, +чтобы понять примеры, прочтите, пожалуйста, эту и следующую главы и +затем вернитесь к примерам снова.) + +% Example 1 +\begin{example} +\ldots когда Эйнштейн +ввел свою формулу +\begin{equation} + e = m \cdot c^2 \; , +\end{equation} +которая является самой +широко известной и самой +мало понятной физической +формулой. +\end{example} + +% Example 2 +\begin{example} +\ldots откуда следует +закон тока Кирхгофа: +\begin{equation} + \sum_{k=1}^{n} I_k = 0 \; . +\end{equation} + +Закон напряжения Кирхгофа +может быть выведен \ldots +\end{example} + +% Example 3 +\begin{example} +\ldots который имеет +несколько преимуществ. + +\begin{equation} + I_D = I_F - I_R +\end{equation} +является ядром совершенно +другой модели транзистора. +\ldots +\end{example} + +Следующая, более маленькая, единица текста~--- предложение. В +английском тексте после точки, завершающей предложение, ставится +б\'ольший пробел, чем после точки, стоящей после сокращения. \LaTeX{} +старается определить, какую из них вы имели в виду. Если он ошибается, +вы должны ему подсказать. Это объяснено далее в этой главе. + +Структура текста охватывает даже отдельные части +предложений. Большинство языков использует очень сложные правила +пунктуации, но во многих языках (включая немецкий и английский) вы +расставите почти все запятые на места, просто помня, что они означают: +короткую остановку в потоке изложения. Если вы не уверены в своих +запятых, прочтите предложение вслух, останавливаясь на каждой +запятой. Если где-то это прозвучит странно, уберите эту запятую, если +вы почувствуете необходимость остановки в другом месте, вставьте +запятую.\trfootnote{Все это мало применимо для русского, но я решил не + выбрасывать этих абзацев из перевода, вдруг они кому-нибудь помогут писать + по-английски.} + +Наконец, абзацы текста должны быть также логично структурированы на +более высоком уровне, объединяясь в главы, разделы, и так +далее. Однако, типографский эффект записи, например, +\verb|\section{|\texttt{Структура текста и языка}\verb|}| +обычно достаточно очевиден, чтобы было сразу ясно, как использовать +эти высокоуровневые структуры. + +\section{Разбиение на строки и страницы} + +\subsection{Выровненные абзацы} + +Книги часто верстаются так, чтобы все строчки имели одинаковую длину. +\LaTeX{} вставляет необходимые разрывы строк\index{разрывы строк} и +пробелы между словами, оптимизируя форматирование абзаца как целого. +При необходимости он также переносит слова, которые не помещаются на +строке. От класса документа зависит то, как верстаются абзацы. Обычно +каждый абзац начинается с красной строки, а дополнительного интервала +между ними нет. Подробности смотрите в разделе~\ref{parsp}. + +В некоторых случаях может быть необходимо указать \LaTeX{} разорвать +строку: +\begin{lscommand} +\ci{\bs} или \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} в значение, +меньшее~4, вы оставляете \LaTeX{} возможность игнорировать вашу +команду, если результат будет очень плох. Не путайте эти команды +<<разрыва (break)>> с командами <<начала (new)>>. Даже если вы +зададите команду <<разрыва>>, \LaTeX{} попытается выровнять правую +границу страницы и общую высоту страницы, как описано в следующей +секции. Если вы действительно хотите начать <<новую строчку>>, +используйте соответствующую команду. + +\LaTeX{} всегда пытается производить наилучшее из возможных разбиений +строк. Если он не может найти способ разбить строки в соответствии со +своими стандартами, он позволяет одной строке выступать из абзаца +вправо. \LaTeX{} затем выводит диагностику (<<\wi{overfull hbox}>>) во +время обработки входного файла. Чаще всего это случается, когда +\LaTeX{} не может найти место для переноса слова.\footnote{Хотя + \LaTeX{} и дает вам предупреждение, такие строки не всегда легко + найти. Если вы в команде \ci{documentclass} используете опцию + \texttt{draft}, такие строки будут отмечены толстой черной линией на + правых полях.} Давая команду \ci{sloppy}, вы можете сказать, чтобы +\LaTeX{} несколько ослабил свои стандарты. Тогда он сможет +предотвратить такие слишком длинные строки, увеличивая интервалы между +словами~--- даже если конечный вывод будет не оптимален. В этом случае +пользователь получит предупреждение (<<\wi{underfull hbox}>>). В +большинстве случаев результат выглядит не очень хорошо. Команда +\ci{fussy} действует в обратную сторону. + + +\subsection{Переносы} \label{hyph} + +\LaTeX{} переносит слова, когда это необходимо. Если алгоритм +переносов не находит правильных точек переноса, вы можете исправить +положение, сказав \TeX{} об исключении при помощи следующих команд. + +Команда +\begin{lscommand} +\ci{hyphenation}\verb|{|\emph{список слов}\verb|}| +\end{lscommand} +\noindent вызывает перенос слов, перечисленных в ее аргументе, только +в местах, отмеченных <<\verb|-|>>. Эта команда должна даваться в +преамбуле входного файла, и должна содержать только слова, состоящие +из обычных букв. Правила переноса запоминаются для языка, активного в +момент обратки команды \ci{hyphenation}. Это значит, что, если вы +поместите ее в преамбулу документа, она будет влиять на английские +переносы. Если вы поместите ее после команды \verb|\begin{document}|, + используя при этом поддержку национальных языков, например, + \pai{babel}, то переносы будут запомнены для языка, + активизированного при помощи \pai{babel}. + + Следующий пример разрешает переносы в слове <>, так же, + как и в слове <>, и запрещает переносы в словах + <>, <> и <>. В аргументе не допускаются + специальные символы. + +Пример: +\begin{code} +\verb|\hyphenation{FORTRAN Hy-phen-a-tion}| +\end{code} + +Команда \ci{-} вставляет в слово выборочный перенос. Он также +становится единственной разрешенной точкой переноса в этом слове. Эта +команда в особенности полезна для слов, содержащих специальные символы +(например, символы с акцентами), потому что \LaTeX{} не переносит +такие слова автоматически. +%\footnote{Unless you are using the new +%\wi{DC fonts}.} + +\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{текст}\verb|}| +\end{lscommand} +\noindent Она будет в любом случае сохранять свой аргумент вместе. + +\begin{example} +Номер моего телефона скоро сменится. +Он будет \mbox{0116 291 2319}. + +Параметр +\mbox{\emph{имя файла}} должен +содержать имя файла. +\end{example} + +Команда~\ci{fbox} аналогична команде \ci{mbox}, но вокруг ее +содержимого будет нарисована видимая рамка. + +\section{Специальные строки} + +В некоторых предыдущих примерах вы уже встречали простые команды +\LaTeX{} для набора специальных текстовых строк: + +\vspace{2ex} + +\noindent +\begin{tabular}{@{}lll@{}} +Команда & Пример & Описание\\ +\hline +\ci{today} & \today & Текущая дата на текущем языке\\ +\ci{TeX} & \TeX & Название вашей любимой системы верстки\\ +\ci{LaTeX} & \LaTeX & Название \LaTeX \\ +\ci{LaTeXe} & \LaTeXe & Текущая инкарнация \LaTeX\\ +\end{tabular} + + +\section{Специальные буквы и символы} + +\subsection{Знаки кавычек} + +Для набора кавычек\index{кавычки} вы \emph{не должны} использовать +знак~\verb|"|\index{""@\texttt{""}}, как на пишущей машинке. При +верстке существуют специальные знаки открывающей и закрывающей +кавычек. В \LaTeX{} используйте два знака~\verb|`| в качестве +открывающей кавычки и два знака~\verb|'| в качестве +закрывающей.\trfootnote{При верстке обычно требуются две пары кавычек, + на случай <<\glqq кавычек\grqq{} в кавычках>>. При верстке на + русском языке обычно вместо ``таких'' и `таких' кавычек используют + <<эти>> и \glqq эти\grqq. Какими командами они задаются~--- зависит + от используемой русификации, но обычно это \ci{flqq}, \ci{frqq} + (вместо этой пары часто используют лигатуры \texttt{<{}<} и + \texttt{>{}>}\index{<<}\index{>>}) и \ci{glqq}, \ci{grqq}.} + +\begin{example} +``Пожалуйста, нажмите клавишу `x' '' +\end{example} + +\subsection{Тире и дефисы} + +\LaTeX{} знает про четыре вида \wi{тире}. Три из них вы можете +получить различным числом последовательных знаков~\verb|-|. Четвертое +на самом деле не тире вовсе, а математический знак минус: + +\index{-} \index{--} \index{---} \index{-@$-$} +\index{математический!минус} + +\begin{example} +мальчик-с-пальчик, X-лучи\\ +страницы 13--67\\ +да~--- или нет?\\ +$0$, $1$ и $-1$ +\end{example} + +Эти тире называются так: \texttt{-} \wi{дефис}, \texttt{-{}-} +\wi{короткое тире}, \texttt{-{}-{}-} \wi{длинное тире} и \verb|$-$| +\wi{знак минуса}.\index{тире!короткое}\index{тире!длинное} + + +\subsection{Тильда ($\sim$)} +\index{www}\index{URL}\index{тильда} + +Тильда часто встречается в WWW-адресах. Для генерации ее в \LaTeX{} +можно использоват \verb|\~|, но результат (\~) будет не тем, что вам +нужен. Взамен попробуйте вот что: + +\begin{example} +http://www.rich.edu/\~{}bush \\ +http://www.clever.edu/$\sim$demo +\end{example} + + +\subsection{Знак градуса ($\circ$)} + +Как напечатать \wi{знак градуса} в \LaTeX{}? + +\begin{example} +Температура уже +$-30\,^{\circ}\mathrm{C}$. +Скоро наступит сверхпроводимость. +\end{example} + +%\subsection{Символ Евро \texorpdfstring{(\EUR)}{}} +\subsection{Символ Евро \texorpdfstring{(\texteuro)}{}} +В наше время, говоря о валюте, вам понадобится символ +евровалюты. Многие современные шрифты содержат символ Евро. После +загрузки пакета \pai{textcomp} в преамбуле документа +\begin{lscommand} +\ci{usepackage}\verb|{textcomp}| +\end{lscommand} +\noindent вы можете пользоваться командой +\begin{lscommand} +\ci{texteuro} +\end{lscommand} +\noindent для доступа к этому символу. + +Если ваш шрифт не имеет собственного символа Евро, или вам не +нравится, как он выглядит, у вас есть еще два выхода. + +Первый~--- использование пакета \pai{eurosym}. Он предоставляет +официальный символ Евро: +\begin{lscommand} +\ci{usepackage}\verb|[|\emph{official}\verb|]{eurosym}| +\end{lscommand} + +Если вы предпочитаете официальному символ Евро, соответствующий вашему +шрифту, вместо опции \texttt{official} используйте опцию \texttt{gen}. + +Пакет \pai{marvosym} включает множество разных символов, в том числе и +Евро, доступный таким образом: +\begin{lscommand} +\ci{EUR} +\end{lscommand} + +\begin{example} +Символы \texteuro{}, +\euro{} и \EUR{} все +выглядят по-разному. +\end{example} + +\subsection{Многоточие ( \ldots )} + +На пишущей машинке \wi{точка} или \wi{запятая} занимают то же +пространство, что и любая другая буква. Напечатанные в книге, эти +символы занимают очень мало места и верстаются очень близко к +предшествующей букве. Поэтому вы не можете ввести \wi{многоточие} +просто напечатав три точки, так как расстояние между ними будет +неправильным. Кроме того, для многоточия есть специальная команда, +называющаяся + +\begin{lscommand} +\ci{ldots} +\end{lscommand} +\index{...@\ldots} + +\begin{example} +Не так ... а вот так:\\ +Нью-Йорк, Токио, Будапешт, \ldots +\end{example} + +\subsection{Лигатуры} + +Некоторые комбинации букв верстаются не просто набором разных букв +друг за другом, а с использованием специальных +символов.\trfootnote{Лигатуры широко используются при верстке текстов на + английском языке. Насколько мне известно, при верстке на русском + языке лигатур не используется. Однако, механизм лигатур \TeX{} + используется для генерации, например, кавычек и тире.} +\begin{code} +{\large ff fi fl ffi\ldots}\quad +вместо\quad {\large f{}f f{}i f{}l f{}f{}i \ldots} +\end{code} +Эти так называемые \index{лигатура}лигатуры могут быть запрещены +вставкой \ci{mbox}\verb|{}| между двумя соответствующими буквами. Это +может быть необходимо для слов, образованных из двух частей. +\begin{example} + \Large Не ``shelfful''\\ + а ``shelf\mbox{}ful'' +\end{example} + +\subsection{Акценты и специальные символы} + +\LaTeX{} поддерживает использование \index{акценты}акцентов и +специальных символов\index{специальные символы} из многих языков. +Таблица~\ref{accents} показывает всевозможные акценты в применении к +букве о. Понятно, что ее месте могут быть и другие буквы. + +Чтобы поместить знак акцента над буквами i или 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{lined}{10cm} +\begin{tabular}{*4{cl}} +\A{\`o} & \A{\'o} & \A{\^o} & \A{\~o} \\ +\A{\=o} & \A{\.o} & \A{\"o} & \B{\c}{c}\\[6pt] +\B{\u}{o} & \B{\v}{o} & \B{\H}{o} & \B{\c}{o} \\ +\B{\d}{o} & \B{\b}{o} & \B{\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} & \cm{\j} & \verb|\j| & \cm{!`} & \verb|!`| & \cm{?`} & \verb|?`| +\end{tabular} +\index{i и j без точек@\cm{\i} и \cm{\j} без точек}\index{буквы!европейские} +\index{ae@\ae}\index{акценты!umlaut}\index{акценты!grave}\index{акценты!acute} +\index{oe@\oe} + +\bigskip +\end{lined} +\end{table} + +\section{Поддержка иностранных языков} +\index{другие языки}Если вам нужно писать документы на отличных от +английского языках, то \LaTeX{} должен быть соответствующим образом +сконфигурирован в двух пунктах: + +\begin{enumerate} +\item Все генерируемые автоматически текстовые + строки\footnote{Содержание, Список иллюстраций, Библиография \ldots} + должны быть переведены на другой язык. Для многих языков эти + изменения достигаются использованием пакета \pai{babel} (автор + Johannes Braams). + +\item \LaTeX{} должен знать \wi{правила переноса} для нового + языка. Подключение правил переноса к \LaTeX{} более сложно. Оно + включает перестроение форматного файла с другими разрешенными + образцами переноса. Ваш \guide{} должен содержать больше информации + об этом. + +\item Специфичные для языка типографские правила. Скажем, для + французского перед каждым символом двоеточия (:) должен стоять + пробел. +\end{enumerate} + +Если ваша система уже соответствующим образом сконфигурирована, вы +можете активизировать пакет \pai{babel} добавлением команды +\begin{lscommand} +\ci{usepackage}\verb|[|\emph{язык}\verb|]{babel}| +\end{lscommand} +\noindent после команды \verb|\documentclass|. Какие \emph{язык}и +поддерживает ваша система, также может быть указано в \guide{}. +\texttt{Babel} автоматически активизирует правильные правила переноса +для выбираемых вами языков. Если форматный файл вашего \LaTeX{} не +поддерживает переносов для выбранного языка, \texttt{babel} будет +работать, но запретит переносы, что негативно скажется на внешнем виде +документа. + +Для некоторых языков \pai{babel} вводит новые команды, упрощающие ввод +специальных символов. Например, \wi{немецкий язык} содержит множество +диакритических знаков (\"a\"o\"u). С использованием \pai{babel} вы +можете вводить \"o, печатая \verb|"o| вместо~\verb|\"o|. + +Если вы вызываете \pai{babel}, указывая несколько языков, +\begin{lscommand} +\ci{usepackage}\verb|[|\emph{язык1}\verb|,|\emph{язык2}\verb|]{babel}| +\end{lscommand} + +\noindent то для выбора текущего языка используйте команду + +\begin{lscommand} +\ci{selectlanguage}\verb|{|\emph{язык1}\verb|}| +\end{lscommand} + +%Input Encoding +\newcommand{\ieih}[1]{% +\index{кодировка!входная!#1@\texttt{#1}}% +\index{входная кодировка!#1@\texttt{#1}}% +\index{#1@\texttt{#1}}} +\newcommand{\iei}[1]{% +\ieih{#1}\texttt{#1}} +%Font Encoding +\newcommand{\feih}[1]{% +\index{кодировка!шрифта!#1@\texttt{#1}}% +\index{кодировка шрифта!#1@\texttt{#1}}% +\index{#1@\texttt{#1}}} +\newcommand{\fei}[1]{% +\feih{#1}\texttt{#1}} + +Большинство современных компьютерных систем позволяет вам вводить специальные +символы прямо с клавиатуры. \LaTeX{} может обрабатывать такие +символы при помощи пакета \pai{inputenc}: + +\begin{lscommand} +\ci{usepackage}\verb|[|\emph{кодировка}\verb|]{inputenc}| +\end{lscommand} + +При использовании этого пакета вы должны понимать, что другие могут +неправильно видеть ваши входные файлы на своем компьютере из-за +использования другой кодировки. Например, немецкий акцент \"a в +системе IBM~OS/2 кодируется как 132, а на некоторых Unix системах, +использующих кодировку ISO-LATIN~1,~--- как 228. Поэтому используйте +эту возможность с осторожностью. В зависимости от вашей системы, могут +использоваться, например, следующие кодировки: + +\begin{center} +\begin{tabular}{l | r} +Операционная система & Кодировка\\ +\hline +Mac & \texttt{applemac} \\ +Unix & \texttt{latin1} \\ +Windows & \texttt{ansinew} \\ +DOS, OS/2 & \texttt{cp850} +\end{tabular} +\end{center} + +Если вы пишете многоязычный документ с конфликтующими входными +кодировками, можно переключиться на Unicode при помощи пакета +\pai{ucs}: +\begin{lscommand} +\ci{usepackage}\verb|{ucs}|\\ +\ci{usepackage}\verb|[|\iei{utf8}\verb|]{inputenc}| +\end{lscommand} +Это позволит вам генерировать файлы \LaTeX{} в \iei{utf8}, +многобайтовой кодировке, где каждый символ кодируют от одного до +четырех байт. + +Иной случай~--- с кодировкой шрифта. Она определяет, в какой позиции в +пределах шрифта \TeX{} находится каждая буква. Множество входных +кодировок можно отобразить на одну кодировку шрифта, что уменьшает +число необходимых наборов шрифтов. Кодировки шрифтов обрабатываются +пакетом \pai{fontent}:\label{fontenc} +\begin{lscommand} +\ci{usepackage}\verb|[|\emph{кодировка}\verb|]{fontenc}| +\index{кодировка шрифта} +\end{lscommand} +\noindent где \emph{кодировка}~--- требуемая кодировка шрифта. Можно +одновременно загружать несколько кодировок. + +Кодировка \LaTeX{} по умолчанию~--- \fei{OT1}, кодировка оригинального +шрифта \TeX{} Computer Modern. Она содержит только 128 символов +7-битного набора символов ASCII. Когда требуются акцентированные +символы, \TeX{} создает их, комбинируя нормальный символ с акцентом. +Несмотря на то, что результирующая верстка выглядит прекрасно, этот +подход не дает автоматическим переносам работать внутри слов, +использующих акцентированные символы. Кроме того, некоторые знаки +латинских языков не получается создать таким образом, не говоря уже о +буквах не-латинских алфавитов, скажем, греческого или кириллицы. + +Для борьбы с этими ограничениями было создано несколько 8-битных +наборов шрифтов, похожих на CM. \emph{Extended Cork} (EC) шрифты в +кодировке \fei{T1} содержат специальные символы для большинства +акцентированных букв, используемых в европейских языках, основанных на +латинице. Набор шрифтов LH содержит символы языков, основанных на +кириллице. Ввиду большого числа кириллических знаков, они организованы +в четыре кодировки шрифтов: \fei{T2A}, \fei{T2B}, \fei{T2C} и +\fei{X2}.\footnote{Перечень языков, поддерживаемых каждой из этих + кодировок можно найти в \cite{cyrguide}.} Пакет CB содержит шрифты в +кодировке \fei{LGR} для набора греческих текстов. + +Используя эти шрифты, вы можете улучшить или вообще сделать возможными +переносы в не-английских документах. Еще одно преимущество +использования новых CM-подобных шрифтов~--- в том, что они +предоставляют шрифты семейства CM во всех яркостях, формах и оптически +масштабированных размерах шрифта. + +\subsection{Поддержка португальского} +\secby{Demerson Andre Polli}{polli@linux.ime.usp.br} + +Для включения переносов и смены автоматически генерируемого текста на +португальский\index{Португальский}, пользуйтесь командой +\begin{lscommand} +\verb|\usepackage[portuguese]{babel}| +\end{lscommand} +Или, для работы с бразильскими текстами, ставьте в качестве языка +\texttt{brazilian}\index{Бразильский}. + +Поскольку в португальском множество акцентированных букв, вам может +быть удобно использовать +\begin{lscommand} +\verb|\usepackage[latin1]{inputenc}| +\end{lscommand} +для того, чтобы корректно их вводить. Для работы переносов задайте +\begin{lscommand} +\verb|\usepackage[T1]{fontenc}| +\end{lscommand} + +Преамбулу, необходимую для работы с португальским языком, смотрите в +таблице~\ref{portuguese}. Заметьте, что мы здесь используем кодировку +latin1, так что эта преамбула не будет работать на Mac или в +DOS. Просто подставьте кодировку, правильную для вашей системы. + +\begin{table}[btp] +\caption{Преамбула для португальских документов} \label{portuguese} +\begin{lined}{5cm} +\begin{verbatim} +\usepackage[portugese]{babel} +\usepackage[latin1]{inputenc} +\usepackage[T1]{fontenc} +\end{verbatim} +\bigskip +\end{lined} +\end{table} + +\subsection{Поддержка французского} +\secby{Daniel Flipo}{daniel.flipo@univ-lille1.fr} + +Несколько советов для создания в \LaTeX{} +французских\index{Французский} документов. Загрузите поддержку +французского языка командой + +\begin{lscommand} +\verb|\usepackage[frenchb]{babel}| +\end{lscommand} + +Заметьте, что по историческим причинам название опции \pai{babel} для +французского языка~--- \emph{frenchb} или \emph{francais}, а не +\emph{french}. + +Это включит французские переносы, если ваша \LaTeX{}-система правильно +настроена. Кроме того, весь автоматический текст будет тоже +французским: \verb+\chapter+ печатает Chapitre, \verb+\today+ печатает +текущую дату по-французски, и так далее. Становится доступным набор +новых команд, позволяющих легче набирать французские тексты. Для +пояснения смотрите таблицу~\ref{cmd-french}. + +\begin{table}[!htbp] +\caption{Специальные команды для французского языка} \label{cmd-french} +\begin{lined}{9cm} +%%\selectlanguage{french} +\begin{tabular}{ll} +\verb+\og guillemets \fg{}+ \quad &\og guillemets \fg \\[1ex] +\verb+M\up{me}, D\up{r}+ \quad &M\up{me}, D\up{r} \\[1ex] +\verb+1\ier{}, 1\iere{}, 1\ieres{}+ \quad &1\ier{}, 1\iere{}, 1\ieres{}\\[1ex] +\verb+2\ieme{} 4\iemes{}+ \quad &2\ieme{} 4\iemes{}\\[1ex] +\verb+\No 1, \no 2+ \quad &\No 1, \no 2 \\[1ex] +\verb+20~\degres C, 45\degres+ \quad &20~\degres C, 45\degres \\[1ex] +\verb+\bsc{M. Durand}+ \quad &\bsc{M.~Durand} \\[1ex] +\verb+\nombre{1234,56789}+ \quad &\nombre{1234,56789} +\end{tabular} +%%\selectlanguage{english} +\bigskip +\end{lined} +\end{table} + +Вы также заметите изменение вида списков. Чтобы полностью изучить +изменения, вносимые \pai{babel} при работе с французским, прогоните +через \LaTeX{} файл \texttt{frenchb.dtx} и прочтите полученный +\texttt{frenchb.dvi}. + +\subsection{Поддержка немецкого} + +Несколько советов тем, кому нужно создавать в \LaTeX{} +немецкие\index{Немецкий} документы. Загрузите поддержку немецкого +языка командой + +\begin{lscommand} +\verb|\usepackage[german]{babel}| +\end{lscommand} + +Это включит немецкие переносы, если ваша \LaTeX{}-система правильно +настроена. Кроме того, автоматически генерируемый текст станет +немецким, например, ``Chapter'' станет ``Kapitel''. Включается набор +новых команд, ускоряющих набор немецкого текста, даже если не +используется пакет \pai{inputenc}. Для пояснения смотрите +таблицу~\ref{german}. С использованием inputenc все это становится не +нужным, но ваш текст сможет использовать только одну кодировку. + +\begin{table}[!htbp] +\caption{Специальные символы немецкого языка} \label{german} +\begin{lined}{8cm} +%%\selectlanguage{german} +\begin{tabular}{*2{ll}} +\verb|"a| & "a \hspace*{1ex} & \verb|"s| & "s \\[1ex] +\verb|"`| & "` & \verb|"'| & "' \\[1ex] +\verb|"<| or \ci{flqq} & "< & \verb|">| or \ci{frqq} & "> \\[1ex] +\ci{flq} & \flq & \ci{frq} & \frq \\[1ex] +\ci{dq} & " \\ +\end{tabular} +%%\selectlanguage{english} +\bigskip +\end{lined} +\end{table} + +В немецких книгах часто встречаются французские знаки кавычек +(\flqq{}guillemets\frqq). Немецкие типографы, однако, используют их +по-другому. Цитата в немецкой книге обычно выглядит \frqq{}так\flqq. В +немецкоговорящей части Швейцарии типографы используют +\flqq{}guillemets\frqq так же, как и во Франции. + +Большая проблема связана с командами типа \verb+\flq+: в шрифтах OT1 +(а они включаются по умолчанию) эти кавычки выглядят как +математический символ ``$\ll$'', от чего у типографов будет +истерика. Шрифты в кодировке T1, с другой стороны, имеют требуемые +символы. Так что, если вам нужны такие кавычки, убедитесь, что +включили кодировку T1 (\verb|\usepackage[T1]{fontenc}|). + +\subsection[Поддержка корейского]{Поддержка + корейского\footnotemark}\label{support_korean}% +\footnotetext{% +Рассматриваются несколько моментов, касающихся корейских пользователей +\LaTeX{}. Этот раздел написал Karnes Kim от имени корейской команды +переводчиков lshort. Раздел переведен на английский Shun Jungshik и +сокращен Tobi Oetiker.} + +Используя \LaTeX{} для набора корейского языка\index{Корейский}, нам +нужно разрешить три проблемы: + +\begin{enumerate} +\item Нужно научиться редактировать входные файлы на корейском. Они + должны быть в формате плоского текста, но, поскольку символы + корейского языка не входят в набор US-ASCII, они будут странно + выглядеть в стандартных редакторах ASCII. Две самых популярных + кодировки корейских текстовых файлов~--- EUK-KR и ее совместимое + расширение, используемое в корейской системе MS Windows, + CP949/Windows-949/UHC. Эти кодировки включают ASCII как + подмножество, аналогично кодировкам ISO-8859-\textit{x}, EUC-JP, + Shift\_JIS и Big5. С другой стороны, слоги Hangul, знаки Hanjas + (используемые в Корее китайские символы), Hangul Jamos, хиракана, + катакана, греческие, кириллица и прочие символы из KS~X~1001 + представляются двумя байтами. Первый байт имеет установленным + старший бит. До середины 90-х годов установка корейского окружения в + нелокализованной ОС требовала значительных усилий и времени. Вы + можете просмотреть сильно устаревший \url{http://jshin.net/faq}, + чтобы получить представление об этиъ усилиях. В наше время все три + основные операционные системы (Mac OS, Unix, Windows) включают + вполне приличную многоязыковую поддержку и возможности + интернационализации, так что редактирование корейских текстов уже не + является проблемой, даже в нелокализованной системе. + +\item \TeX{} и \LaTeX{} были изначально созданы для письменностей, + имеющих в алфавите не более 256 символов. Для того, чтобы они + работали с языками, где гораздо больше символов, например, + корейским\footnote{Корейский алфавит Hangul~--- буквенная + письменность с 14 основными согласными и 10 основными гласными + (Jamos). В отличие от латиницы или кириллицы, отдельные символы + должны быть размещены в прямоугольных блоках примерно такого же + размера, как и китайские. Каждый блок представляет слог. Из этого + небольшого количества гласных и согласных можно сформировать + бесконечное число слогов. Однако, современные орфографические + стандарты (как в Южной Корее, так и в Северной) налагают некоторые + ограничения на формирование этих блоков. Следовательно, существует + конечное число орфографически правильных слогов. Корейские кодировки + символов определяют индивидуальные коды для каждого из этих слогов + (KS~X~1001:1998 и KS~X~1002:1992). Таким образом, Hangul, будучи + буквенным, трактуется, тем не менее, так же, как письменности Китая + и Японии, с тысячами идеографических знаков. Стандарт + ISO~10646/Unicode предлагает оба способа представления Hangul, + использумых в \emph{современной} Корее, кодируя, в дополнение ко + всем орфографически разрешенным слогам Hangul + (\url{http://www.unicode.org/charts/PDF/UAC00.pdf}), еще и + Conjoining Hangul Jamos (алфавит: + \url{http://www.unicode.org/charts/PDF/U1100.pdf}). Одна из самых + устрашающих задач в наборе корейского текста в \LaTeX{} и + аналогичных системых~--- поддержка средневековых корейских (а, + возможно, и будущих корейских) слогов, которые можно представить + только комбинацией знаков Jamos в Unicode. Есть надежда, что будущие + варианты \TeX, например, $\Omega$ и $\Lambda$ в конце концов + предоставят решение для этой задачи, так что корейские лингвисты и + историки смогут сбежать из MS Word, где уже есть довольно неплохая + поддержка средневекового корейского.} и китайским, был разработан + механизм подшрифтов. Он делит единый шрифт CJK с тысячами или + десятками тысяч знаков на набор подшрифтов с 256 знаками в + каждом. Для корейского языка есть три широко используемых пакета: + \wi{H\LaTeX} (автор Un~Koanghi), \wi{h\LaTeX{}p} (автор + Cha~Jaechoon) и \wi{пакет CJK} (автор Werner~Lemberg).\footnote{% + Их можно получить по адресам \CTANref|language/korean/HLaTeX/|\\ + \CTANref|language/korean/CJK/| и + \texttt{http://knot.kaist.ac.kr/htex/}} +H\LaTeX{} и h\LaTeX{}p специфичны для корейского языка и предлагают + корейскую локализацию, помимо шрифтовой поддержки. Оба они + обрабатывают входные файлы в кодировке EUK-KR. H\LaTeX{} может + обрабатывать файлы в кодировках CP949/Windows-949/UHC и UTF-8, если + используется вместе с $\Lambda$, $\Omega$. + +Пакет CJK не специфичен для корейского языка. Он обрабатывает входные +файлы в UTF-8, а также в различных кодировках CJK, включая EUK-KR и +CP949/Windows-949/UHC. Его можно использовать для набора документов с +многоязычным содержанием (особенно китайским, японским и +корейским). Пакет CJK не содержит корейской локализации, аналогичной +той, что есть в H\LaTeX{}, и также не содержит такого множества +специальных корейских шрифтов. + +\item Конечная цель использования программ набора, включая \TeX{},~--- + получить документы, сверстанные <<эстетически>> + удовлетворительно. Можно утверждать, что наиболее важный элемент + верстки~--- это набор хорошо спроектированных шрифтов. Дистрибутив + H\LaTeX{} включает \index{корейский шрифт!UHC шрифт}UHC \PSi{} + шрифты десяти различных семейств и TrueType шрифты + Munhwabu\footnote{Министерство культуры Кореи} пяти различных + семейств. Пакет CJK работает с набором шрифтов, использовавшихся в + старых версиях H\LaTeX{}, а также может использовать TrueType шрифт + cyberbit компании Bitstream. +\end{enumerate} + +Для загрузки пакета H\LaTeX{} поместите в преамбуле следующее: +\begin{lscommand} +\verb+\usepackage{hangul}+ +\end{lscommand} + +Эта команда включает корейскую локализацию. Заголовки глав, разделов, +подразделов, оглавления и перечня иллюстраций будут переведены на +корейский, и форматирование документа изменится так, чтобы следовать +принятым в Корее правилам. Пакет также предоставляет автоматический +<<выбор частиц>>. В корейском языке существуют пары постфиксных +частиц, грамматически эквивалентных, но отличных по форме. Какая +частица из пары корректна, зависит от того, заканчивается ли +предыдущий слог на гласную или согласную. (На самом деле, правило чуть +сложнее, но общая идея такова.) Корейцам не составляет никакого труда +выбирать правильную частицу, однако невозможно заранее определить, +какую частицу использовать в ссылках и других местах с автоматически +генерируемым текстом, меняющимся при редактировании +документа. Вставлять при каждом изменении текста правильную частицу +везде вручную~--- решение совершенно ужасное. H\LaTeX{} автоматизирует +этот процесс. + +Если вам не нужна корейская локализация, а вы просто хотите набрать +корейский текст, поместите взамен в преамбулу следующее: +\begin{lscommand} +\verb+\usepackage{hfont}+ +\end{lscommand} + +Полная и подробная информация о верстке корейского текста при помощи +H\LaTeX{} приведена в \emph{Руководстве по H\LaTeX}. Смотрите веб-сайт +группы корейских пользователей \TeX{} (KTUG) по адресу +\url{http://www.ktug.or.kr/}. Существует также корейский перевод +настоящего документа. + + +\subsection{Поддержка кириллицы} +\secby{Maksym Polyakov}{polyama@myrealbox.com} + +Пакет \pai{babel}, начиная с версии~3.7, включает поддержку +кодировок~\fei{T2*} и поддержку верстки болгарских, русских и +украинских текстов с использованием кириллических +символов.\index{Болгарский}\index{Русский}\index{Украинский} + +Поддержка кириллицы основана на стандартных механизмах \LaTeX{}: +пакетах \pai{fontenc} и \pai{inputenc}. Но, если вам нужно +использовать кириллицу в математическом режиме, загрузите до пакета +\pai{fontenc} пакет \pai{mathtext}:\footnote{Если вы пользуетесь + пакетами \AmS-\LaTeX{}, загружайте их также до пакетов \pai{fontenc} + и \pai{babel}.} +\begin{lscommand} +\verb+\usepackage{mathtext}+\\ +\verb+\usepackage[+\fei{T1}\verb+,+\fei{T2A}\verb+]{fontenc}+\\ +\verb+\usepackage[+\iei{koi8-r}\verb+]{inputenc}+\\ +\verb+\usepackage[english,bulgarian,russian,ukranian]{babel}+ +\end{lscommand} + +Вообще говоря, \pai{babel} автоматически выберет кодировку шрифтов по +умолчанию. Для трех перечисленных языков это будет \fei{T2A}. Однако, +документы не ограничены только одной кодировкой шрифта. Для +многоязыковых документов, использующих языки, базирующиеся на +кириллице и латинице, имеет смысл явно подключить латинскую кодировку +шрифтов. \pai{babel} позаботится о переключении на правильную +кодировку, когда вы меняете язык в документе. + +В дополнение ко включению переносов, трансляции автоматически +генерируемых строк и активации некоторых специфичных для языка +типографских правил (например, \ci{frenchspacing}), \pai{babel} +предоставляет несколько команд для верстки в соответствии со +стандартами болгарского, русского или украинского языков. + +Для всех трех языков предоставляется специфическая пунктуация: +кириллическое тире для теста (оно слегка \'уже латинского тире и +окружено крошечными пробелами), тире для прямой речи, кавычки и +команды управления переносами. Смотрите таблицу~\ref{Cyrillic}. + +% Table borrowed from Ukrainian.dtx +\begin{table}[htb] + \begin{center} + \index{""-@\texttt{""}\texttt{-}} + \index{""---@\texttt{""}\texttt{-}\texttt{-}\texttt{-}} + \index{""=@\texttt{""}\texttt{=}} + \index{""`@\texttt{""}\texttt{`}} + \index{""'@\texttt{""}\texttt{'}} + \index{"">@\texttt{""}\texttt{>}} + \index{""<@\texttt{""}\texttt{<}} + \caption[Болгарский, русский и украинский]{Дополнительные + определения, вводимые опциями \pai{babel} для болгарского, + русского и украинского языков}\label{Cyrillic} + \begin{tabular}{@{}p{.1\hsize}@{}p{.9\hsize}@{}} + \hline + \verb="|= & запрещает лигатуру в этой позиции. \\ + \verb|"-| & дефис, разрешающий переносить остаток слова. \\ + \verb|"---| & кириллическое тире в обычном тексте. \\ + \verb|"--~| & кириллическое тире в составных фамилиях. \\ + \verb|"--*| & кириллическое тире для обозначения прямой речи. \\ + \verb|""| & как |"-|, но не генерирует знака дефиса + (для составных слов с дефисом, например, |x-""y|.\\ + \verb|"~| & отмечает составное слово без разрыва. \\ + \verb|"=| & отмечает составное слово с разрывом, разрешая перенос в + словах-компонентах. \\ + \verb|",| & пробел для инициалов с разрешением переноса в следующей + за ними фамилии. \\ + \verb|"`| & немецкая левая двойная кавычка + (выглядит так: ,\kern-0.08em,). \\ + \verb|"'| & немецкая правая двойная кавычка (выглядит так: ``). \\%'' + \verb|"<| & французская левая двойная кавычка (выглядит так: $<\!\!<$). \\ + \verb|">| & французская правая двойная кавычка (выглядит так: $>\!\!>$). \\ + \hline + \end{tabular} + \end{center} +\end{table} + +Русская и украинская опции пакета \pai{babel} вводят команды +\ci{Asbuk} и \ci{asbuk}, которые работают аналогично командам +\ci{Alph} и \ci{alph}, но генерируют прописные и строчные буквы +русского или украинского алфавитов (в зависимости от текущего языка +документа). Болгарская опция \pai{babel} вводит команды \ci{enumBul} и +\ci{enumLat} (\ci{enumEng}), которые заставляют \ci{Alph} и \ci{alph} +генерировать буквы либо болгарского, либо латинского (английского) +алфавитов. По умолчанию генерируются болгарские буквы. + +%Finally, math alphabets are redefined and as well as the commands for math +%operators according to Cyrillic typesetting traditions. + +\section{Пробелы между словами} + +Для получения ровного правого края вывода \LaTeX{} вставляет различные +интервалы между словами. В конце предложения он вставляет слегка +больший интервал, делая текст более читабельным.\trfootnote{В + соответствии с традициями верстки, принятыми в английском + языке.} \LaTeX{} предполагает, что +предложения заканчиваются точками, вопросительными или +восклицательными знаками. Если точка следует за буквой в верхнем +регистре, она не считается концом предложения, так как точки после +букв верхнего регистра обычно используются для сокращений. + +Любое исключение из этих предположений должно быть явно оговорено +автором. Знак~<<\verb|\|>> перед пробелом дает в результате пробел, +который не будет увеличен. Знак~<<\verb|~|>> дает пробел, который не +может увеличиться и который, кроме того, запрещает разрыв строки. +Команда \verb|\@| перед точкой указывает, что эта точка заканчивает +предложение, несмотря на то, что стоит за буквой верхнего регистра. +\cih{"@} \index{~@ \verb.~.} \index{тильда@тильда (\verb.~.)} +\index{точка, пробел после} + +\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 которая указывает \LaTeX{} \emph{не} вставлять пробела после +точки более, чем после обычных символов. Это обычно для языков, +отличных от английского, за исключением библиографий. Если вы +используете \ci{frenchspacing}, команда \verb|\@| не нужна. + +\section{Заголовки, главы и разделы} + +Чтобы помочь читателю ориентироваться в вашей работе, вы должны +разделять ее на главы, разделы и подразделы. \LaTeX{} поддерживает это +специальными командами, принимающими в качестве аргумента заголовок +раздела. Ваше дело~--- использовать их в надлежащем порядке. + +Класс \texttt{article} включает следующие команды секционирования: + +\begin{code} +\ci{section}\verb|{...} |\ci{paragraph}\verb|{...}|\\ +\ci{subsection}\verb|{...} |\ci{subparagraph}\verb|{...} |\\ +\ci{subsubsection}\verb|{...}| +\end{code} + +В классах \texttt{report} и \texttt{book} вы можете использовать +дополнительную команду \ci{chapter}\verb|{...}|. + +Если вы хотите разбить ваш документ на части без изменения нумерации +разделов/глав, используйте команду \ci{part}\verb|{...}|. + +Так как глав (chapters) в классе \texttt{article} нет, то +статьи довольно легко добавлять в книгу в качестве глав. Интервалы +между разделами, нумерация и размер шрифта заголовков устанавливаются +\LaTeX{} автоматически. + +Две из команд секционирования~--- особенные: +\begin{itemize} +\item Команда \ci{part} не влияет на последовательность нумерования + глав. +\item Команда \ci{appendix} аргумента не имеет. Она просто начинает + нумеровать главы буквами вместо цифр.\footnote{В классе + \texttt{article} меняется нумерация разделов.} +\end{itemize} + + + +\LaTeX{} создает оглавление, беря заголовки разделов и номера страниц +из предыдущего цикла компиляции документа. Команда +\begin{lscommand} +\ci{tableofcontents} +\end{lscommand} +\noindent вставляет оглавление в то место, где она вызвана. Чтобы +получить правильное \wi{оглавление}, новый документ должен быть +обработан \LaTeX{} дважды. В особых случаях может быть необходим и +третий проход. Когда это потребуется, \LaTeX{} вас предупредит. + +Все вышеперечисленные команды секционирования существуют также в +вариантах со звездочкой. Такой вариант получается добавлением \verb|*| +к имени команды. Они генерируют заголовки разделов, которые не +нумеруются и не включаются в оглавление. Например, команда +\verb|\section{Справка}| становится \verb|\section*{Справка}|.\sloppypar + +Обычно заголовки разделов появляются в оглавлении точно в том же виде, +в каком они вводятся в тексте. Иногда это невозможно из-за того, что +заголовок слишком длинен для оглавления. Элемент оглавления может в +этом случае указываться необязательным аргументом перед собственно +заголовком. +\begin{code} +\verb|\chapter[Заголовок для оглавления]{Это~--- длинный,|\\ +\verb| длинный и очень нудный заголовок, появляющийся в тексте}| +\end{code} + +Титульный лист +\index{лист!титульный}\index{титульный лист} +документа в целом генерируется при помощи команды +\begin{lscommand} +\ci{maketitle} +\end{lscommand} +\noindent Его содержимое должно быть определено командами +\begin{lscommand} + \ci{title}\verb|{...}|, \ci{author}\verb|{...}| и + \ci{date}\verb|{...}| +\end{lscommand} +\noindent до момента вызова \verb|\maketitle|. Аргумент команды +\ci{author} может содержать несколько имен, разделенных командами +\ci{and}. + +Пример некоторых из упомянутых команд может быть найден на +иллюстрации~\ref{document} на странице~\pageref{document}. + +Помимо описанных выше команд секционирования, \LaTeXe{} вводит три +дополнительных команды для использования с классом \texttt{book}. +Они полезны для деления вашей публикации. Команды изменяют заголовки +глав и нумерацию страниц так, как это ожидается от +книги: + +\begin{description} +\item[\ci{frontmatter}] должна быть самой первой командой после + \verb|\begin{document}|. Она переключает нумерацию страниц на + использование римских цифр. Для вводной части часто используют + команды секционирования со звездочками (например, + \verb|\chapter*{Предисловие}|), чтобы \LaTeX{} не нумеровал эти + разделы. + \item[\ci{mainmatter}] указывается сразу перед первой главой + книги. Она включает нумерацию страниц цифрами и сбрасывает счетчик + страниц. + \item[\ci{appendix}] отмечает начало дополнительного материала в + вашей книге. После этой команды главы будут нумероваться буквами. + \item[\ci{backmatter}] указыватеся перед самыми последними частями + книги, например, перед библиографией и предметным указателем. В + стандартных классах документов видимого эффекта она не имеет. +\end{description} + +\section{Перекрестные ссылки} + +В книгах, отчетах и статьях часто встречаются \wi{перекрестные ссылки} +на иллюстрации, таблицы и отдельные части текста. Для этого \LaTeX{} +предоставляет следующие команды: +\begin{lscommand} +\ci{label}\verb|{|\emph{метка}\verb|}|, \ci{ref}\verb|{|\emph{метка}\verb|}| +и \ci{pageref}\verb|{|\emph{метка}\verb|}| +\end{lscommand} +\noindent где \emph{метка}~--- выбранный пользователем +идентификатор. \LaTeX{} заменяет \verb|\ref| номером раздела, +подраздела, иллюстрации, таблицы или уравнения, где была использована +соответствующая команда \verb|\label|. \verb|\pageref| печатает номер +страницы, соответствующей команде \verb|\label|.\footnote{Заметьте, что + эти команды не знают, на что именно они ссылаются. \ci{label} просто + сохраняет последний автоматически генерируемый номер.} Так же, как +и в случае с заголовками разделов, здесь также используются номера из +предыдущего прохода. + +\begin{example} +Ссылка на этот +раздел~\label{sec:this} +выглядит так: <<см. +раздел~\ref{sec:this} на +стр.~\pageref{sec:this}.>> +\end{example} + +\section{Сноски} + +Команда +\begin{lscommand} +\ci{footnote}\verb|{|\emph{текст сноски}\verb|}| +\end{lscommand} +\noindent печатает сноску внизу текущей страницы. Сноски всегда должны +помещаться после слова или предложения, к которым они относятся. В +русском языке сноски, относящиеся к предолжению, должны ставиться +сразу перед точкой или запятой\footnote{Заметьте, что сноски отвлекают + читателя от основного текста документа. Все всегда читают сноски, + потому что мы~--- любопытные создания. Поэтому старайтесь включать + все, что вы хотите сказать, в основной текст документа.}. +%не понял юмора. BT. + +\begin{example} + Пользователи \LaTeX{} + часто употребляют + сноски.\footnote{% + Это~--- сноска.} +\end{example} + + +\section{Выделенные слова} + +В рукописи, напечатанной на машинке, \texttt{важные слова выделяются + \underline{подчеркиванием}}: + +\begin{lscommand} +\ci{underline}\verb|{|\emph{текст}\verb|}| +\end{lscommand} + +В печатных изданиях, однако, эти слова выделяются \emph{курсивом}. Команда для +переключения на шрифт \emph{выделения} называется +\begin{lscommand} +\ci{emph}\verb|{|\emph{текст}\verb|}| +\end{lscommand} +\noindent Ее аргументом является текст для +выделения\index{выделение}. Что на самом деле делает эта команда, +зависит от контекста: + +\begin{example} +Если вы используете +\emph{выделение в уже +выделенном тексте, то +\LaTeX{} использует +\emph{прямой} шрифт.} +\end{example} + +Отметьте отличие между командами \emph{выделения} и смены +\emph{шрифта}: + +\begin{example} +\textit{Вы можете также + \emph{выделить} текст, + набрав его курсивом,} +\textsf{шрифтом без + \emph{засечек}} +\texttt{или в стиле + \emph{пишущей машинки}.} +\end{example} + +\section{Окружения} \label{env} + +Для верстки специальных видов текста \LaTeX{} определяет множество +\index{окружение}окружений для разных типов форматирования: +\begin{lscommand} +\ci{begin}\verb|{|\emph{название}\verb|}|\quad + \emph{текст}\quad +\ci{end}\verb|{|\emph{название}\verb|}| +\end{lscommand} +\noindent где \emph{название} определяет окружение. Окружения можно +вызывать внутри окружений, соблюдая порядок вызова и возврата: +\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 Вы можете как угодно +смешивать окружения списков: +\begin{itemize} +\item Но это может смотреться +глупо. +\item[-] С минусом. +\end{itemize} +\item Поэтому помните: +\begin{description} +\item[Глупые] вещи не станут +умнее от помещения в список. +\item[Умные] вещи, однако, +вполне можно представить +списком. +\end{description} +\end{enumerate} +\end{example} + +\subsection{Выравнивание влево, вправо и по центру} + +Окружения \ei{flushleft} и \ei{flushright} форматируют абзацы, +выровненные влево или вправо.\index{выравнивание!вправо или влево} +Окружение \ei{center} дает центрированный текст. Если вы не +используете \ci{\bs} для указания разрывов строк, \LaTeX{} определит +их автоматически. + +\begin{example} +\begin{flushleft} + Этот текст\\ выровнен влево. + \LaTeX{} не старается сделать + все строки одинаковой длины. +\end{flushleft} +\end{example} + +\begin{example} +\begin{flushright} + Этот текст\\ выровнен вправо. + \LaTeX{} не старается сделать + все строки одинаковой длины. +\end{flushright} +\end{example} + +\begin{example} +\begin{center} + В центре\\Земли +\end{center} +\end{example} + +\subsection{Цитаты и стихи} + +Окружение \ei{quote} полезно для цитат, важных фраз и примеров. + +\begin{example} +Типографское правило для +длины строки: +\begin{quote} + Обычно строки должны + содержать не больше + 66~символов. +\end{quote} + +Поэтому \LaTeX{} делает такими +широкими поля страниц. Поэтому +в газетах часто применяют набор +в несколько колонок. +\end{example} + +Существуют еще два похожих окружения: \ei{quotation} и \ei{verse}. +Окружение \texttt{quotation} полезно для более длинных цитат, +охватывающих несколько абзацев, потому что оно начинает абзацы с +красной строки. Окружение \texttt{verse} используют для стихов, где +важны разрывы строк. Строки разделяются при помощи \ci{\bs} в конце +строки и пустой строки после каждой строфы. + +\begin{example} +Я знаю только одно английское +стихотворение наизусть: про +Шалтая-Болтая: +\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{Буквальное воспроизведение} + +Текст, заключенные между \verb|\begin{|\ei{verbatim}\verb|}| и +\verb|\end{verbatim}| будет напрямую напечатан, как набранный на +пишущей машинке, со всеми пробелами и возвратами каретки, без +выполнения каких бы то ни было команд \LaTeX{}. + +Внутри абзаца аналогичную функцию выполняет команда +\begin{lscommand} +\ci{verb}\verb|+|\emph{текст}\verb|+| +\end{lscommand} +\noindent Здесь <<\verb|+|>>~--- это только пример +символа-ограничителя. Вы можете использовать любой символ, кроме букв, +<<\verb|*|>> или пробела. Многие примеры на \LaTeX{} в этом буклете +набраны этой командой. + +\begin{example} +Команда \verb|\ldots| \ldots + +\begin{verbatim} +10 PRINT "HELLO WORLD "; +20 GOTO 10 +\end{verbatim} +\end{example} + +\begin{example} +\begin{verbatim*} +вариант окружения +verbatim со +звездочкой выделяет +пробелы в тексте +\end{verbatim*} +\end{example} + +Команду \ci{verb} тоже можно использовать аналогичным образом со +звездочкой: + +\begin{example} +\verb*|вот так :-) | +\end{example} + +Окружение \texttt{verbatim} и команду \verb|\verb| нельзя использовать +внутри параметров других команд. + + +\subsection{Таблицы} + +Окружение \ei{tabular} используют для верстки таблиц, возможно, с +горизонтальными и вертикальными линиями. \LaTeX{} автоматически +определяет ширину столбцов. + +Аргумент \emph{спецификация} команды +\begin{lscommand} +\verb|\begin{tabular}[|\emph{позиция}\verb|]{|\emph{спецификация}\verb|}| +\end{lscommand} +\noindent определяет формат таблицы. Используйте \texttt{l} для +столбца текста, выровненного влево, \texttt{r} для текста, +выровненного вправо и \texttt{c} для центрированного текста, +\verb|p{|\emph{ширина}\verb|}| для столбца, содержащего выровненный +текст с переносом строк, и \verb.|. для вертикальной линии. + +\emph{Позиция} определяет вертикальное положение всего табличного +окружения: \texttt{t}, \texttt{b} и \texttt{c} означают выравнивание +по верхнему краю, нижнему краю или по центру окружения. + +Внутри окружения \texttt{tabular} знак~<<\verb|&|>> переходит к +следующему столбцу, команда~\ci{\bs} начинает новую строку, а +\ci{hline} вставляет горизонтальную линию.\index{"|@\verb."|.} Вы +можете добавлять неполные линии при помощи команды +\ci{cline}\verb|{j-i}|, где \texttt{j} и \texttt{i}~--- номера +столбцов, над которыми должна проходить линия. + +\begin{example} +\begin{tabular}{|r|l|} +\hline +7C0 & шестнадцатеричное \\ +3700 & восьмеричное \\ \cline{2-2} +11111000000 & двоичное \\ +\hline \hline +1984 & десятичное \\ +\hline +\end{tabular} +\end{example} + +\begin{example} +\begin{tabular}{|p{4.7cm}|} +\hline +Добро пожаловать в абзац в +рамочке. Надеемся, вам всем +тут понравится.\\ +\hline +\end{tabular} +\end{example} + +Разделитель столбцов можно задать конструкцией \verb|@{...}|. Эта +команда удаляет пробел между столбцами и заменяет его на то, что +включено в фигурные скобки. Одно из частых использований этой команды +показано ниже, при рассказе о проблеме выравнивания по десятичной +точке. Другое возможно использование~--- для подавления ведущего +пробела в таблице при помощи \verb|@{}|: + +\begin{example} +\begin{tabular}{@{} l @{}} +\hline +нет ведущего пробела\\ +\hline +\end{tabular} +\end{example} + +\begin{example} +\begin{tabular}{l} +\hline +ведущий пробел слева и справа\\ +\hline +\end{tabular} +\end{example} + +% +% This part by Mike Ressler +% + +\index{выравнивание!по десятичной точке} Поскольку встроенный способ +выровнять числовые столбцы по десятичной точке +отсутствует,\footnote{Если на вашей системе установлен комплект + `tools', обратите внимание на пакет \pai{dcolumn}.} мы можем +<<обмануть>> \TeX{} и добиться этого при помощи двух столбцов: +выровненной вправо целой части и выровненной влево дробной. Команда +\verb|@{.}| в строке \verb|\begin{tabular}| заменяет нормальный пробел + между столбцами просто на <<.>>, давая эффект одного столбца, + выровненного по десятичной точке. Не забудьте заменить в ваших + числах точку на разделитель столбцов (\verb|&|)! Метку столбца можно + поместить над нашим числовым <<столбцом>> командой \ci{multicolumn}: + +\begin{example} +\begin{tabular}{c r @{.} l} +Выражение с $\pi$ & +\multicolumn{2}{c}{Значение} \\ +\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} + +Материал, набираемый в окружении \texttt{tabular}, всегда верстается +на одной странице. Если вам нужно набирать длинные таблицы, +используйте окружения \pai{supertabular} или \pai{longtable}. + +\section{Плавающие объекты} +Большинство публикаций в наши дни содержат множество иллюстраций и +таблиц. Эти элементы нуждаются в специальном обращении с ними, так как +они не могут быть разбиты между страницами. Одним из выходов было бы +начинать новую страницу каждый раз, когда встречается иллюстрация или +таблица, слишком большая, чтобы поместиться на текущей странице. Этот +подход привел бы к тому, что страницы оставались бы частично пустыми, +что смотрится очень плохо. + +Для решения этой проблемы любая иллюстрация или таблица, не умещающаяся +на текущей странице, может `плавать', перемещаясь на следующую +страницу в процессе заполнения текстом текущей. \LaTeX{} предлагает +для плавающих объектов\index{плавающие объекты} два окружения, одно для таблиц и одно для +иллюстраций. Чтобы полностью использовать их преимущества, важно +примерно представлять, как \LaTeX{} обрабатывает плавающие +объекты. Иначе они могут стать источником разочарования из-за того, +что \LaTeX{} помещает их не туда, куда вы хотите. + +Давайте вначале рассмотрим команды, предоставляемые \LaTeX{} для +плавающих объектов. + +Любой материал, включенный в окружения \ei{figure} или \ei{table}, +трактуется как плавающий. Оба окружения имеют необязательный +параметр +\begin{lscommand} +\verb|\begin{figure}[|\emph{спецификация размещения}\verb|]| или\\ +\verb|\begin{table}[|\emph{спецификация размещения}\verb|]| +\end{lscommand} +\noindent называемый \emph{спецификацией размещения}. Этот параметр +используется для указания \LaTeX{}, куда можно перемещать плавающий +объект. \emph{Спецификация размещения} конструируется путем собирания +в строчку \emph{ключей размещения плавающего объекта}. См. +таблицу~\ref{tab:permiss}. + +\begin{table}[!bp] +\caption{Ключи размещения плавающего объекта}\label{tab:permiss} +\noindent \begin{minipage}{\textwidth} +\medskip +\begin{center} +\begin{tabular}{@{}cp{10cm}@{}} +Ключ&Разрешает помещать объект \ldots\\ +\hline +\rule{0pt}{1.05em}\texttt{h} & \emph{здесь же}, в том самом месте +текста, где он появился. Обычно используется для маленьких объектов.\\[0.3ex] +\texttt{t} & \emph{наверху} страницы\\[0.3ex] +\texttt{b} & \emph{внизу} страницы\\[0.3ex] +\texttt{p} & на \emph{специальной странице}, содержащей только +плавающие объекты.\\[0.3ex] +\texttt{!} & не рассматривать большинство внутренних +параметров,\footnote{Таких, как максимальное число плавающих объектов, + разрешенных на одной странице} которые могут предотвратить +размещение этого объекта. +\end{tabular} +\end{center} +\end{minipage} +\end{table} + +Замечание: \texttt{0pt} и \texttt{1.05em}~--- единицы измерения длин +\TeX{}. Подробности о единицах и размерностях смотрите в +таблице~\ref{units} на странице~\pageref{units}. + + +Например, таблицу можно начать следующей строкой: +\begin{code} +\verb|\begin{table}[!hbp]| +\end{code} +\noindent Спецификация размещения \index{спецификация размещения} \verb|[!hbp]| позволяет +\LaTeX{} разместить таблицу прямо по месту (\texttt{h}), или внизу той +же страницы (\texttt{b}), или на выделенной странице (\texttt{p}), и +все это~--- даже если это будет смотреться не так уж хорошо +(\texttt{!}). Если никакой спецификации размещения не задано, +стандартные классы предполагают \verb|[tbp]|. + +\LaTeX{} размещает каждый встреченный плавающий объект в соответствии +с заданной автором спецификацией. Если объект нельзя поместить на +текущей странице, он откладывается, помещаясь в очередь +иллюстраций\index{иллюстрации} или в очередь +таблиц.\index{таблицы}\footnote{Эти очереди подчиняются дисциплине + \emph{fifo}: `первым вошел~--- первым вышел'.} Когда начинается +новая страница, \LaTeX{} проверяет, можно ли заполнить специальную +страницу плавающими объектами из очередей. Если нет, то первый объект +из каждой очереди считается только что встретившимся в тексте: +\LaTeX{} снова пытается разместить их в соответствии с их +спецификациями (за исключением `h', что уже невозможно). Новые +встреченные в тексте плавающие объекты помещаются в соответствующие +очереди. \LaTeX{} сохраняет порядок, в котором встретились плавающие +объекты соответствующего типа. Поэтому иллюстрация, которую не удается +разместить, отталкивает все дальнейшие иллюстрации к концу документа. +Следовательно: + +\begin{quote} + Если \LaTeX{} не размещает плавающие объекты, как вы этого ожидаете, + то часто это только один объект устроил затор в одной из очередей. +\end{quote} + +Хотя и возможно задавать в \LaTeX{} конкретную спецификацию размещения +плавающего объекта, это может вызвать проблемы. Если объект не +помещается в указанном месте, он <<застревает>>, блокируя последующие +плавающие объекты. В частности, никогда не используйте ключ +\texttt{[h]}; это настолько плохо, что в современных версиях \LaTeX{}, +он автоматически заменяется \texttt{[ht]}. + +\bigskip +\noindent После объяснения этих механизмов остается еще несколько +замечания про окружения \ei{table} и \ei{figure}. Командой + +\begin{lscommand} +\ci{caption}\verb|{|\emph{текст заголовка}\verb|}| +\end{lscommand} + +\noindent вы можете задать заголовок для объекта. Увеличивающийся +номер и строка <<Рисунок>> или <<Таблица>> добавляются \LaTeX{}. + +Две команды + +\begin{lscommand} +\ci{listoffigures} и \ci{listoftables} +\end{lscommand} + +\noindent работают аналогично команде \verb|\tableofcontents|, печатая +список иллюстраций или таблиц, соответственно. В этих списках +заголовки повторяются целиком. Если вы используете длинные заголовки, +то вы должны предоставить их краткий вариант для включения в списки. +Это делается помещением краткого варианта в квадратные скобки после +команды \verb|\caption|. +\begin{code} +\verb|\caption[Короткий]{Дддддллллллиииинннннныыыыыыыыыыыыыыййй}| +\end{code} + +При помощи \verb|\label| и \verb|\ref| можно делать ссылки из вашего +текста на плавающий объект. + +Следующий пример рисует квадрат и вставляет его в документ. Подобную +технику можно использовать, чтобы оставить в документе место под +изображения, которые вы вставите позже. + +\begin{code} +\begin{Verbatim} +Рисунок~\ref{white} является примером Поп-Арта. +\begin{figure}[!hbp] +\makebox[\textwidth]{\framebox[5cm]{\rule{0pt}{5cm}}} +\caption{Пять на пять сантиметров} \label{white} +\end{figure} +\\\end{Verbatim} +\end{code} + +\noindent В этом примере \LaTeX{} будет \emph{очень сильно}~(\texttt{!}) стараться +разместить иллюстрацию прямо \emph{по + месту}~(\texttt{h}).\footnote{Предполагая, что очередь иллюстраций + пуста} Если это невозможно, он попытается разместить ее \emph{внизу + страницы}~(\texttt{b}). Если ему не удастся поместить иллюстрацию на +текущей странице, он выяснит, можно ли создать страницу плавающих +объектов, содержащую эту иллюстрацию и, возможно, некоторые таблицы из +очереди таблиц. Если для отдельной страницы материала еще не +накопилось, \LaTeX{} начинает новую страницу и снова рассматривает +иллюстрацию, как если бы она только что появилась в тексте. + +В определенных случаях может быть необходимо использовать команду +\begin{lscommand} +\ci{clearpage} или даже \ci{cleardoublepage} +\end{lscommand} + +\noindent Она указывает \LaTeX{} немедленно разместить все плавающие +объекты, остававшиеся в очередях, и затем начать новую страницу. +\ci{cleardoublepage}, помимо этого, начинает новую правостороннюю +страницу. + +Позже вы узнаете, как включать в ваши документы \LaTeX{} рисунки в +формате \textsc{PostScript}. + + +\section{Защита хрупких команд} + +Текст, заданный в аргументах команд наподобие \ci{caption} или +\ci{section}, появляется в документе больше одного раза (например, в +оглавлении, в колонтитулах и в теле документа). Некоторые команды не +работают, будучи использованы в аргументах команд типа \ci{section}. +Их называют хрупкими командами\index{команды!хрупкие}. В частности, +хрупкими являются команды \ci{footnote} или \ci{phantom}. Для того, +чтобы они работали как предполагается, необходимо перед ними поставить +команду \ci{protect}. + +Команда \ci{protect} относится только к команде, непосредственно +следующей за ней; даже не к ее аргументам. В большинстве случаев +лишняя команда \ci{protect} не повредит. + +\begin{code} +\verb|\section{Я внимателен|\\ +\verb| \protect\footnote{и защищаю свои сноски}}| +\end{code} + +%%% Local Variables: +%%% mode: latex +%%% TeX-master: "lshort" +%%% End: diff --git a/Master/texmf-doc/doc/russian/lshort-russian/CHANGES b/Master/texmf-doc/doc/russian/lshort-russian/CHANGES deleted file mode 100644 index 25bd10af217..00000000000 --- a/Master/texmf-doc/doc/russian/lshort-russian/CHANGES +++ /dev/null @@ -1,355 +0,0 @@ -4.12 ----- -* fixed order of hebrwe letters to be 'alphabetic' -* fixed colons in table 3.7 (Rightarrow was captured by marovsym) -* added cyrguide bibliogrphay entry back in ... -* table head in eurotable translated to english -* remove kees.fig from Makefile -* some wording fixes to the cirillic section. -* added pdfstringdefDisableCommands to the preamble to fix some broken bookmarks -- Maksym Polyakov -* reworded the paragraph on the positionargument of the newsavebox command. - -4.11 ---- -* added graphic.tex file to source distro - -4.10 ----- -* Integrated EuroSymbol table from the french translation by Daniel Flipo -* Created new chapter: graphics with description on the picture environment by Urs Oswald. -* Moved Xy pics to the graphics chapter -* compile with cm-super fonts for now -* updates to the hyperref syntax table -- Maksym Polyakov -* rewritten sectons on fontencoding, inputencoding -- Maksym Polyakov -* section on cyrillic support -- Maksym Polyakov -* turned CTAN references into URLs as suggested by Maksym Polyakov -* minor updates to pdfscreen section as suggested by Maksym Polyakov -* other little spellers -* get rid of color in ps output ... we do not need it ... tobi -* added note on p{} to tabular section -* minor fixes to pdf section --- Matthias Dreier -* added note on changeing baselineskip instead of using linespread. -* added example for using the index command. - -4.0 ---- -* many minor fixes and edits in pagebreaks -* added note on cm-super -* punctuation, wording, big patch from Baron Schwartz -* Translated and integreated the pdfTeX description from the - franch version of lshort. -* Added descrion of the .fd files -* \part is available in article too -* small backports from the french translation -* drop atop and choose. Replace by binom -* put notes on Float Placing Permissions where they belong -* added eqref -* mention landscape option of default document classes -* mathcal update -* changed section headings in first sample -* drop latex structure figure from the intro as it is way to complex for a beginner to understand. -* drop LaTeX2e story ... who care these days -* added note on swiss use of >>guillemets<< -* added note on eurosymb -* added note on dvipdf -* added article on Korean Support -* added Xy Pic intro -* more symbols aded -- alex mai - -3.21 ----- -From Tobi -* Added some notes on problems when running latex to section 1.5 -* added oddsidemargin to layout graphics -* added note on the AE package -* added extension and font indexes -* mention optional label in bibitem -* rephrase hyphenation explanation -* added \aa to index -* rearranged PageLayout section -From Alexander Mai -* mini rewrites for math explanations -* improved makefile -* improved table environment spec - -From Daniel Flipo -* section on french language support - -From Maksym Polyakov -* parbox is not an evironment -* line 248 rephrasing - -3.20 ----- -From Alexander Mai -* tabular presentation of input encodings -* description of a typical commandline latex session -* \X{\lvert}&\X{\rvert}&\X{\lVert}&\X{\rVert} -* bigskip smallskip description -* new ctan reference -* cdot for the math section - -From Tobi -* added lshort.ist to insert letters between index sections -* added comment on plus and minus in setlength -* degree symbol -* moved fragile commands section to chapter 2 -* no more bad boxes ... neither over nor underfull -* no more oscilating text - -From Many -* spelling fixes - -3.19 ----- -changed wording on \apendix \frontmatter \backmatter ... -fixed pagebreaks in math chapter - -3.18 ----- -compile fixed for environments where TEXINPUTS is set -replace the environemnt command with lscommand - it seems command is too common .. (Alex Mai) - -3.17 ----- -Added more info on the inputenc package. -Added Section on German Language support. Sections for other languages are welcome. -Better explanation of the \section[xxx]{yyy} syntax -Changed wording for Cross Ref -Changed wording on Quotation Marks -added note on fbox. -added \underline command -\cleardoublepage goes to a righthand page -added \cline -added section on package installation contributed by Joseph Hilferty - -3.16 ----- -Fixed upload procedure -Some spelling fixes -Updated old URLs - -3.15 ----- -Integrated a number of spelling and logic fixes by BjЖrn Hvittfeldt - -3.14 ----- -Even better Makefile -Update TODO - -3.13 ----- -Better Makefile -Added description of Today, TeX, LaTeX, LaTeXe -Added description of file extensions you will find when working with latex -Some CTAN references fixed -Better explanation for hyphenation command -Added paragraph on typesetting tildes ... -Added example with multicol and borders (|c|) -Added Hamster disadvantage ... -How todo a tilde - -3.12 ----- -Replaced first section (TeX) as suggested by Michael John Downes in order to -be more in sync with the real events ... - -3.11 ----- -better explanation for sloppy/fussy -\sin and frinds in index -pointer to whitespace after non argument commands information in custom.tex - -3.10 ----- -removed some exess files from tar files - - -3.9 ---- -* included a number of minor fixes from Alexander Mai ... - -3.8 ---- -* Added sections on \phantom and \protect commands, based - on a contribution from Alexander Mai -* Added section on lines in array environments ... thanks Alex -* rephrased newcommand section ... again thnaks to Alex - -3.7 ---- -* re-release to for some even spelling :-) - -3.6 ---- -* released on CTAN ... - -3.5 ---- -* even smaller factual errors corrected ... - -3.4 ---- -* minor spelling fixes - -3.3 ---- -* lots of small patches from Prof Ripley ... -* fixed compile problem on first run ... -* properly packaged the whole thing .... - -3.2 ---- - -* added better explanation of the difference between newline and linebreak -* added about 1000 spell and detail fixed contributed by Hanspeter Schmid -* added new section: The Structure of Text and Language contributed by - Hanspeter Schmid -* added more verbose explanation about babel and hyphenation - - -3.1 ---- -* Var spell and other fixes. Especially the ftp.shsu.edu reference - has been fixed. - -3.0 ---- -* Restructuring of the Chapter 4 for didactical reasons ... -* moved some bits to the new Chapter 5. -* added 15 pages of new material ... - - -2.3 ---- -* it's slides and not slide ... p8 -* pointer to foiltex added ... p8 - -2.2 non beta 13/10/97 ---------------------- -* made the thing compile with pdftex and hyperref - -David Frey: -* Sensible copyright notice -* some mathematical error in math mode -* correct Murphy ... - -Cyril Goutte: -* typos - -Martin Maechler: -* an Inch is exactly 25.4 mm! - -2.2 7/11/95 ------------ -Christian Kern: - * Spelling, and some suggestions for new stuff to inlcude - -Young U. Ryu: - * Spelling and some errors in latex - -Cyril Goutte: - * Some additions for math - -Brian Ripley: - * Spelling, LateX 95/12/1 compatibility - * Some more real english .... :-) - * AMS-LaTeX now prefers eucal to euscript, so he has altered both - lssym.tex and lshort2e.sty. - * He has corrected some examples in chapter 3 which would be regarded - as bad practice in mathematical typesetting. - * He has added a section on bold symbols, and conditionals for amsbsy. - - -2.1 17/6/1995 -------------- -Rasmus Borup Hansen: - * tonns of spelling mistakes and some suggestions for more logic ... - -Josef Tkadlec: - * some spellings - * all new hopefully even more usefull maths tables ... - -2.0 5/6/1995 ------------ -Mike Ressler: - * Fixed Loads of spelling Mistakes. -1.9.9: 16/5/95 ---------------- -Tobi: - * General Makeover - - * Added Preface. - - * Added example to math.tex - - * Introduced intro environment. I am going to add a short describtion about - what the user can expect, to each chapter. - - * Page Layout. spec.tex now contains a copy of the Geometry page layout - parameters page. Provided by the layout package from the tools bundle. - - * newcommand, newenvironament and newtheorem are described. - - * new dynamic document title - - * using fancy headings for header. - -1.2: 8/2/95 ------------- -Tobi: -Revoved all | | in an attempt to make -the document latex2html compatible ... failed :-( - -Elliot: -* Odd spelling mistakes - -David Jones: -* "Whitespace Description" ... - -Byron: -* Many Spelling fixes Some requests for examples - -Partl: -* Fixed Irene Hyna addr - -Martien: -* "Character" spelling - -Claus: -* ref to indexing without backslash ... - - -1.1: 17/11/94 ------------------- -Eric: -* Spelling. -* Removed numerical from section 1.3.3 (suggesting \3 as a valid command) -* \quad as MATH spacing -* No Pagenumber on first Page - -Mike: -* Fixed @{} Discussion (thanks) - -David: -* Letter case in \hyphenation ignored -* `|-|.'' -* shelf\mbox{}ful because TeX can `forget' {} after hyphenation attempt -* pointer to dcolumn package -* standard calsses assume [tbp] ! -* Pointer to amstex and exscale package added to \big description -* Thanks for symbols.tex -* |*| and | | as forbidden delimiters with verb -* refrence to amsfonts removed -* LaTeX \vspace works within a paragraph ... (-> normally) -* Pointer to graphguide.tex - -Tobi: -* `horizontal' and Page Style Indexentries -* Odd Spell Fix -* pagestyle index entries -* Commented out display style example, to keep total size down to 58 Pages -* Fixed eufrak problem thanks David and Martien - diff --git a/Master/texmf-doc/doc/russian/lshort-russian/MANIFEST b/Master/texmf-doc/doc/russian/lshort-russian/MANIFEST deleted file mode 100644 index 22f673c1616..00000000000 --- a/Master/texmf-doc/doc/russian/lshort-russian/MANIFEST +++ /dev/null @@ -1,24 +0,0 @@ -00README -CHANGES -TODO -MANIFEST -Makefile -README -TRANSLATIONS -fixdate.pl -src/biblio.tex -src/contrib.tex -src/custom.tex -src/fancyhea.sty -src/lshort.sty -src/lshort.tex -src/lssym.tex -src/graphic.tex -src/math.tex -src/mylayout.sty -src/overview.tex -src/spec.tex -src/things.tex -src/title.tex -src/typeset.tex -src/lshort.ist diff --git a/Master/texmf-doc/doc/russian/lshort-russian/Makefile b/Master/texmf-doc/doc/russian/lshort-russian/Makefile deleted file mode 100644 index a3d66fe1031..00000000000 --- a/Master/texmf-doc/doc/russian/lshort-russian/Makefile +++ /dev/null @@ -1,64 +0,0 @@ -# pstops "4:0L@0.8(22.5cm,-0.6cm)+1L@0.8(22.5cm,13.3cm),2L@0.8(22.5cm,-0.6cm)+3L@0.8(22.5cm,13.3cm)" \ -SHELL = /bin/sh -VERS = 4.12 - -OTHER = README CHANGES -FILES = src/biblio.tex src/math.tex src/things.tex src/contrib.tex src/lshort.sty src/mylayout.sty src/title.tex \ - src/custom.tex src/lshort.tex src/overview.tex src/typeset.tex src/fancyhea.sty src/lssym.tex src/spec.tex src/graphic.tex - -# Define some variables -LATEX=latex -PDFLATEX=pdflatex -MAKEINDEX=rumakeindex - - -# The default targets -all: lshort.dvi lshort.ps lshort-book.ps lshort.pdf - - -lshort.dvi: $(FILES) - -mkdir texbuild - (TEXINPUTS=.:`pwd`/src:${TEXINPUTS:-:} && export TEXINPUTS && cd texbuild && \ - $(LATEX) lshort && $(LATEX) lshort && (cd ../src; $(MAKEINDEX) lshort ) && \ - $(LATEX) lshort && $(LATEX) lshort && mv lshort.dvi ..) - -lshort.ps: lshort.dvi - (T1FONTS=.:`pwd`/eurofont: && export T1FONTS && dvips -Pcmz -olshort.ps lshort.dvi ) - rm texbuild/* - -lshort-book.ps: lshort.ps - psbook lshort.ps out.ps - pstops "4:0L@0.8(22.76cm,-0.6cm)+1L@0.8(22.76cm,13.45cm),3R@0.8(-1.38cm,16.25cm)+2R@0.8(-1.38cm,30.3cm)" \ - out.ps lshort-book.ps - rm out.ps - -lshort.pdf: $(FILES) - -mkdir pdfbuild - (T1FONTS=.:`pwd`/eurofont: && export T1FONTS && TEXINPUTS=.:`pwd`/src:${TEXINPUTS:-:}&&export TEXINPUTS&& cd pdfbuild&& \ - $(PDFLATEX) lshort&& $(PDFLATEX) lshort&& \ - $(MAKEINDEX) -s ../src/lshort.ist lshort&&$(PDFLATEX) lshort&& \ - (thumbpdf --resolution 10 lshort.pdf && $(PDFLATEX) lshort)&& \ - mv lshort.pdf .. ) - rm pdfbuild/* - -src/title.tex: Makefile - perl fixdate.pl $(VERS) < src/title.tex > src/title.tex2 && mv src/title.tex2 src/title.tex - -quick: $(FILES) - (TEXINPUTS=`pwd`/src:$(TEXINPUTS)&& export TEXINPUTS&& cd texbuild&& \ - $(LATEX) lshort&& mv lshort.dvi ..) - - -tar: src/title.tex - ln -s . lshort-$(VERS) - gtar -zcvf lshort-$(VERS).src.tar.gz `awk -e '{print "lshort-$(VERS)/"$$1}' MANIFEST` - rm lshort-$(VERS) - -dist: tar - cp lshort-$(VERS).src.tar.gz CHANGES README lshort-book.ps lshort.dvi lshort.pdf lshort.ps $(HOME)/public_html/lshort/ - lftp -e 'cd incoming;mkdir lshort-$(VERS);cd lshort-$(VERS);mput lshort-$(VERS).src.tar.gz CHANGES README lshort-book.ps lshort.dvi lshort.pdf lshort.ps;quit' ftp.tex.ac.uk - (gecho "Robin,\n\nI have uploaded lshort-$(VERS) to ftp.tex.ac.uk:/incoming/lshort-$(VERS).\n\nIf you think it is appropriate, announce it please.\n\nThanks and cheers\ntobi\n\n\n--";fortune -s shakes goethe) | mailx -s "Lshort Upload (note the quote)" ctan@dante.de - (gecho "Folks,\n\nI have created lshort-$(VERS). It is available from http://people.ee.ethz.ch/~oetiker/lshort.\n\nCheers tobi\n\n\n--";fortune -s shakes goethe) | mailx -s "Lshort $(VERS)" `cat TRLIST` - -clean: - rm -rf texbuild pdfbuild diff --git a/Master/texmf-doc/doc/russian/lshort-russian/README b/Master/texmf-doc/doc/russian/lshort-russian/README deleted file mode 100644 index 06bc77e4dfd..00000000000 --- a/Master/texmf-doc/doc/russian/lshort-russian/README +++ /dev/null @@ -1,76 +0,0 @@ - The not so Short Introduction to LaTeX ------------------------------------------------------------------------- - by Tobias Oetiker - - If you want to learn how to write your documents with LaTeX, - this introduction is for you. It is not about setting up a - LaTeX system. While it is not as comprehensive as Lamport's book, - it should be sufficient in most cases. - - To print the document, there are several possibilities: - - a) Copy one of the ps files to your printer: - - lshort.ps - lshort-book.ps A4/booklet/duplex - - NOTE for Abt IIIB: you can print the booklet version to - the VPP printer with - - vpp -dest=etzj61 lshort-book.ps - or - vpp -dest=etzd96 lshort-book.ps - - b) Print the lshort2e.dvi file with a dvi-driver. (You need to - have the AMS math fonts installed your system. If you don't, - your dvi-driver will complain.) - - c) Rebuild the whole document from scratch by LaTeXing - lshort2e.tex. (If you don't have the AMS classes installed, the - relevant parts of the document will be left out, but it - will format without problem. After latexing the document twice, - you should use makeindex to generate a new index file. - - (to get the adobe euro symbol right you need to install the - ftp://ftp.adobe.com/pub/adobe/type/win/all/eurofont.exe as described in - http://www.ctan.org/tex-archive/fonts/euro/latex/europs/README.europs) - - The preformatted versions of the document are set for double sided - printing on A4 paper. If you want a single sided version, you need to - replace "twoside" by "oneside" in the parameters list of the - \documentclass command in lshort2e.tex. To produce a small booklet (A5) - you can use the pre generated ps file of you can use your dvi-driver to - shrink the output and then use pstops to paste the resulting pages - together in the right order. - - To produce a A5 Booklet from source, I recommend the following procedure, - on the twoside lshort2e.dvi: - - *) dvips -x800 -P?? -olshort.ps lshort.dvi - (?? is the name of the printer you want to print the booklet) - - *) psbook lshort2e.ps out.ps - - *) pstops "4:0L(27.8cm,-1.5cm)+1L(27.8cm,13.3cm)" out.ps p1.ps - (p1.ps now contains the front pages) - - *) pstops "4:2L(27.8cm,-1.5cm)+3L(27.8cm,13.3cm)" out.ps p2.ps - (p2.ps contains the back pages) - - If have a doublex(shoprtbind) Printer: - - *) pstops "4:0L(27.8cm,-1.5cm)+1L(27.8cm,13.3cm),2L(27.8cm,-1.5cm)+3L(27.8cm,13.3cm)" out.ps lshort-book.ps - - If you have postscript versions of the latex Fonts you can use - (make sure your printer has enough memmory for this) - - *) dvips -Pcmz -olshort.ps lshort.dvi - *) psbook lshort.ps out.ps - *) pstops "4:0L@0.8(22.76cm,-0.6cm)+1L@0.8(22.76cm,13.45cm),3R@0.8(-1.38cm,16.25cm)+2R@0.8(-1.38cm,30.3cm)" out.ps lshort-book.ps - - - Cheers - Tobias Oetiker oetiker@ee.ethz.ch - -PS: If you have any comment, or just find the book helpful, - please let me know. diff --git a/Master/texmf-doc/doc/russian/lshort-russian/fixdate.pl b/Master/texmf-doc/doc/russian/lshort-russian/fixdate.pl deleted file mode 100644 index eec297f9e71..00000000000 --- a/Master/texmf-doc/doc/russian/lshort-russian/fixdate.pl +++ /dev/null @@ -1,6 +0,0 @@ -chomp ($d = `date +"%d %B, %Y"`); -$v = pop @ARGV; -while (<>) { - s/^Version.+/Version~$v, $d/; - print; -} diff --git a/Master/texmf-doc/doc/russian/lshort-russian/lshort.dvi b/Master/texmf-doc/doc/russian/lshort-russian/lshort.dvi deleted file mode 100644 index 907d6146aee..00000000000 Binary files a/Master/texmf-doc/doc/russian/lshort-russian/lshort.dvi and /dev/null differ diff --git a/Master/texmf-doc/doc/russian/lshort-russian/lshortru.pdf b/Master/texmf-doc/doc/russian/lshort-russian/lshortru.pdf deleted file mode 100644 index 16376a2ec8a..00000000000 Binary files a/Master/texmf-doc/doc/russian/lshort-russian/lshortru.pdf and /dev/null differ diff --git a/Master/texmf-doc/doc/russian/lshort-russian/src/biblio.tex b/Master/texmf-doc/doc/russian/lshort-russian/src/biblio.tex deleted file mode 100644 index 903d5d30f8d..00000000000 --- a/Master/texmf-doc/doc/russian/lshort-russian/src/biblio.tex +++ /dev/null @@ -1,98 +0,0 @@ -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Contents: The Bibliography -% File: biblio.tex (lshort2e.tex) -% $Id: biblio.tex,v 1.1.1.1 2002/02/26 10:04:20 oetiker Exp $ -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\begin{thebibliography}{99} -\addcontentsline{toc}{chapter}{\bibname} -\bibitem{manual} Leslie Lamport. \newblock \emph{{\LaTeX:} A Document - Preparation System}. \newblock Addison-Wesley, Reading, - Massachusetts, второе издание, 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} Michel Goossens, Frank Mittelbach and Alexander - Samarin. \newblock \emph{The {\LaTeX} Companion}. \newblock - Addison-Wesley, Reading, Massachusetts, 1994, - ISBN~0-201-54199-8.\footnote{Издан русский перевод: М.Гуссенс, - Ф.Миттельбах, А.Самарин. \emph{Путеводитель по пакету \LaTeX{} и его - расширению \LaTeXe{}}. Мир, 1999, ISBN~5-03-003325-4.} - -\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.\footnote{Издан русский перевод: М.Гуссенс, - С.Ратц и Ф.Миттельбах. \emph{Путеводитель по пакету \LaTeX{} и его - графическим расширениям}. Мир, 2002, ISBN~5-03-003388-2.} - -\bibitem{local} Каждая установка \LaTeX{} должна содержать так - называемый \emph{\LaTeX{} Local Guide}, объясняющий особенности - локальной системы. Он должен находиться в файле, называющемся - \texttt{local.tex}. К сожалению, некоторые ленивые администраторы - такого документа не предоставляют. В таком случае просите о помощи - местного \LaTeX{} гуру. - -\bibitem{usrguide} \LaTeX3 Project Team. \newblock \emph{\LaTeXe~for - authors}. \newblock Включен в поставку \LaTeXe{} как - \texttt{usrguide.tex}. - -\bibitem{clsguide} \LaTeX3 Project Team. \newblock \emph{\LaTeXe~for - Class and Package writers}. \newblock Включен в поставку \LaTeXe{} - как \texttt{clsguide.tex}. - -\bibitem{fntguide} \LaTeX3 Project Team. \newblock \emph{\LaTeXe~Font - selection}. \newblock Включен в поставку \LaTeXe{} как - \texttt{fntguide.tex}. - -\bibitem{graphics} D.~P.~Carlisle. \newblock \emph{Packages in the - `graphics' bundle}. \newblock Входит в состав комплекта `graphics' как - \texttt{grfguide.tex}, доступен оттуда же, откуда ваша поставка \LaTeX{}. - -\bibitem{verbatim} Rainer~Sch\"opf, Bernd~Raichle, Chris~Rowley. -\newblock \emph{A New Implementation of \LaTeX's verbatim - Environments}. - \newblock Входит в состав комплекта `tools' как - \texttt{verbatim.dtx}, доступен оттуда же, откуда ваша поставка \LaTeX{}. - -\bibitem{cyrguide} Vladimir Volovich, Werner Lemberg and \LaTeX3 Project Team. - \newblock \emph{Cyrillic languages support in \LaTeX}. \newblock Включен в - поставку \LaTeXe{} как \texttt{cyrguide.tex}. - -\bibitem{catalogue} Graham~Williams. \newblock \emph{The TeX - Catalogue} полный список множества пакетов, имеющих отношение к - \TeX{} и \LaTeX{} \newblock Доступен в Интернет по адресу - \texttt{\CTAN|help/Catalogue/catalogue.html|} - -\bibitem{eps} Keith~Reckdahl. \newblock \emph{Using EPS Graphics in - \LaTeXe{} Documents} объясняет все, что вы когда бы то ни было - хотели знать про EPS файлы и их использование в документах \LaTeX{}. - \newblock Доступен в Интернет по адресу - \texttt{\CTAN|info/epslatex.ps|} - -\bibitem{xy-pic} Kristoffer H. Rose. - \newblock \emph{\Xy-pic User's Guide}. \newblock - Доступен в Интеpнет с CTAN вместе с дистpибутивом \Xy-pic. - -\bibitem{metapost} John D. Hobby. - \newblock \emph{A User's Manual for MetaPost}. \newblock - Доступен по адресу \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{}}, содержит набор исходных текстов на - Java для генерации произвольных окружностей и эллипсов из окружения \texttt{picture}, - и \emph{MetaPost - A Tutorial}. - \newblock Оба доступны по адресу \url{http://www.ursoswald.ch} - -\end{thebibliography} - - -%%% Local Variables: -%%% mode: latex -%%% TeX-master: "lshort2e" -%%% End: diff --git a/Master/texmf-doc/doc/russian/lshort-russian/src/contrib.tex b/Master/texmf-doc/doc/russian/lshort-russian/src/contrib.tex deleted file mode 100644 index 5264159f1d3..00000000000 --- a/Master/texmf-doc/doc/russian/lshort-russian/src/contrib.tex +++ /dev/null @@ -1,140 +0,0 @@ -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Contents: Who contributed to this Document -% $Id: contrib.tex,v 1.1.1.1 2002/02/26 10:04:20 oetiker Exp $ -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\chapter{Благодарности} - -\noindent Многое из включенного в это введение материала исходит из -австрийского введения в \LaTeX\ 2.09, написанного на немецком: - -\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} - -Если вы интересуетесь немецким вариантом документа, вы можете найти -его версию, которую J\"org Knappen обновил для \LaTeXe{}, по адресу\\ -\texttt{\CTAN|info/lshort/german|}. - -\newpage -\noindent В процессе подготовки этого документа я просил о рецензиях в -\texttt{comp.text.tex}. Я получил множество откликов. Читатели помогли -улучшить эту книжку исправлениями, предложениями и материалами. Они -старались помочь мне довести документ до его нынешнего состояния. Я -хотел бы искренне их всех поблагодарить. Естественно, все ошибки, -которые вы найдете в этой книжке,~--- мои. Случайно попавшее сюда -правильно написанное слово наверняка обязано своим появлением репликой -от одного из нижеперечисленных. - - -{\flushleft\small\sloppy -Rosemary~Bailey, %r.a.bailey@qmw.ac.uk 0.2 -Marc~Bevand, % -Friedemann~Brauer, %fbrauer@is.dal.ca 3.4 -Jan~Busa, % -Markus~Br\"uhwiler,\\ % -Pietro~Braione, % -David~Carlisle, %GONE carlisle@cs.man.ac.uk 1.0 -Jos\'e~Carlos~Santos, % -Mike~Chapman, %chapman@eeh.ee.ethz.ch 3.16 -Pierre~Chardaire,\\ % -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, % 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, % -Frank, %frank@freezone.co.uk 11 Feb 2000 -Kasper~B.~Graversen, % -Arlo~Griffiths, % -Alexandre~Guimond, %guimond@IRO.UMontreal.CA 0.9 -Andy~Goth, % -Cyril~Goutte, %goutte@ei.dtu.dk 2.1 2.2 -Greg~Gamble, %gregg@maths.uwa.edu.au 2.2 -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, % -Bj\"orn Hvittfeldt,\\ %bjorn@hvittfeldt.com 3.13 -Martien~Hulsen, %M.A.Hulsen@WbMt.TUDelft.NL 1.0 1.1 -Werner~Icking, % 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, % 3.01 -Michael~Koundouros, % -Andrzej~Kawalec, %GONE akawalec@prz.rzeszow.pl 1.9.9 -Alain~Kessi,\\ %ALAIN.KESSI@HOTMAIL.COM 2.2 -Christian~Kern, %ck@unixen.hrz.uni-oldenburg.de 2.1 -J\"org~Knappen, %knappen@vkpmzd.kph.uni-mainz.de 0.1 -Kjetil~Kjernsmo, % 3.2 -Maik~Lehradt, %greek@uni-paderborn.de 0.1 -R\'emi~Letot, % -Johan~Lundberg, %p99jlu@physto.se -Alexander~Mai, %Alexander.Mai@physik.tu-darmstadt.de 3.8 -Martin~Maechler, % 2.2 -Aleksandar~S~Milosevic, % -Henrik~Mitsch, % -Claus~Malten,\\ %GONE 1.1 -Kevin~Van~Maren, % 24 Nov 1999 -Philipp~Nagele, % Philipp.Nagele@t-systems.com -Lenimar~Nunes~de~Andrade, % Fri, 12 Nov 1999 -Urs~Oswald,\\ % osurs@bluewin.ch -Demerson~Andre~Polli, % polli@linux.ime.usp.br -Maksym~Polyakov % -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 -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 -Baron~Schwartz, % -Christopher~Sawtell, % 1 Sep 1999 -Geoffrey~Swindale, % -Laszlo~Szathmary, % -Boris~Tobotras, % -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, % 11 Oct 1999,3.16 -David~Woodhouse, % 3.16 -Chris~York, % 21 Nov 1999 -Fritz~Zaucker, %zaucker@ee.ethz.ch 3.0 -Rick~Zaccone, %zaccone@bucknell.edu 2.2 -и Mikhail~Zotov. %zotov@eas.npi.msu.su 3.1 -} - -\vspace*{\stretch{1}} - - - -\pagebreak -\endinput -%%% Local Variables: -%%% mode: latex -%%% TeX-master: "lshort" -%%% End: -% Local Variables: -% mode: flyspell -% End: diff --git a/Master/texmf-doc/doc/russian/lshort-russian/src/custom.tex b/Master/texmf-doc/doc/russian/lshort-russian/src/custom.tex deleted file mode 100644 index 0dda290f8a0..00000000000 --- a/Master/texmf-doc/doc/russian/lshort-russian/src/custom.tex +++ /dev/null @@ -1,862 +0,0 @@ -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Contents: Customising LaTeX output -% $Id: custom.tex,v 1.1.1.1 2002/02/26 10:04:20 oetiker Exp $ -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\chapter{Настройка \LaTeX} - -\begin{intro} - Произведенные с использованием изученных до сих пор команд документы - будут выглядеть вполне приемлемо для широкой аудитории. Они не - выглядят очень модно, подчиняясь зато всем правилам хорошего тона в - наборе, поэтому их легко читать и на них приятно смотреть. - - Но бывают ситуации, в которых \LaTeX{} не предоставляет команду или - окружение, удовлетворяющие вашим ожиданиям, или производимый - некоторой существующей командой вывод не отвечает вашим требованиям. - - В этой главе даются некоторые советы по обучению \LaTeX{} новым - вещам, и тому, как сделать его вывод отличающимся от того, что - производится по умолчанию. -\end{intro} - - -\section{Новые команды, окружения и пакеты} - -Как вы заметили, все вводимые в этой книге команды верстаются в рамке -и включаются в указатель в конце книги. Вместо того, чтобы напрямую -использовать необходимые для этого команды \LaTeX{}, автор создал -\wi{пакет}, в котором определил новые команды и окружения для этой -цели. Теперь можно просто писать: - -\begin{example} -\begin{lscommand} -\ci{dum} -\end{lscommand} -\end{example} - -В этом примере используются как новое окружение, называющееся -\ei{lscommand} и отвечающее за рисование рамки вокруг команды, так и -новая команда, называющаяся \ci{ci} и верстающая название команды и -заносящая соответствующий элемент в указатель. Вы можете в этом -убедиться, поискав команду \ci{dum} в указателе в конце книги, где вы -найдете запись для \ci{dum}, указывающую на эту страницу. - -Если автор когда-нибудь решит, что ему не нравятся больше команды, -сверстанные в рамке, он просто изменит определение окружения -\texttt{lscommand}. Это намного проще, чем пройти по всему документу, -выискивая все места, где использованы общие команды \LaTeX{} для -рисования рамки вокруг слов. - - -\subsection{Новые команды} - -Чтобы добавить ваши собственные команды, пользуйтесь командой - -\begin{lscommand} -\ci{newcommand}\verb|{|% - \emph{название}\verb|}[|\emph{число}\verb|]{|\emph{определение}\verb|}| -\end{lscommand} - -Обычно эта команда требует двух аргументов. \emph{Название} команды, -которую вы создаете, и \emph{определение} команды. Аргумент -\emph{число} в квадратных скобках не обязателен. Он применяется для -создания новых команды, которые, в свою очередь, принимают до 9 -аргументов. - -Следующие два примера должны вам помочь получить представление о -команде. Первый пример определяет новую команду, называющуюся -\ci{tnss}, что является сокращением от ``The Not So Short Introduction -to \LaTeXe''. Такая команда пригодится, если вам много раз приходится -писать название этой книги. - -\begin{example} -\newcommand{\tnss}{The not - so Short Introduction to - \LaTeXe} -% в теле документа: -``\tnss'' \ldots{} ``\tnss'' -\end{example} - -Следующий пример показывает, как определить новую команду, принимающую -один аргумент. Метка \verb|#1| заменяется на заданный аргумент. Если вы -хотите использовать более одного аргумента, пользуйтесь \verb|#2|, и -так далее. - -\begin{example} -\newcommand{\txsit}[1] - {\emph{#1} краткое - введение в \LaTeXe} -% в теле документа -\begin{itemize} -\item \txsit{Не очень} -\item \txsit{Очень} -\end{itemize} -\end{example} - -\LaTeX{} не позволит вам создать новую команду, которая бы изменяла -уже существующую. Но для случая, когда вы явно хотите изменить -существующую команду, есть специальная команда: \ci{renewcommand}. Она -имеет тот же синтаксис, что и команда \verb|\newcommand|. - -В некоторых случаях может пригодиться команда \ci{providecommand}. Она -работает так же, как \ci{newcommand}, но, если команда уже определена, -то \LaTeXe{} ее молча проигнорирует. - -Существуют определенные особенности, связанные с пробелами после -команд \LaTeX{}. Подробности смотрите на -странице~\pageref{whitespace}. - - -\subsection{Новые окружения} - -Аналогичная команде \verb|\newcommand|, существует команда для создания -вашего собственного окружения, \ci{newenvironment}, имеющая следующий -синтаксис: - -\begin{lscommand} -\ci{newenvironment}\verb|{|% - \emph{название}\verb|}[|\emph{номер}\verb|]{|% - \emph{начало}\verb|}{|\emph{конец}\verb|}| -\end{lscommand} - -Подобно команде \verb|\newcommand|, \ci{newenvironment} можно -использовать с необязательным аргументом, или без него. Материал, -заключенный в аргумент \emph{начало}, обрабатывается до обработки -текста внутри окружения. Материал, заключенный в аргумент -\emph{конец}, обрабатывается, когда встречается команда -\verb|\end{|\emph{название}\verb|}|. Следующий пример иллюстрирует -использование команды \ci{newenvironment}. - -\begin{example} -\newenvironment{king} - {\rule{1ex}{1ex}% - \hspace{\stretch{1}}} - {\hspace{\stretch{1}}% - \rule{1ex}{1ex}} - -\begin{king} -Мои смиренные подданные\ldots -\end{king} -\end{example} - -Аргумент \emph{номер} используют так же, как и для команды -\verb|\newcommand|. \LaTeX{} контролирует, чтобы вы не определяли уже -существующее окружение. Если вы заходите все же это сделать, -пользуйтесь командой \ci{renewenvironment}. Она имеет тот же -синтаксис, что ли \ci{newenvironment}.\sloppypar - -Команды, использованные в этом примере, будут разъяснены позже: -описание команды \ci{rule} см. на стр.~\pageref{sec:rule}, команда -\ci{stretch} описана на стр.~\pageref{cmd:stretch}, а описание команды -\ci{hspace} находится на стр.~\pageref{sec:hspace}. - -\subsection{Ваш собственный пакет} - -Когда вы определяете множество новых окружений и команд, преамбулы -ваших документов становятся очень большими. В этой ситуации -представляется разумным создать пакет \LaTeX{}, содержащий определения -всех ваших команд и окружений. Потом можно командой \ci{usepackage} -использовать пакет в ваших документах.\sloppypar - -\begin{figure}[!htbp] -\begin{lined}{\textwidth} -\begin{verbatim} -% Пакет для демонстрации. Tobias Oetiker. -\ProvidesPackage{demopack} -\newcommand{\tnss}{Не очень краткое введение в \LaTeXe} -\newcommand{\txsit}[1]{\emph{#1} краткое - введение в \LaTeXe} -\newenvironment{king}{\begin{quote}}{\end{quote}} -\end{verbatim} -\end{lined} -\caption{Пример пакета} \label{package} -\end{figure} - -Создание пакета в основном состоит из переноса содержимого вашей -преамбулы в отдельный файл с именем, заканчивающимся на -\texttt{.sty}. Есть только одна специальная команда, которую вы должны -использовать -\begin{lscommand} -\ci{ProvidesPackage}\verb|{|\emph{название пакета}\verb|}| -\end{lscommand} -\noindent в самом начале файла с вашим -пакетом. \verb|\ProvidesPackage| указывает \LaTeX{} название пакета, -что позволяет ему выдавать осмысленное сообщение об ошибке, когда вы -пытаетесь включать пакет дважды. Иллюстрация~\ref{package} показывает -маленький пример пакета, содержащего определенные в вышеприведенных -примерах команды. - - -\section{Шрифты и их размеры} - - -\subsection{Команды смены шрифта} - -\index{шрифт}\index{шрифт!размер} \LaTeX{} выбирает подходящее -начертание и размер шрифта, основываясь на логической структуре -документа (разделы, сноски,~\ldots). Иногда может быть желательно -сменить шрифт вручную. Для этого вы можете пользоваться командами, -перечисленными в таблицах~\ref{fonts} и~\ref{sizes}. Действительный -размер каждого шрифта определяется дизайном и зависит от класса и -опций документа. Таблица~\ref{tab:pointsizes} показывает абсолютные -размеры, соответствующие этим командам в стандартных классах -документов. - -% Эх, не перевести игру слов :( -%\begin{example} -%{\small The small and -%\textbf{bold} Romans ruled} -%{\Large all of great big -%\textit{Italy}.} -%\end{example} - -\begin{example} - {\small Маленький, - \textbf{полужирный}, - \Large большой, - \textit{курсив}.} -\end{example} - -Важная особенность \LaTeXe{} заключается в том, что атрибуты шрифта -независимы. Это значит, что вы можете давать команды смены размера или -даже семейства шрифта, сохраняя при этом установки атрибутов наклона -или насыщенности. - -В \emph{математическом режиме} вы можете использовать \emph{команды} -смены шрифта, чтобы временно выйти из \emph{математического режима} и -ввести нормальный текст. Если вы хотите переключиться на другой шрифт -для верстки математики, то для этого существует отдельный набор -команд. Смотрите таблицу~\ref{mathfonts}. - -\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. -% -\begin{tabular}{@{}rl@{\qquad}rl@{}} -\fni{textrm}\verb|{...}| & \textrm{\wi{прямой шрифт}}& -\fni{textsf}\verb|{...}| & \textsf{\wi{без засечек}}\\ -\fni{texttt}\verb|{...}| & \texttt{пишущая машинка}\\[6pt] -\fni{textmd}\verb|{...}| & \textmd{нормальный}& -\fni{textbf}\verb|{...}| & \textbf{\wi{полужирный}}\\[6pt] -\fni{textup}\verb|{...}| & \textup{\wi{прямой шрифт}}& -\fni{textit}\verb|{...}| & \textit{\wi{курсив}}\\ -\fni{textsl}\verb|{...}| & \textsl{\wi{наклонный шрифт}}& -\fni{textsc}\verb|{...}| & \textsc{\wi{капитель}}\\[6pt] -\ci{emph}\verb|{...}| & \emph{выделенный шрифт} & -\fni{textnormal}\verb|{...}| & \textnormal{обычный} -\end{tabular} - -\bigskip -\end{lined} -\end{table} - - -\begin{table}[!bp] -\index{шрифт!размер} -\caption{Размеры шрифта} \label{sizes} -\begin{lined}{12cm} -\begin{tabular}{@{}ll} -\fni{tiny} & \tiny крошечный \\ -\fni{scriptsize} & \scriptsize очень маленький\\ -\fni{footnotesize} & \footnotesize довольно маленький \\ -\fni{small} & \small маленький \\ -\fni{normalsize} & \normalsize нормальный \\ -\fni{large} & \large большой -\end{tabular}% -\qquad\begin{tabular}{ll@{}} -\fni{Large} & \Large еще больше \\[5pt] -\fni{LARGE} & \LARGE очень большой \\[5pt] -\fni{huge} & \huge огромный \\[5pt] -\fni{Huge} & \Huge громадный -\end{tabular} - -\bigskip -\end{lined} -\end{table} - -\begin{table}[!tbp] -\caption{Абсолютные размеры шрифтов в стандартных классах} -\label{tab:pointsizes} -\label{tab:sizes} -\begin{lined}{12cm} -\begin{tabular}{lrrr} -\multicolumn{1}{c}{\textit{Размер}} & -\multicolumn{1}{c}{\textit{10pt (по умолчанию)}} & - \multicolumn{1}{c}{\textit{опция 11pt}} & - \multicolumn{1}{c}{\textit{опция 12pt}}\\[6pt] -\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} - -\bigskip -\end{lined} -\end{table} - -\begin{table}[!bp] -\caption{Математические шрифты} \label{mathfonts} -\begin{lined}{\textwidth} -\begin{tabular}{@{}lll@{}} -\textit{Команда}&\textit{Пример}& \textit{Вывод}\\[6pt] -\fni{mathcal}\verb|{...}|& \verb|$\mathcal{B}=c$|& $\mathcal{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} -\end{table} - -В связи с командами смены размера шрифта заметную роль играют -\wi{фигурные скобки}. Они используются для построения -\emph{групп}. Группы ограничивают область действия большинства команд -\LaTeX{}.\index{группирование} - -\begin{example} - Ему нравятся {\LARGE - большие и {\small - маленькие} буквы}. -\end{example} - -Команды, влияющие на размер шрифта, влияют также на расстояние между -строками, но только если соответствующий абзац заканчивается внутри -области действия команды. Поэтому закрывающая фигурная скобка \verb|}| -не должна стоять слишком рано. Заметьте положение команды \verb|\par| -в следующих двух примерах\footnote{\texttt{\bs{}par} эквивалентен - пустой строке.}: -\begin{example} -{\Large Не читайте это! Это -неправда. Верьте мне!\par} -\end{example} - -\begin{example} -{\Large Это тоже неправда. -Но помните, что я вру.}\par -\end{example} - -Если вы хотите применить команду изменения размера к целому абзацу -текста или больше того, то для этого лучше использовать синтаксис -окружения. - -\begin{example} - \begin{Large} - Это неправда. Но - что в наши дни\ldots - \end{Large} -\end{example} - -\noindent Это избавит вас от подсчета множества фигурных скобок. - - -\subsection{Опасность!} - -Как отмечено в начале этой главы, опасно усеивать ваши документы -явными командами, вроде только что описанных, потому что это -противоречит основной идее \LaTeX{}: разделению логической и -визуальной разметки вашего документа. Это значит, что, если вы -пользуетесь одними и теми же командами смены шрифта в разных местах -для верстки специального вида информации, вы должны использовать -\verb|\newcommand| и определить команду, <<оборачивающую>> в себя -команду смены шрифта. - -\begin{example} -% в преамбуле или пакете -\newcommand{\danger}[1]{\textbf{#1}} -% в документе -Не \danger{входите} в эту комнату. -Она занята \danger{машиной} -неизвестного назначения. -\end{example} - -Этот подход имеет то преимущество, что вы позже можете решить, что -хотите использовать другое визуальное представление -опасности,\trfootnote{danger} нежели -\verb|\textbf|, без необходимости пробираться через весь документ, -отыскивая все вхождения \verb|\textbf| и определяя, отмечает ли каждое -из них опасность или что-нибудь другое. - - -\subsection{Совет} - -Для завершения нашего путешествия в мир шрифтов и их размеров, -позвольте дать вам один совет: - -\begin{quote} - \underline{\textbf{Помните\Huge!}} \textit{Чем} - \textsf{Б\textbf{\LARGE О}\texttt{ЛЬ}\textsl{ШЕ}} шрифтов \Huge вы - \tiny используете \footnotesize \textbf{в} вашем \small - \texttt{документе}, \large \textit{тем} \normalsize легче - \textsc{его читать} и тем \textsl{\textsf{красивее}} он - б\large{}у\Large{}д\LARGE{}е\huge{}т\normalsize. -\end{quote} - - -\section{Интервалы} - - -\subsection{Интервалы между строками} - -\index{интервал!междустрочный} Если вам нужны б\'ольшие интервалы между -строками, то их значение можно изменить помещением в преамбулу команды -\begin{lscommand} -\ci{linespread}\verb|{|\emph{коэффициент}\verb|}| -\end{lscommand} -\noindent Для печати <<через полтора интервала>> пользуйтесь -\verb|\linespread{1.3}|, для печати <<через два интервала>>~--- -\verb|\linespread{1.6}|. По умолчанию этот коэффициент -равен~1.\index{интервал!двойной} - -Заметим, что эффект от команды \ci{linespread} довольно радикален, и -поэтому она не подходит для публикуемых работ. Поэтому, если у вас есть -весомые соображения для изменения межстрочного интервала, лучше пользуйтесь -следующей командой: - -\begin{lscommand} -\verb|\setlength{\baselineskip}{1.5\baselineskip}| -\end{lscommand} - -\begin{example} -{\setlength{\baselineskip}% - {1.5\baselineskip} -Этот абзац набран с интервалом в -1.5 раза больше предыдущего. Заметьте -команду \par{} в конце абзаца.\par} - -Ясно, зачем набрат этот абзац: он -показывает, что за закрывающейся -фигурной скобкой все вернулось к -нормальным установкам. -\end{example} - - -\subsection{Форматирование абзацев} -\label{parsp} - -Два параметра в \LaTeX{} влияют на верстку абзацев. Поместив в -преамбулу определения вида -\begin{code} -\ci{setlength}\verb|{|\ci{parindent}\verb|}{0pt}| \\ -\verb|\setlength{|\ci{parskip}\verb|}{1ex plus 0.5ex minus 0.2ex}| -\end{code} -вы измените внешний вид абзацев. Эти две строчки увеличивают -расстояние между абзацами и устанавливают абзацный отступ равным -нулю. - -Части \texttt{plus} и \texttt{minus} говорят \TeX{}, что он может -увеличивать и уменьшать интервал между абзацами на указанные величины, -если это необходимо для правильного размещения абзацев на странице. - -В Европе абзацы часто отделяют пробелами и не делают в них -отступа. Однако, имейте в виду, что это влияет также и на оглавление: -его строки тоже становятся теперь более разреженными. Чтобы этого -избежать, эти команды можно перенести из преамбулы документа -куда-нибудь после \verb|\tableofcontents|, или не использовать их -совсем, потому что в профессиональной книжной верстке используется -выделение абзацев красной строкой, а не пробелами. - -Если вы хотите сделать абзацный отступ в не имеющем его абзаце, то -вставьте в начало абзаца команду\footnote{Для добавления отступа к - первому абзацу после каждого заголовка раздела пользуйтесь пакетом - \pai{indentfirst} из комплекта `tools'.} -\begin{lscommand} -\ci{indent} -\end{lscommand} -\noindent Понятно, что эффект от нее будет только если -\verb|\parindent| не установлен равным нулю. - -Для создания абзаца без отступа первой командой абзаца можно сделать -\begin{lscommand} -\ci{noindent} -\end{lscommand} -\noindent Это может быть удобно, когда вы начинаете документ с текста, -а не с команды секционирования. - - -\subsection{Горизонтальные интервалы} - -\label{sec:hspace} -\LaTeX{} автоматически определяет пробелы между словами и -предложениями. Чтобы добавить горизонтальный -пробел\index{пробел!горизонтальный}, пользуйтесь -\begin{lscommand} -\ci{hspace}\verb|{|\emph{длина}\verb|}| -\end{lscommand} -Если такой интервал должен быть выдержан, даже если он приходится на -начало или конец строки, используйте \verb|\hspace*|, а не -\verb|\hspace|. В простейшем случае \emph{длина}~--- это просто число -и единица измерения. Наиболее важные единицы перечислены в -таблице~\ref{units}. \index{единицы}\index{длина} - -\begin{example} -Тут\hspace{1.5cm}пробел -в 1,5см. -\end{example} - -%\suppressfloats -\begin{table}[tbp] -\caption{Единицы размерности в \TeX{}} \label{units}\index{единицы} -\begin{lined}{9.5cm} -\begin{tabular}{@{}ll@{}} -\texttt{mm} & миллиметр $\approx 1/25$~дюйма \quad \demowidth{1mm} \\ -\texttt{cm} & сантиметр $=$ 10~mm \quad \demowidth{1cm} \\ -\texttt{in} & inch $=$ 25.4~mm \quad \demowidth{1in} \\ -\texttt{pt} & пункт $\approx 1/72$~дюйма $\approx \frac{1}{3}$~mm \quad\demowidth{1pt}\\ -\texttt{em} & примерная ширина буквы `M' текущего шрифта \quad \demowidth{1em}\\ -\texttt{ex} & примерная высота буквы `x' текущего шрифта \quad \demowidth{1ex} -\end{tabular} - -\bigskip -\end{lined} -\end{table} - -\label{cmd:stretch} -Команда -\begin{lscommand} -\ci{stretch}\verb|{|\emph{n}\verb|}| -\end{lscommand} -\noindent генерирует специальный <<резиновый>> пробел. Он -растягивается, заполняя все оставшееся места на строке. Если на одной -строке встречаются две команды -\verb|\hspace{\stretch{|\emph{n}\verb|}}|, то они растягиваются -пропорционально своим коэффициентам.\sloppypar - -\begin{example} -x\hspace{\stretch{1}} -x\hspace{\stretch{3}}x -\end{example} - -Пpи использовании гоpизонтальных интеpвалов вместе с текстом может -иметь смысл генеpиpовать интеpвал, pазмеp котоpого соотносится с -pазмеpом текущего шpифта. Этого можно добиться пpи помощи -относительных единиц pазмеpности \texttt{em} и \texttt{en}: - -\begin{example} -{\Large{}big\hspace{1em}y}\\ -{\tiny{}tin\hspace{1em}y} -\end{example} - - -\subsection{Вертикальные интервалы} - -Интервалы между абзацами, разделами, подразделами,~\ldots\ -определяются \LaTeX{} автоматически. При необходимости дополнительный -пробел \emph{между двумя абзацами} можно добавить командой -\begin{lscommand} -\ci{vspace}\verb|{|\emph{длина}\verb|}| -\end{lscommand} - -Обычно эта команда вставляется между двумя пустыми строчками. Если это -пространство должно сохраняться вверху или внизу страницы, используйте -вариант команды со звездочкой: \verb|\vspace*|.\index{пробел!вертикальный} - -Команду \verb|\stretch| вместе с \verb|\pagebreak| можно применять для -верстки текста на последней строке страницы или для вертикального -центрирования текста на странице. -\begin{code} -\begin{verbatim} -Некий текст\ldots - -\vspace{\stretch{1}} -А это окажется на последней строке страницы.\pagebreak -\end{verbatim} -\end{code} - -Дополнительный пробел между двумя строками \emph{одного} абзаца или -внутри таблицы указывается командой -\begin{lscommand} -\ci{\bs}\verb|[|\emph{длина}\verb|]| -\end{lscommand} - -При помощи \ci{bigskip} и \ci{smallskip} вы можете пропустить заранее -определенные вертикальные интервалы, не задумываясь о конкретных -числах. - -\section{Компоновка страницы} - -\begin{figure}[!hp] -\begin{center} -\makeatletter\@layout\makeatother -\end{center} -\vspace*{1.8cm} -\caption{Параметры компоновки страницы} -\label{fig:layout} -\end{figure} - -\index{компоновка страницы} -\LaTeXe{} позволяет указать \wi{размер бумаги} в команде -\verb|\documentclass|. Затем он автоматически выбирает правое -\wi{поле}. Но иногда предопределенные значения могут вас не -устроить. Безусловно, вы их можете изменить. -%no idea why this is needed here ... -\thispagestyle{fancyplain} Иллюстрация~\ref{fig:layout} показывает все -параметры, которые можно изменить. Она была сгенерирована пакетом -\pai{layout} из комплекта -`tools'.\footnote{\texttt{\CTAN|macros/latex/required/tools|}} - -\textbf{ПОДОЖДИТЕ!} \ldots прежде, чем немедленно броситься делать эту -слишком узкую страницу слегка пошире, потратьте несколько секунд на -размышления. Подобно другим вещам, выбор компоновки страницы в -\LaTeX{} весьма продуман. - -Безусловно, если сравнить со страницей, выданной свежеустановленным MS -Word, то страницы \LaTeX{} выглядят ужасно узкими. Однако, взгляните -на вашу любимую книгу\footnote{Имея в виду настоящую печатную книгу, - выпущенную уважаемым издательством.} и посчитайте количество букв на -одной строчке. Вы обнаружите, что на каждой строчке не больше 66 -букв. Теперь повторите это со страницей \LaTeX{}. Вы увидите, что и -здесь тоже около 66 букв в строке. Опыт показывает, что при большем -количестве букв чтение затрудняется, потому, что глазам становится -труднее переходить от конца одной строки к началу следующей. Именно -поэтому газеты часто верстаются в несколько колонок. - -Так что, увеличивая ширину вашего текста, имейте в виду, что вы -затрудняете жизнь его читателям. Однако, достаточно предупреждений, -вам был обещан рассказ о том, как же это сделать\ldots - -\LaTeX{} предоставляет две команды для изменения этих параметров. Их -обычно используют в преамбуле документа. - -Первая команда присваивает фиксированное значение любому параметру: -\begin{lscommand} -\ci{setlength}\verb|{|\emph{параметр}\verb|}{|\emph{длина}\verb|}| -\end{lscommand} - -Вторая команда прибавляет длину к любому параметру: -\begin{lscommand} -\ci{addtolength}\verb|{|\emph{параметр}\verb|}{|\emph{длина}\verb|}| -\end{lscommand} - -Она даже более полезна, чем \ci{setlength}, потому что позволяет вам -делать настройку относительно существующих установок. Чтобы добавить -сантиметр к общей ширине текста, например, в преамбулу нужно поместить -следующее: -\begin{code} -\verb|\addtolength{\hoffset}{-0.5cm}|\\ -\verb|\addtolength{\textwidth}{1cm}| -\end{code} - -Здесь вам может быть интересен пакет \pai{calc}, который позволяет -использовать арифметические операции в аргументе \verb|\setlength| и в -других местах, где аргументами являются численные значения. - - -\section{Еще о длинах} - -Всегда, когда это возможно, избегайте использовать в документах -абсолютных величин. Лучше основывайтесь на ширине или высоте других -элементов страницы. Для ширины иллюстрации этим может служить -\verb|\textwidth|, чтобы она заполняла страницу целиком. - -Следующие три команды позволяют определить ширину, высоту и глубину -текстовой строки. - -\begin{lscommand} -\ci{settoheight}\verb|{|\emph{пеpеменная}\verb|}{|\emph{текст}\verb|}|\\ -\ci{settodepth}\verb|{|\emph{пеpеменная}\verb|}{|\emph{текст}\verb|}|\\ -\ci{settowidth}\verb|{|\emph{пеpеменная}\verb|}{|\emph{текст}\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}{Где}$a$, -$b$ -- прилегают к прямому углу -прямоугольного треугольника. - -$c$ -- одинокая гипотенуза -этого треугольника. - -$d$ -- вообще тут не участвует. -Вот загадка\ldots -\end{vardesc} -\end{example} - - -\section{Блоки} - -\LaTeX{} выстраивает страницы, передвигая блоки. Сначала каждая буква -является маленьким блоком, который приклеивается к другим буквам, -формируя слово. Слова склеиваются с другими словами, но специальным -эластичным клеем, который может растягиваться или сжиматься, так, -чтобы в точности заполнить строку. - -Надо признать, что это довольно упрощенная версия того, что происходит -на самом деле, но идея в том, что \TeX{} всегда работает с блоками и -клеем. Не только буква может быть блоком. Вы можете поместить в блок -практически все, что угодно, не исключая и другие блоки. Каждый блок -затем обрабатывается \LaTeX{}, как если бы это была отдельная буква. - -В предыдущих главах вы уже встречали некоторые блоки, хотя об этом и -не говорилось. Примерами могут быть окружение \ei{tabular} или -\ci{includegraphics}, оба производящие блок. Это значит, что вы легко -можете сверстать рядом две таблицы или иллюстрации. Только убедитесь, -что их общая ширина не превышает \verb|\textwidth|. - -Вы также можете упаковать любой абзац в блок или командой - -\begin{lscommand} -\ci{parbox}\verb|[|\emph{поз}\verb|]{|\emph{ширина}\verb|}{|\emph{текст}\verb|}| -\end{lscommand} - -\noindent или окружением - -\begin{lscommand} -\verb|\begin{|\ei{minipage}\verb|}[|\emph{поз}\verb|]{|\emph{ширина}\verb|}| текст -\verb|\end{|\ei{minipage}\verb|}| -\end{lscommand} - -Параметр \emph{поз} может принимать одну из букв \texttt{c, t} или -\texttt{b}, контролируя вертикальное выравнивание блока по отношению к -базовой линии окружающего текста. \emph{Ширина} принимает аргументом -длину, определяющую ширину блока. Основное отличие между \ci{minipage} -и \ci{parbox}~--- в том, что внутри \ci{parbox} можно использовать не -все команды и окружения, тогда как внутри \ci{minipage} можно -практически все. - -В то время, как \ci{parbox} упаковывает целый абзац, разбивая строчки -и прочее, существует класс блоковых команд, работающих только на -горизонтально расположенном материале. Одну из них мы уже знаем. Она -называется \ci{mbox} и просто упаковывает последовательность блоков, -что можно использовать для предотвращения переноса \LaTeX{} двух -слов. Так как вы можете помещать одни блоки в другие, эти упаковщики -горизонтальных блоков чрезвычайно гибки. - -\begin{lscommand} -\ci{makebox}\verb|[|\emph{ширина}\verb|][|\emph{поз}\verb|]{|\emph{текст}\verb|}| -\end{lscommand} - -\noindent \emph{Ширина} определяет ширину результирующего блока так, -как его видно снаружи.\footnote{Это означает, что она может быть - меньше, чем материал внутри блока. В предельном случае вы можете - даже установить ее в 0pt, так что текст внутри блока верстается, - вообще не оказывая влияния на окружающие блоки.} Кроме выражений -длины, вы тут можете использовать \ci{width}, \ci{height}, \ci{depth} -и \ci{totalheight}. Они устанавливаются равными значениям, полученным -измерением параметров \emph{текста}.\trfootnote{Ширина, высота, глубина - и общая высота (высота плюс глубина) текста, - соответственно.} Параметр \emph{поз} -принимает однобуквенное значение: \textbf{c}: центрировать, -\textbf{l}: отжать влево, \textbf{r}: отжать вправо или \textbf{s}: -равномерно заполнить блок текстом. - -Команда \ci{framebox} работает в точности так же, как \ci{makebox}, но -рисует рамку вокруг текста. - -Следующий пример показывает некоторые возможности использования команд -\ci{makebox} и \ci{framebox}. - -\begin{example} -\makebox[\textwidth]{% - ц е н т р}\par -\makebox[\textwidth][s]{% - р а с т я н у т ы й}\par -\framebox[1.1\width]{Я теперь - в рамке!} \par -\framebox[0.8\width][r]{Ой, - я слишком толстый} \par -\framebox[1cm][l]{ничего, - я тоже} -Можете это прочитать? -\end{example} - -Теперь, когда мы управляем горизонталью, очевидный следующий шаг~--- -вертикаль. Никаких проблем. Команда - -\begin{lscommand} -\ci{raisebox}\verb|{|\emph{сдвиг}\verb|}[|\emph{глубина}\verb|][|\emph{высота}\verb|]{|\emph{текст}\verb|}| -\end{lscommand} - -\noindent позволяет вам определить вертикальные характеристики -блока. В первых трех параметров можно использовать \ci{width}, -\ci{height}, \ci{depth} и \ci{totalwidth}, чтобы получить размеры -аргумента \emph{текст}. - -\begin{example} -\raisebox{0pt}[0pt][0pt]{\Large% -\textbf{Aaaa\raisebox{-0.3ex}{a}% -\raisebox{-0.7ex}{aa}% -\raisebox{-1.2ex}{a}% -\raisebox{-2.2ex}{a}% -\raisebox{-4.5ex}{a}}} -кричал он, но даже стоящий рядом -не заметил, что с ним случилось -что-то ужасное. -\end{example} - - -\section{Линейки и распорки} -\label{sec:rule} - -Несколько страниц назад вы могли отметить команду - -\begin{lscommand} -\ci{rule}\verb|[|\emph{сдвиг}\verb|]{|\emph{ширина}\verb|}{|\emph{высота}\verb|}| -\end{lscommand} - -\noindent При обычном использовании она генерирует простой черный -блок. - -\newpage -\begin{example} -\rule{3mm}{.1pt}% -\rule[-1mm]{5mm}{1cm}% -\rule{3mm}{.1pt}% -\rule[1mm]{1cm}{5mm}% -\rule{3mm}{.1pt} -\end{example} - -\noindent Это можно использовать для рисования вертикальных и -горизонтальных линий. Например, линия на титульном листе нарисована -командой \ci{rule}. - -Специальным случаем является линейка, у которой нет ширины, но есть -определенная высота. В профессиональной верстке ее называют -\emph{распоркой}\index{распорка}. Ее используют, чтобы обеспечить -определенную минимальную высоту элемента страницы. Вы можете -использовать ее, чтобы сделать строку окружения \texttt{tabular} -имеющей определенную минимальную высоту. - -\begin{example} -\begin{tabular}{|c|} -\hline -\rule{0pt}{4ex}Pitprop \ldots\\ -\hline -\rule{0pt}{4ex}Strut\\ -\hline -\end{tabular} -\end{example} - -%%% Local Variables: -%%% mode: latex -%%% TeX-master: "lshort2e" -%%% End: - -\bigskip -{\flushright Конец.\par} - -% diff --git a/Master/texmf-doc/doc/russian/lshort-russian/src/fancyhea.sty b/Master/texmf-doc/doc/russian/lshort-russian/src/fancyhea.sty deleted file mode 100644 index 13cfb623ec6..00000000000 --- a/Master/texmf-doc/doc/russian/lshort-russian/src/fancyhea.sty +++ /dev/null @@ -1,129 +0,0 @@ -% fancyheadings.sty version 1.7 -% Fancy headers and footers. -% Piet van Oostrum, Dept of Computer Science, University of Utrecht -% Padualaan 14, P.O. Box 80.089, 3508 TB Utrecht, The Netherlands -% Telephone: +31-30-531806. piet@cs.ruu.nl (mcvax!sun4nl!ruuinf!piet) -% Sep 16, 1994 -% version 1.4: Correction for use with \reversemargin -% Sep 29, 1994: -% version 1.5: Added the \iftopfloat, \ifbotfloat and \iffloatpage commands -% Oct 4, 1994: -% version 1.6: Reset single spacing in headers/footers for use with -% setspace.sty or doublespace.sty -% Oct 4, 1994: -% version 1.7: changed \let\@mkboth\markboth to -% \def\@mkboth{\protect\markboth} to make it more robust - -\def\lhead{\@ifnextchar[{\@xlhead}{\@ylhead}} -\def\@xlhead[#1]#2{\gdef\@elhead{#1}\gdef\@olhead{#2}} -\def\@ylhead#1{\gdef\@elhead{#1}\gdef\@olhead{#1}} - -\def\chead{\@ifnextchar[{\@xchead}{\@ychead}} -\def\@xchead[#1]#2{\gdef\@echead{#1}\gdef\@ochead{#2}} -\def\@ychead#1{\gdef\@echead{#1}\gdef\@ochead{#1}} - -\def\rhead{\@ifnextchar[{\@xrhead}{\@yrhead}} -\def\@xrhead[#1]#2{\gdef\@erhead{#1}\gdef\@orhead{#2}} -\def\@yrhead#1{\gdef\@erhead{#1}\gdef\@orhead{#1}} - -\def\lfoot{\@ifnextchar[{\@xlfoot}{\@ylfoot}} -\def\@xlfoot[#1]#2{\gdef\@elfoot{#1}\gdef\@olfoot{#2}} -\def\@ylfoot#1{\gdef\@elfoot{#1}\gdef\@olfoot{#1}} - -\def\cfoot{\@ifnextchar[{\@xcfoot}{\@ycfoot}} -\def\@xcfoot[#1]#2{\gdef\@ecfoot{#1}\gdef\@ocfoot{#2}} -\def\@ycfoot#1{\gdef\@ecfoot{#1}\gdef\@ocfoot{#1}} - -\def\rfoot{\@ifnextchar[{\@xrfoot}{\@yrfoot}} -\def\@xrfoot[#1]#2{\gdef\@erfoot{#1}\gdef\@orfoot{#2}} -\def\@yrfoot#1{\gdef\@erfoot{#1}\gdef\@orfoot{#1}} - -\newdimen\headrulewidth -\newdimen\footrulewidth -\newdimen\plainheadrulewidth -\newdimen\plainfootrulewidth -\newdimen\headwidth -\newif\if@fancyplain \@fancyplainfalse -\def\fancyplain#1#2{\if@fancyplain#1\else#2\fi} - -% Command to reset various things in the headers: -% a.o. single spacing (taken from setspace.sty) -% and the catcode of ^^M (so that epsf files in the header work if a -% verbatim crosses a page boundary) -\def\fancy@reset{\restorecr - \def\baselinestretch{1}% - \ifx\undefined\@newbaseline% NFSS not present; 2.09 or 2e - \ifx\@currsize\normalsize\@normalsize\else\@currsize\fi% - \else% NFSS (2.09) present - \@newbaseline% - \fi} - -% Initialization of the head and foot text. - -\headrulewidth 0.4pt -\footrulewidth\z@ -\plainheadrulewidth\z@ -\plainfootrulewidth\z@ - -\lhead[\fancyplain{}{\sl\rightmark}]{\fancyplain{}{\sl\leftmark}} -% i.e. empty on ``plain'' pages \rightmark on even, \leftmark on odd pages -\chead{} -\rhead[\fancyplain{}{\sl\leftmark}]{\fancyplain{}{\sl\rightmark}} -% i.e. empty on ``plain'' pages \leftmark on even, \rightmark on odd pages -\lfoot{} -\cfoot{\rm\thepage} % page number -\rfoot{} - -% Put together a header or footer given the left, center and -% right text, fillers at left and right and a rule. -% The \lap commands put the text into an hbox of zero size, -% so overlapping text does not generate an errormessage. - -\def\@fancyhead#1#2#3#4#5{#1\hbox to\headwidth{\fancy@reset\vbox{\hbox -{\rlap{\parbox[b]{\headwidth}{\raggedright#2\strut}}\hfill -\parbox[b]{\headwidth}{\centering#3\strut}\hfill -\llap{\parbox[b]{\headwidth}{\raggedleft#4\strut}}}\headrule}}#5} - - -\def\@fancyfoot#1#2#3#4#5{#1\hbox to\headwidth{\fancy@reset\vbox{\footrule -\hbox{\rlap{\parbox[t]{\headwidth}{\raggedright#2\strut}}\hfill -\parbox[t]{\headwidth}{\centering#3\strut}\hfill -\llap{\parbox[t]{\headwidth}{\raggedleft#4\strut}}}}}#5} - -\def\headrule{{\if@fancyplain\headrulewidth\plainheadrulewidth\fi -\hrule\@height\headrulewidth\@width\headwidth \vskip-\headrulewidth}} - -\def\footrule{{\if@fancyplain\footrulewidth\plainfootrulewidth\fi -\vskip-0.3\normalbaselineskip\vskip-\footrulewidth -\hrule\@width\headwidth\@height\footrulewidth\vskip0.3\normalbaselineskip}} - -\def\ps@fancy{ -\def\@mkboth{\protect\markboth} -\@ifundefined{chapter}{\def\sectionmark##1{\markboth -{\uppercase{\ifnum \c@secnumdepth>\z@ - \thesection\hskip 1em\relax \fi ##1}}{}} -\def\subsectionmark##1{\markright {\ifnum \c@secnumdepth >\@ne - \thesubsection\hskip 1em\relax \fi ##1}}} -{\def\chaptermark##1{\markboth {\uppercase{\ifnum \c@secnumdepth>\m@ne - \@chapapp\ \thechapter. \ \fi ##1}}{}} -\def\sectionmark##1{\markright{\uppercase{\ifnum \c@secnumdepth >\z@ - \thesection. \ \fi ##1}}}} -\ps@@fancy -\global\let\ps@fancy\ps@@fancy -\headwidth\textwidth} -\def\ps@fancyplain{\ps@fancy \let\ps@plain\ps@plain@fancy} -\def\ps@plain@fancy{\@fancyplaintrue\ps@@fancy} -\def\ps@@fancy{ -\def\@oddhead{\@fancyhead\@lodd\@olhead\@ochead\@orhead\@rodd} -\def\@oddfoot{\@fancyfoot\@lodd\@olfoot\@ocfoot\@orfoot\@rodd} -\def\@evenhead{\@fancyhead\@rodd\@elhead\@echead\@erhead\@lodd} -\def\@evenfoot{\@fancyfoot\@rodd\@elfoot\@ecfoot\@erfoot\@lodd} -} -\def\@lodd{\if@reversemargin\hss\else\relax\fi} -\def\@rodd{\if@reversemargin\relax\else\hss\fi} - -\let\latex@makecol\@makecol -\def\@makecol{\let\topfloat\@toplist\let\botfloat\@botlist\latex@makecol} -\def\iftopfloat#1#2{\ifx\topfloat\empty #2\else #1\fi} -\def\ifbotfloat#1#2{\ifx\botfloat\empty #2\else #1\fi} -\def\iffloatpage#1#2{\if@fcolmade #1\else #2\fi} diff --git a/Master/texmf-doc/doc/russian/lshort-russian/src/fancyvrb.cfg b/Master/texmf-doc/doc/russian/lshort-russian/src/fancyvrb.cfg deleted file mode 100644 index e848342f48e..00000000000 --- a/Master/texmf-doc/doc/russian/lshort-russian/src/fancyvrb.cfg +++ /dev/null @@ -1,14 +0,0 @@ -\long\def\@yargdef#1#2#3{% - \@tempcnta#3\relax - \advance \@tempcnta \@ne - \let\@hash@\relax - \edef\reserved@a{\ifx#2\tw@ [\@hash@1]\fi}% - \@tempcntb #2% - \@whilenum\@tempcntb <\@tempcnta - \do{% - \edef\reserved@a{\reserved@a\@hash@\the\@tempcntb}% - \advance\@tempcntb \@ne}% - \let\@hash@##% - \l@ngrel@x\expandafter\def\expandafter#1\reserved@a} - -\endinput diff --git a/Master/texmf-doc/doc/russian/lshort-russian/src/fancyvrb.sty b/Master/texmf-doc/doc/russian/lshort-russian/src/fancyvrb.sty deleted file mode 100644 index 1ce5df7c8d6..00000000000 --- a/Master/texmf-doc/doc/russian/lshort-russian/src/fancyvrb.sty +++ /dev/null @@ -1,1426 +0,0 @@ -%% -%% This is file `fancyvrb.sty', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% fancyvrb.dtx (with options: `fancyvrb') -%% -%% IMPORTANT NOTICE: -%% -%% For the copyright see the source file. -%% -%% Any modified versions of this file must be renamed -%% with new filenames distinct from fancyvrb.sty. -%% -%% For distribution of the original source see the terms -%% for copying and modification in the file fancyvrb.dtx. -%% -%% This generated file may be distributed as long as the -%% original source files, as listed above, are part of the -%% same distribution. (The sources need not necessarily be -%% in the same archive or directory.) -%% -%% Package `fancyvrb' -%% -%% Timothy Van Zandt -%% July 17, 1998 -%% -%% COPYRIGHT 1992-1999, by Timothy Van Zandt -%% -%% This package may be distributed under the terms of the LaTeX Project Public -%% License, as described in lppl.txt in the base LaTeX distribution. -%% Either version 1.0 or, at your option, any later version. -%% -%% DESCRIPTION: -%% fancyvrb.sty is a LaTeX style option, containing flexible -%% verbatim environments and commands and extensive documentation. -%% -%% This is a companion to the `fancybox' package. -%% -\NeedsTeXFormat{LaTeX2e} -\def\fileversion{2.6, with DG/SPQR fixes} -\def\filedate{1998/07/17} -\ProvidesPackage{fancyvrb}[\filedate] -\message{Style option: `fancyvrb' v\fileversion \space <\filedate> (tvz)} -\csname fancyvrb@loaded\endcsname -\let\fancyvrb@loaded\endinput -\def\FV@Error#1#2{% - \edef\@tempc{#2}\expandafter\errhelp\expandafter{\@tempc}% - \errmessage{FancyVerb Error:^^J\space\space #1^^J}} - -\def\FV@eha{Your command was ignored. Type to continue.} -%% DG/SR modification begin - Jan. 21, 1998 -%% Suggested by Bernard Gaulle to solve a compatibility problem with `french' -%% (it introduce the restriction to put \VerbatimFootnotes AFTER the preambule) -%%\def\VerbatimFootnotes{\let\@footnotetext\V@footnotetext} -\let\V@footnote\footnote -\def\VerbatimFootnotes{% -\let\@footnotetext\V@footnotetext% -\let\footnote\V@footnote} -%% DG/SR modification end -\long\def\V@footnotetext{% - \afterassignment\V@@footnotetext - \let\@tempa} -\def\V@@footnotetext{% - \insert\footins\bgroup - \csname reset@font\endcsname - \footnotesize - \interlinepenalty\interfootnotelinepenalty - \splittopskip\footnotesep - \splitmaxdepth\dp\strutbox - \floatingpenalty \@MM - \hsize\columnwidth - \@parboxrestore - \edef\@currentlabel{\csname p@footnote\endcsname\@thefnmark}% - \@makefntext{}% - \rule{\z@}{\footnotesep}% - \bgroup - \aftergroup\V@@@footnotetext - \ignorespaces} -\def\V@@@footnotetext{\strut\egroup} -\RequirePackage{keyval} -\def\define@booleankey#1#2#3#4{% - \@namedef{KV@#1@#2@default}{#3}% - \@namedef{KV@#1@#2@false}{#4}% - \@namedef{KV@#1@#2}##1{\KV@booleankey{##1}{#1}{#2}}} -\def\KV@booleankey#1#2#3{% - \edef\@tempa{#1}\expandafter\KV@@booleankey\@tempa\relax\@nil{#2}{#3}} -\def\KV@@booleankey#1#2\@nil#3#4{% - \@nameuse{KV@#3@#4@\if t#1default\else\if T#1default\else false\fi\fi}} -\def\FV@None{none} -\def\FV@Auto{auto} -\def\fvset#1{\setkeys{FV}{#1}} -\def\FV@Command#1#2{% - \@ifstar - {\def\FV@KeyValues{#1,showspaces}\FV@@Command{#2}}% - {\def\FV@KeyValues{#1}\FV@@Command{#2}}} -\def\FV@@Command#1{% - \@ifnextchar[% - {\FV@GetKeyValues{\@nameuse{FVC@#1}}}% - {\@nameuse{FVC@#1}}} -\def\FV@GetKeyValues#1[#2]{% - \expandafter\def\expandafter\FV@KeyValues\expandafter{\FV@KeyValues,#2}#1} -\def\@CustomVerbatimCommand#1#2#3#4{% - \begingroup\fvset{#4}\endgroup % If there are errors, it easier to locate. -%% DG/SR modification begin - Jan. 13, 1998 -%% \def\@tempa##1##2\@nil{\def\@tempa{##2}}% -%% \expandafter\@tempa\string#3\@empty\@nil -%% \@ifundefined{FVC@\@tempa}% - \@ifundefined{FVC@#3}% -%% DG/SR modification end - {\FV@Error{Command `\string#3' is not a FancyVerb command.}\@eha}% - {#1{#2}{\FV@Command{#4}{#3}}}} -\def\CustomVerbatimCommand{\@CustomVerbatimCommand\newcommand} -\def\RecustomVerbatimCommand{\@CustomVerbatimCommand\renewcommand} -\def\FV@Environment#1#2{% - \def\FV@KeyValues{#1}% - \catcode`\^^M=\active - \@ifnextchar[% - {\catcode`\^^M=5 \FV@GetKeyValues{\@nameuse{FVB@#2}}}% - {\catcode`\^^M=5 \@nameuse{FVB@#2}}} -\def\CustomVerbatimEnvironment{\@CustomVerbatimEnvironment\newenvironment} -\def\RecustomVerbatimEnvironment{\@CustomVerbatimEnvironment\renewenvironment} -\def\@CustomVerbatimEnvironment#1#2#3#4{% - \begingroup\fvset{#4}\endgroup % If there are errors, it easier to locate. - \@ifundefined{FVB@#3}% - {\FV@Error{`#3' is not a FancyVerb environment.}\@eha}% - {#1{#2}{\FV@Environment{#4}{#3}}{\@nameuse{FVE@#3}}% - #1{#2*}{\FV@Environment{#4,showspaces}{#3}}{\@nameuse{FVE@#3}}}} -\def\DefineVerbatimEnvironment#1#2#3{% - \@namedef{#1}{\FV@Environment{#3}{#2}}% - \@namedef{end#1}{\@nameuse{FVE@#2}}% - \@namedef{#1*}{\FV@Environment{#3,showspaces}{#2}}% - \@namedef{end#1*}{\@nameuse{FVE@#2}}} -\def\FV@UseKeyValues{% - \ifx\FV@KeyValues\@empty\else - \def\KV@prefix{KV@FV@}% - \expandafter\KV@do\FV@KeyValues,\relax,% - \def\FV@KeyValues{}% - \fi} -\def\FV@CatCodes{% - \let\do\@makeother\dospecials % The usual stuff. - \FV@ActiveWhiteSpace % See below. - \FV@FontScanPrep % See below. - \FV@CatCodesHook % A style hook. - \FancyVerbCodes} % A user-defined hook. -\def\FV@ActiveWhiteSpace{% - \catcode`\^^M=\active % End of line - \catcode`\ =\active % Space - \catcode`\^^I=\active} % Tab -\def\FV@CatCodesHook{} -\def\FV@AddToHook#1#2{% - \expandafter\def\expandafter#1\expandafter{#1#2\relax}} -\define@key{FV}{codes}[]{\def\FancyVerbCodes{#1\relax}} -\define@key{FV}{codes*}{% - \expandafter\def\expandafter\FancyVerbCodes\expandafter{% - \FancyVerbCodes#1\relax}} -\fvset{codes} -\define@key{FV}{commandchars}[\\\{\}]% - {\def\@tempa{#1}% - \ifx\@tempa\FV@None - \let\FV@CommandChars\relax - \else - \FV@DefineCommandChars#1\relax\relax\relax - \fi} -\def\FV@DefineCommandChars#1#2#3{% - \def\FV@CommandChars{% - \catcode`#1=0\relax\catcode`#2=1\relax\catcode`#3=2\relax}} -\FV@AddToHook\FV@CatCodesHook\FV@CommandChars -\define@key{FV}{commentchar}[\%]{% - \def\@tempa{#1}% - \ifx\@tempa\FV@None - \let\FV@CommentChar\relax - \else - \def\FV@CommentChar{\catcode`#1=14}% - \fi} -\FV@AddToHook\FV@CatCodesHook\FV@CommentChar -\fvset{commandchars=none,commentchar=none} -\define@key{FV}{firstline}{% - \afterassignment\FV@ParseStart\@tempcnta=0#1\relax\@nil{#1}} -\def\FV@ParseStart#1\relax\@nil#2{% - \ifx\@nil#1\@nil - \edef\FancyVerbStartNum{\the\@tempcnta}% - \let\FancyVerbStartString\relax - \else - \edef\FancyVerbStartString{#2}% - \fi} -\def\KV@FV@firstline@default{% - \let\FancyVerbStartNum\z@ - \let\FancyVerbStartString\relax} -\define@key{FV}{lastline}{% - \afterassignment\FV@ParseStop\@tempcnta=0#1\relax\@nil{#1}} -\def\FV@ParseStop#1\relax\@nil#2{% - \ifx\@nil#1\@nil - \edef\FancyVerbStopNum{\the\@tempcnta}% - \let\FancyVerbStopString\relax - \else - \edef\FancyVerbStopString{#2}% - \fi} -\def\KV@FV@lastline@default{% - \let\FancyVerbStopNum\z@ - \let\FancyVerbStopString\relax} -\fvset{firstline,lastline} -\newcount\FV@CodeLineNo -\def\FV@PreProcessLine{% - \global\advance\FV@CodeLineNo\@ne - \FV@FindStartStop} -\def\FV@@PreProcessLine{% - \FV@StepLineNo - \FV@Gobble - \expandafter\FV@ProcessLine\expandafter{\FV@Line}} -\def\FV@FindStartStop{\FV@DefineFindStart\FV@FindStartStop} -%% \def\FV@DefinePreProcessLine{% -%% \setcounter{FancyVerbLine}{0}% -%% \FV@DefineFindStart} -\def\FV@DefineFindStart{% - \ifx\FancyVerbStartString\relax - \ifnum\FancyVerbStartNum<\tw@ - \FV@DefineFindStop - \else - \let\FV@FindStartStop\FV@FindStartNum - \fi - \else - \let\FV@FindStartStop\FV@FindStartString - \fi} -\def\FV@FindStartNum{% - \ifnum\FancyVerbStartNum>\FV@CodeLineNo\else - \FV@DefineFindStop - \expandafter\FV@@PreProcessLine - \fi} -%% SR modification begin - 1996 -\def\FV@FindStartString{% - \expandafter\FV@@FindStartString -{\meaning\FV@Line}% -{\meaning\FancyVerbStartString}% -} -\def\FV@@FindStartString#1#2{% -\edef\@fooA{#1}\edef\@fooB{#2}% - \ifx\@fooA\@fooB - \FV@DefineFindStop - \fi -} -%% SR modification end -\def\FV@DefineFindStop{% - \ifx\FancyVerbStopString\relax - \ifnum\FancyVerbStopNum<\@ne - \let\FV@FindStartStop\FV@@PreProcessLine - \else - \let\FV@FindStartStop\FV@FindStopNum - \fi - \else - \let\FV@FindStartStop\FV@FindStopString - \fi} -\def\FV@FindStopNum{% - \ifnum\FancyVerbStopNum=\FV@CodeLineNo - \let\FV@FindStartStop\relax - \ifeof\FV@InFile\else - \immediate\closein\FV@InFile - \fi - \fi - \FV@@PreProcessLine} -%% SR modification begin - 1996 -\def\FV@FindStopString{% - \expandafter\FV@@FindStopString -{\meaning\FV@Line}% -{\meaning\FancyVerbStopString}% -} -\def\FV@@FindStopString#1#2{% -\edef\@fooA{#1}\edef\@fooB{#2}% - \ifx\@fooA\@fooB - \let\FV@FindStartStop\relax - \ifeof\FV@InFile\else - \immediate\closein\FV@InFile - \fi - \else - \expandafter\FV@@PreProcessLine - \fi} -%% SR modification end -\def\FV@@Gobble{% - \expandafter\expandafter\expandafter\FV@@@Gobble - \expandafter\FV@@@@Gobble\FV@Line - \@nil\@nil\@nil\@nil\@nil\@nil\@nil\@nil\@nil\@nil\@@nil} -\def\FV@@@Gobble#1\@nil#2\@@nil{\def\FV@Line{#1}} -\define@key{FV}{gobble}{% - \@tempcnta=#1\relax - \ifnum\@tempcnta<\@ne - \let\FV@Gobble\relax - \else - \ifnum\@tempcnta>9 - \FV@Error{gobble parameter must be less than 10}\FV@eha - \else - \renewcommand{\FV@@@@Gobble}[\@tempcnta]{}% - \let\FV@Gobble\FV@@Gobble - \fi - \fi} -\def\FV@@@@Gobble{} -\def\KV@FV@gobble@default{\let\FV@Gobble\relax} -\fvset{gobble} -\def\FV@Scan{% - \FV@CatCodes - \VerbatimEnvironment - \FV@DefineCheckEnd - \FV@BeginScanning} -\def\VerbatimEnvironment{% - \ifx\FV@EnvironName\relax\xdef\FV@EnvironName{\@currenvir}\fi} -\let\FV@EnvironName\relax -\begingroup -\catcode`\!=0 -\catcode`\[=1 -\catcode`\]=2 -!gdef!FV@CheckEnd@i#1[!FV@@CheckEnd#1\end{}!@nil] -!gdef!FV@@CheckEnd@i#1\end#2#3!@nil[!def!@tempa[#2]!def!@tempb[#3]] -!gdef!FV@@@CheckEnd@i[\end{}] -\catcode`!\=12 - -!gdef!FV@CheckEnd@ii#1[!FV@@CheckEnd#1\end{}!@nil] -!gdef!FV@@CheckEnd@ii#1\end#2#3!@nil[!def!@tempa[#2]!def!@tempb[#3]] -!gdef!FV@@@CheckEnd@ii[\end{}] -!catcode`!{=12 -!catcode`!}=12 - -!gdef!FV@CheckEnd@iii#1[!FV@@CheckEnd#1\end{}!@nil] -!gdef!FV@@CheckEnd@iii#1\end{#2}#3!@nil[!def!@tempa[#2]!def!@tempb[#3]] -!gdef!FV@@@CheckEnd@iii[\end{}] -!catcode`!\=0 - -!gdef!FV@CheckEnd@iv#1[!FV@@CheckEnd#1\end{}!@nil] -!gdef!FV@@CheckEnd@iv#1\end{#2}#3!@nil[!def!@tempa[#2]!def!@tempb[#3]] -!gdef!FV@@@CheckEnd@iv[\end{}] -\endgroup -\def\FV@BadCodes#1{% - \FV@Error - {\string\catcode\space of \expandafter\@gobble\string#1 is wrong: - \the\catcode`#1}% - {Only the following catcode values are allowed: - ^^J\@spaces \expandafter\@gobble\string\\ \space\space --> 0 or 12. - ^^J\@spaces \string{ \string} --> 1 and 2, resp., or both 12. - ^^JTo get this error, either you are a hacker or you got bad advice.}% - \def\FV@CheckEnd##1{\iftrue}} -\def\FV@DefineCheckEnd{% - \ifnum\catcode`\\=\z@ - \ifnum\catcode`\{=\@ne - \let\FV@CheckEnd\FV@CheckEnd@i - \let\FV@@CheckEnd\FV@@CheckEnd@i - \let\FV@@@CheckEnd\FV@@@CheckEnd@i - \else - \ifnum\catcode`\{=12 - \let\FV@CheckEnd\FV@CheckEnd@iv - \let\FV@@CheckEnd\FV@@CheckEnd@iv - \let\FV@@@CheckEnd\FV@@@CheckEnd@iv - \else - \FV@BadCodes\{% - \fi - \fi - \else - \ifnum\catcode`\\=12 - \ifnum\catcode`\{=\@ne - \let\FV@CheckEnd\FV@CheckEnd@ii - \let\FV@@CheckEnd\FV@@CheckEnd@ii - \let\FV@@@CheckEnd\FV@@@CheckEnd@ii - \else - \ifnum\catcode`\{=12 - \let\FV@CheckEnd\FV@CheckEnd@iii - \let\FV@@CheckEnd\FV@@CheckEnd@iii - \let\FV@@@CheckEnd\FV@@@CheckEnd@iii - \else - \FV@BadCodes\{% - \fi - \fi - \else - \FV@BadCodes\\% - \fi - \fi} -\begingroup -\catcode`\^^M=\active - \gdef\FV@BeginScanning#1^^M{% - \def\@tempa{#1}\ifx\@tempa\@empty\else\FV@BadBeginError\fi% - \FV@GetLine}% -\endgroup -\def\FV@BadBeginError#1{% - \expandafter\@temptokena\expandafter{\@tempa}% - \FV@Error - {Extraneous input `\the\@temptokena' between - \string\begin{\FV@EnvironName}[] and line end}% - {This input will be discarded. Hit to continue.}} -%% DG/SR modification begin - May. 18, 1998 (added code to turn off ligatures) -%% \def\FV@GetLine{\expandafter\FV@CheckScan\FancyVerbGetLine} -\def\FV@GetLine{\@noligs\expandafter\FV@CheckScan\FancyVerbGetLine} -%% DG/SR modification end -\begingroup -\catcode`\^^M=\active -\gdef\FancyVerbGetLine#1^^M{% - \@nil - \FV@CheckEnd{#1}% - \ifx\@tempa\FV@EnvironName% % True if end is found - \ifx\@tempb\FV@@@CheckEnd\else\FV@BadEndError\fi% - \let\next\FV@EndScanning% - \else% - \def\FV@Line{#1}% - \def\next{\FV@PreProcessLine\FV@GetLine}% - \fi% - \next}% -\endgroup -\def\FV@BadEndError{% - \expandafter\@temptokena\expandafter{\@tempb}% - \FV@Error - {Extraneous input `\the\@temptokena' between - \string\end{\FV@EnvironName} and line end}% - {This input will be discarded. Type to continue.}} -\def\FV@EndScanning{% - \edef\next{\noexpand\end{\FV@EnvironName}}% - \global\let\FV@EnvironName\relax - \next} -\@ifundefined{@currenvline}{\let\@currenvline\@empty}{} -\def\FV@CheckScan#1{\@ifnextchar\@nil{\@gobble}{\FV@EOF}} -\def\FV@CheckScan#1{\ifx\@nil#1\@empty\else\expandafter\FV@EOF\fi} -\def\FV@EOF{% - \FV@Error{Couldn't find `\string\end{\FV@EnvironName}' to end - a verbatim environment\@currenvline.}% - {Probably you mistyped the environment name or included an extraneous - ^^Jspace, or are using an improperly defined verbatim environment. - ^^JHit return and I will try to terminate this job.}% - \FV@EndScanning - \end{document}} - % \subsection{Input} -\newread\FV@InFile -\def\FV@Input#1{% - \immediate\openin\FV@InFile #1\relax - \ifeof\FV@InFile - \FV@Error{No verbatim file #1}\FV@eha - \immediate\closein\FV@InFile - \else - \FV@CatCodes - \expandafter\FV@@Input - \fi} -\def\FV@@Input{% - \def\FV@Line{}% - \FV@ReadLine - \ifeof\FV@InFile - \ifx\FV@Line\@empty\else - \FV@PreProcessLine - \fi - \immediate\closein\FV@InFile - \else - \FV@PreProcessLine - \expandafter\FV@@Input - \fi} -\begingroup -\catcode`\^^M=\active -\gdef\FV@ReadLine{% - \ifeof\FV@InFile\else - \immediate\read\FV@InFile to\@tempa% - \expandafter\FV@@ReadLine\@tempa^^M\relax^^M\@nil% - \fi} -\gdef\FV@@ReadLine#1^^M#2^^M#3\@nil{% - \expandafter\def\expandafter\FV@Line\expandafter{% - \FV@Line#1}% - \ifx\relax#2\@empty\expandafter\FV@ReadLine\fi}% -\endgroup -\def\FV@FormattingPrep{% - \global\FV@CodeLineNo\z@ - \frenchspacing % Cancels special punctuation spacing. - \FV@SetupFont % See below. - \FV@DefineWhiteSpace % See below. - \FancyVerbDefineActive - \FancyVerbFormatCom} % A user-defined hook (formatcom parameter). -\expandafter\ifx\csname selectfont\endcsname\relax -\def\FV@SetupFont{% - \FV@BaseLineStretch - \ifx\@currsize\small\normalsize\else\small\fi\@currsize - \FV@FontSize - \FV@FontFamily} - -\else - -\def\FV@SetupFont{% - \FV@BaseLineStretch - \FV@FontSize - \FV@FontFamily - \FV@FontSeries - \FV@FontShape - \selectfont -%% DG/SR modification begin - May. 18, 1998 (added code to turn off ligatures) - \@noligs} -%% DG/SR modification end -\fi -\define@key{FV}{fontsize}{% - \def\@tempa{#1}% - \ifx\@tempa\FV@Auto - \let\FV@FontSize\relax - \else - \def\FV@FontSize{#1}% - \fi} -\def\KV@FV@fontsize@default{\let\FV@FontSize\relax} -\define@key{FV}{baselinestretch}[auto]{% - \def\@tempa{#1}% - \ifx\@tempa\FV@Auto - \let\FV@BaseLineStretch\relax - \else - \def\FV@BaseLineStretch{\def\baselinestretch{#1}}% - \fi} -\def\KV@FV@baselinestretch@default{\let\FV@BaseLineStretch\relax} -\define@key{FV}{fontfamily}{% - \@ifundefined{FV@fontfamily@#1}% - {\def\FV@FontScanPrep{}\def\FV@FontFamily{\fontfamily{#1}}} - {\csname FV@fontfamily@#1\endcsname}} -\define@key{FV}{fontseries}{% - \def\@tempa{#1}% - \ifx\@tempa\FV@Auto - \let\FV@FontSeries\relax - \else - \def\FV@FontSeries{\fontseries{#1}}% - \fi} -\define@key{FV}{fontshape}{% - \def\@tempa{#1}% - \ifx\@tempa\FV@Auto - \let\FV@FontShape\relax - \else - \def\FV@FontShape{\fontshape{#1}}% - \fi} -\def\FV@MakeActive#1{% - \catcode`#1=\active - \def\next##1{\expandafter\def\expandafter\FV@MakeUnActive\expandafter{% - \FV@MakeUnActive\def##1{\string##1}}}% - \begingroup\lccode`~=`#1\relax\expandafter\next\expandafter~\endgroup} -\def\FV@MakeUnActive{} -\begingroup -\catcode`\`=\active -\gdef\FV@fontfamily@tt{% - \def\FV@FontScanPrep{\FV@MakeActive\`}% -%% SR modification begin - 1995 -%% \def\FV@FontFamily{\tt`{{\string`}}}} - \def\FV@FontFamily{\ttfamily\edef`{{\string`}}}} -%% SR modification end -\gdef\FV@fontfamily@cmtt{% - \def\FV@FontScanPrep{\FV@MakeActive\`}% - \def\FV@FontFamily{\edef`{{\string`}}\fontfamily{cmtt}}} -\endgroup -\@namedef{FV@fontfamily@cmtt-spanish}{% - \def\FV@FontScanPrep{}% - \def\FV@FontFamily{\fontfamily{cmtt}}} -\@namedef{FV@fontfamily@courier}{% - \def\FV@FontScanPrep{}% -%% SR modification begin - 1995 -%% \def\FV@FontFamily{\fontfamily{rpcr}}} - \def\FV@FontFamily{\fontfamily{pcr}}} -%% SR modification end -\@namedef{FV@fontfamily@helvetica}{% - \def\FV@FontScanPrep{}% -%% SR modification begin - 1995 -%% \def\FV@FontFamily{\fontfamily{rphv}}} - \def\FV@FontFamily{\fontfamily{phv}}} -%% SR modification end -\fvset{fontfamily=tt,fontsize=auto,fontshape=auto,fontseries=auto, - baselinestretch=auto} -\begingroup -\catcode`\ =\active -\catcode`\^^I=\active -\gdef\FV@DefineWhiteSpace{\def {\FV@Space}\def^^I{\FV@Tab}}% -\endgroup -\define@key{FV}{defineactive}[]{\def\FancyVerbDefineActive{#1\relax}} -\define@key{FV}{defineactive*}{% - \expandafter\def\expandafter\FancyVerbDefineActive\expandafter{% - \FancyVerbDefineActive#1\relax}} -\fvset{defineactive} -\define@booleankey{FV}{showspaces}% - {\def\FV@Space{{\FancyVerbSpace}}}% - {\def\FV@Space{\ }} -{\catcode`\ =12 \gdef\FancyVerbSpace{\tt }} -\fvset{showspaces=false} -\def\FV@Tab{\hbox to\FancyVerbTabSize\fontdimen2\font{\hss\FV@TabChar}} -\define@key{FV}{tabsize}{% - \@tempcnta=#1\relax - \ifnum\@tempcnta>100 - \FV@Error{Tab size too large: `\the\@tempcnta'. (Max size = 100)}\FV@eha - \else - \edef\FancyVerbTabSize{\the\@tempcnta}% - \fi} -\define@booleankey{FV}{showtabs}% - {\def\FV@TabChar{\FancyVerbTab}}% - {\let\FV@TabChar\relax} -\fvset{tabsize=8,showtabs=false} -\def\FancyVerbTab{% - \valign{% - \vfil##\vfil\cr - \hbox{$\scriptscriptstyle-$}\cr - \hbox to 0pt{\hss$\scriptscriptstyle\rangle\mskip -.8mu$}\cr - \hbox{$\scriptstyle\mskip -3mu\mid\mskip -1.4mu$}\cr}} -\newbox\FV@TabBox -\def\FV@@ObeyTabsInit{% - \@tempdimb=\FancyVerbTabSize\fontdimen\tw@\font - \edef\FV@ObeyTabSize{\number\@tempdimb}% - \advance\@tempdimb\fontdimen\tw@\font - \advance\@tempdimb-\FancyVerbTabSize sp % Allow for rounding errors. - \edef\FV@@ObeyTabSize{\number\@tempdimb}% - \let\FV@ObeyTabs\FV@@ObeyTabs - \let\FV@Tab\FV@TrueTab} -\def\FV@@ObeyTabs#1{\setbox\FV@TabBox=\hbox{#1}\box\FV@TabBox} -\let\FV@ObeyTabs\relax -\def\FV@TrueTab{% - \egroup - \@tempdima=\FV@ObeyTabSize sp\relax - \@tempcnta=\wd\FV@TabBox - \advance\@tempcnta\FV@@ObeyTabSize\relax - \divide\@tempcnta\@tempdima - \multiply\@tempdima\@tempcnta - \advance\@tempdima-\wd\FV@TabBox - \setbox\FV@TabBox=\hbox\bgroup - \unhbox\FV@TabBox\kern\@tempdima\hbox to\z@{\hss\FV@TabChar}} -\define@booleankey{FV}{obeytabs}% - {\let\FV@ObeyTabsInit\FV@@ObeyTabsInit}% - {\let\FV@ObeyTabsInit\relax} -\fvset{obeytabs=false} -\define@key{FV}{formatcom}[]{\def\FancyVerbFormatCom{#1\relax}} -\define@key{FV}{formatcom*}{% - \expandafter\def\expandafter\FancyVerbFormatCom\expandafter{% - \FancyVerbFormatCom#1\relax}} -\fvset{formatcom} -\def\FancyVerbFormatLine#1{\FV@ObeyTabs{#1}} -\define@key{FV}{xleftmargin}{\def\FV@XLeftMargin{#1}} -\let\FV@XLeftMargin\z@ -\define@key{FV}{xrightmargin}{\def\FV@XRightMargin{#1}} -\let\FV@XRightMargin\z@ -\define@booleankey{FV}{resetmargins}% - {\let\if@FV@ResetMargins\iftrue} - {\let\if@FV@ResetMargins\iffalse} -\fvset{resetmargins=false} -\define@key{FV}{listparameters}{\def\FV@ListParameterHook{#1}} -\def\FV@ListParameterHook{} -\define@key{FV}{hfuzz}{% - \@tempdima=#1\relax - \edef\FancyVerbHFuzz{\number\@tempdima sp}} -\fvset{hfuzz=2pt} -\define@booleankey{FV}{samepage}% - {\def\FV@InterLinePenalty{\interlinepenalty\@M}}% - {\let\FV@InterLinePenalty\relax} -\fvset{samepage=false} -\def\FV@List#1{% - \begingroup - \FV@UseKeyValues - \FV@LeaveVMode - \if@inlabel\else\setbox\@labels=\box\voidb@x\fi - \FV@ListNesting{#1}% - \FV@ListParameterHook - \FV@ListVSpace - \FV@SetLineWidth - \FV@InterLinePenalty - \let\FV@ProcessLine\FV@ListProcessLine@i - \FV@CatCodes - \FV@FormattingPrep - \FV@ObeyTabsInit - \FV@BeginListFrame} -\def\FV@LeaveVMode{% - \if@noskipsec - \leavevmode - \else - \if@FV@ResetMargins\if@inlabel\leavevmode\fi\fi - \fi - \ifvmode\@noparlisttrue\else\@noparlistfalse\unskip\par\fi} -\def\FV@ListNesting#1{% - \if@FV@ResetMargins - \@listdepth=\z@ - \else - \ifnum\@listdepth>5\relax - \@toodeep - \else - \advance\@listdepth\@ne - \fi - \fi - \rightmargin\z@ - \csname @list\romannumeral\the\@listdepth\endcsname - \ifnum#1=\z@ - \rightmargin\z@ - \leftmargin\z@ - \fi} -\def\FV@ListVSpace{% - \@topsepadd\topsep - \if@noparlist\advance\@topsepadd\partopsep\fi - \if@inlabel - \vskip\parskip - \else - \if@nobreak - \vskip\parskip - \clubpenalty\@M - \else - \addpenalty\@beginparpenalty - \@topsep\@topsepadd - \advance\@topsep\parskip - \addvspace\@topsep - \fi - \fi - \global\@nobreakfalse - \global\@inlabelfalse - \global\@minipagefalse - \global\@newlistfalse} -\def\FV@SetLineWidth{% - \if@FV@ResetMargins\else - \advance\leftmargin\@totalleftmargin - \fi - \advance\leftmargin\FV@XLeftMargin\relax - \advance\rightmargin\FV@XRightMargin\relax - \linewidth\hsize - \advance\linewidth-\leftmargin - \advance\linewidth-\rightmargin - \hfuzz\FancyVerbHFuzz\relax} -\def\FV@ListProcessLine#1{% - \hbox to \hsize{% - \kern\leftmargin - \hbox to \linewidth{% - \FV@LeftListNumber - \FV@LeftListFrame - \FancyVerbFormatLine{#1}\hss -%% DG/SR modification begin - Jan. 28, 1998 (for numbers=right add-on) -%% \FV@RightListFrame}% - \FV@RightListFrame - \FV@RightListNumber}% -%% DG/SR modification end - \hss}} -\def\FV@ListProcessLine@i#1{% - \hbox{% - \ifvoid\@labels\else - \hbox to \z@{\kern\@totalleftmargin\box\@labels\hss}% - \fi - \FV@ListProcessLine{#1}}% - \let\FV@ProcessLine\FV@ListProcessLine@ii} -\def\FV@ListProcessLine@ii#1{% - \setbox\@tempboxa=\FV@ListProcessLine{#1}% - \let\FV@ProcessLine\FV@ListProcessLine@iii} -\def\FV@ListProcessLine@iii#1{% - {\advance\interlinepenalty\clubpenalty\penalty\interlinepenalty}% - \box\@tempboxa - \setbox\@tempboxa=\FV@ListProcessLine{#1}% - \let\FV@ProcessLine\FV@ListProcessLine@iv} -\def\FV@ListProcessLine@iv#1{% - \penalty\interlinepenalty - \box\@tempboxa - \setbox\@tempboxa=\FV@ListProcessLine{#1}}% -\def\FV@EndList{% - \FV@ListProcessLastLine - \FV@EndListFrame - \@endparenv - \endgroup - \@endpetrue} -\def\FV@ListProcessLastLine{% - \ifx\FV@ProcessLine\FV@ListProcessLine@iv - {\advance\interlinepenalty\widowpenalty\penalty\interlinepenalty}% - \box\@tempboxa - \else - \ifx\FV@ProcessLine\FV@ListProcessLine@iii - {\advance\interlinepenalty\widowpenalty - \advance\interlinepenalty\clubpenalty - \penalty\interlinepenalty}% - \box\@tempboxa - \else - \ifx\FV@ProcessLine\FV@ListProcessLine@i - \FV@Error{Empty verbatim environment}{}% - \FV@ProcessLine{}% - \fi - \fi - \fi} -\def\FV@VerbatimBegin{\FV@List\z@} -\def\FV@VerbatimEnd{\FV@EndList} -\def\FVB@Verbatim{\FV@VerbatimBegin\FV@Scan} -\def\FVE@Verbatim{\FV@VerbatimEnd} -\DefineVerbatimEnvironment{Verbatim}{Verbatim}{} -\def\FV@UseVerbatim#1{% - \FV@VerbatimBegin#1\FV@VerbatimEnd - \@doendpe\global\@ignorefalse\ignorespaces} -\def\VerbatimInput{\FV@Command{}{VerbatimInput}} -\def\FVC@VerbatimInput#1{\FV@UseVerbatim{\FV@Input{#1}}} -\def\FV@LVerbatimBegin{\FV@List\@ne} -\def\FV@LVerbatimEnd{\FV@EndList} -\def\FVB@LVerbatim{\FV@LVerbatimBegin\FV@Scan} -\def\FVE@LVerbatim{\FV@LVerbatimEnd} -\DefineVerbatimEnvironment{LVerbatim}{LVerbatim}{} -\def\FV@LUseVerbatim#1{% - \FV@LVerbatimBegin#1\FV@LVerbatimEnd - \@doendpe\global\@ignorefalse\ignorespaces} -\def\LVerbatimInput{\FV@Command{}{LVerbatimInput}} -\def\FVC@LVerbatimInput#1{\FV@LUseVerbatim{\FV@Input{#1}}} -\def\FV@Frame@none{% - \let\FV@BeginListFrame\relax - \let\FV@LeftListFrame\relax - \let\FV@RightListFrame\relax - \let\FV@EndListFrame\relax} -\def\FV@Frame@single{% - \let\FV@BeginListFrame\FV@BeginListFrame@Single - \let\FV@LeftListFrame\FV@LeftListFrame@Single - \let\FV@RightListFrame\FV@RightListFrame@Single - \let\FV@EndListFrame\FV@EndListFrame@Single} -\def\FV@Frame@lines{% - \let\FV@BeginListFrame\FV@BeginListFrame@Lines - \let\FV@LeftListFrame\relax - \let\FV@RightListFrame\relax - \let\FV@EndListFrame\FV@EndListFrame@Lines} -\def\FV@Frame@topline{% - \let\FV@BeginListFrame\FV@BeginListFrame@Lines - \let\FV@LeftListFrame\relax - \let\FV@RightListFrame\relax - \let\FV@EndListFrame\relax} -\def\FV@Frame@bottomline{% - \let\FV@BeginListFrame\relax - \let\FV@LeftListFrame\relax - \let\FV@RightListFrame\relax - \let\FV@EndListFrame\FV@EndListFrame@Lines} -%% To define a frame with only a left line -\def\FV@Frame@leftline{% - % To define the \FV@FrameFillLine macro (from \FV@BeginListFrame) - \ifx\FancyVerbFillColor\relax - \let\FV@FrameFillLine\relax - \else - \@tempdima\FV@FrameRule\relax - \multiply\@tempdima-\tw@ - \edef\FV@FrameFillLine{% - {\noexpand\FancyVerbFillColor{\vrule\@width\number\@tempdima sp}% - \kern-\number\@tempdima sp}}% - \fi - \let\FV@BeginListFrame\relax - \let\FV@LeftListFrame\FV@LeftListFrame@Single - \let\FV@RightListFrame\relax - \let\FV@EndListFrame\relax} -\def\FV@BeginListFrame@Single{% - \lineskip\z@ - \baselineskip\z@ - \ifx\FancyVerbFillColor\relax - \let\FV@FrameFillLine\relax - \else - \@tempdima\FV@FrameRule\relax - \multiply\@tempdima-\tw@ - \edef\FV@FrameFillLine{% - {\noexpand\FancyVerbFillColor{\vrule\@width\number\@tempdima sp}% - \kern-\number\@tempdima sp}}% - \fi -%% DG/SR modification begin - May. 19, 1998 -%% \FV@SingleFrameLine - \FV@SingleFrameLine{\z@}% -%% DG/SR modification end - \penalty\@M - \FV@SingleFrameSep - \penalty\@M} -%% DG/SR modification begin - May. 19, 1998 -\define@key{FV}{label}{% - \def\@tempa{#1}% - \ifx\@tempa\FV@None - \let\FV@LabelBegin\relax - \let\FV@LabelEnd\relax - \else - \FV@Label@i#1\@nil% - \fi} -\def\FV@Label@i{\@ifnextchar[{\FV@Label@ii}{\FV@Label@ii[]}} -\def\FV@Label@ii[#1]#2\@nil{% - \def\@tempa{#1}% - \ifx\@tempa\empty - \def\FV@LabelBegin{#2}% - \else - \def\FV@LabelBegin{#1}% - \def\FV@LabelPositionBottomLine{\@ne}% - \fi - \def\FV@LabelEnd{#2}} -\fvset{label=none} -\define@key{FV}{labelposition}[none]{% - \@ifundefined{FV@LabelPosition@#1}% - {\FV@Error{Label position `#1' not defined.}\FV@eha}% - {\@nameuse{FV@LabelPosition@#1}}} -\def\FV@LabelPosition@none{% - \let\FV@LabelPositionTopLine\relax% - \let\FV@LabelPositionBottomLine\relax} -\def\FV@LabelPosition@topline{% - \def\FV@LabelPositionTopLine{\@ne}% - \let\FV@LabelPositionBottomLine\relax} -\def\FV@LabelPosition@bottomline{% - \let\FV@LabelPositionTopLine\relax% - \def\FV@LabelPositionBottomLine{\@ne}} -\def\FV@LabelPosition@all{% - \def\FV@LabelPositionTopLine{\@ne}% - \def\FV@LabelPositionBottomLine{\@ne}} -\fvset{labelposition=topline} -%% DG/SR modification end -%% DG/SR modification begin - May. 19, 1998 -%% \def\FV@SingleFrameLine{% -\def\FV@SingleFrameLine#1{% -%% DG/SR modification end - \hbox to\z@{% - \kern\leftmargin -%% DG/SR modification begin - Jun. 22, 1998 - \ifnum#1=\z@ - \let\FV@Label\FV@LabelBegin - \else - \let\FV@Label\FV@LabelEnd - \fi - \ifx\FV@Label\relax -%% DG/SR modification end - \FancyVerbRuleColor{\vrule \@width\linewidth \@height\FV@FrameRule}% -%% DG/SR modification begin - Jun. 22, 1998 - \else - \ifnum#1=\z@ - \setbox\z@\hbox{\strut\enspace\FV@LabelBegin\enspace\strut}% - \else - \setbox\z@\hbox{\strut\enspace\FV@LabelEnd\enspace\strut}% - \fi - \@tempdimb=\dp\z@ - \advance\@tempdimb -.5\ht\z@ - \@tempdimc=\linewidth - \advance\@tempdimc -\wd\z@ - \divide\@tempdimc\tw@ - \ifnum#1=\z@ % Top line - \ifx\FV@LabelPositionTopLine\relax - \FancyVerbRuleColor{\vrule \@width\linewidth \@height\FV@FrameRule}% - \else - \FV@FrameLineWithLabel - \fi - \else % Bottom line - \ifx\FV@LabelPositionBottomLine\relax - \FancyVerbRuleColor{\vrule \@width\linewidth \@height\FV@FrameRule}% - \else - \FV@FrameLineWithLabel - \fi - \fi - \fi -%% DG/SR modification end - \hss}} -%% DG/SR modification begin - May. 19, 1998 -\def\FV@FrameLineWithLabel{% - \ht\z@\@tempdimb\dp\z@\@tempdimb% - \FancyVerbRuleColor{% - \vrule \@width\@tempdimc \@height\FV@FrameRule - \raise\@tempdimb\box\z@ - \vrule \@width\@tempdimc \@height\FV@FrameRule}} -%% DG/SR modification end -\def\FV@BeginListFrame@Lines{% - \begingroup - \lineskip\z@skip -%% DG modification begin - June 18, 1997 (effect of \baselineskip too earlier) -%% \baselineskip\z@skip -%% \FV@SingleFrameLine -%% DG/SR modification begin - May. 19, 1998 -%% \FV@SingleFrameLine - \FV@SingleFrameLine{\z@}% -%% DG/SR modification end - \kern-0.5\baselineskip\relax - \baselineskip\z@skip -%% DG modification end - \kern\FV@FrameSep\relax - \endgroup}% -\def\FV@EndListFrame@Lines{% - \begingroup - \baselineskip\z@skip - \kern\FV@FrameSep\relax -%% DG/SR modification begin - May. 19, 1998 -%% \FV@SingleFrameLine - \FV@SingleFrameLine{\@ne}% -%% DG/SR modification end - \endgroup} -\def\FV@SingleFrameSep{% - \hbox to \z@{% - \kern\leftmargin - \hbox to\linewidth{% - \FancyVerbRuleColor{% -%% DG modification begin - June 18, 1997 (\FV@FrameSep missing) - \ifx\FancyVerbFillColor\relax - \vrule\@width 0pt\@height\FV@FrameSep\relax - \fi -%% DG modification end - \vrule\@width\FV@FrameRule\relax - \ifx\FancyVerbFillColor\relax - \hfil - \else - {\FancyVerbFillColor\leaders\hrule\@height\FV@FrameSep\hfil}% - \fi -%% DG modification begin - June 18, 1997 (\FV@FrameSep missing) - \ifx\FancyVerbFillColor\relax - \vrule\@width 0pt\@height\FV@FrameSep\relax - \fi -%% DG modification end - \vrule\@width\FV@FrameRule\relax}}% - \hss}} -\def\FV@LeftListFrame@Single{% - \strut - {\FancyVerbRuleColor{\vrule \@width\FV@FrameRule}}% - \FV@FrameFillLine -%% DG modification begin - June 18, 1997 (to fill color on left side) -%% \kern\FV@FrameSep} - \ifx\FancyVerbFillColor\relax - \kern\FV@FrameSep - \else - {\noexpand\leavevmode\FancyVerbFillColor{\vrule\@width\FV@FrameSep}}% - \fi} -%% DG modification end -\def\FV@RightListFrame@Single{% -%% DG modification begin - June 18, 1997 (to fill color on right side) -%% \kern\FV@FrameSep - \ifx\FancyVerbFillColor\relax - \kern\FV@FrameSep - \else - {\noexpand\leavevmode\FancyVerbFillColor{\vrule\@width\FV@FrameSep}}% - \fi - {\noexpand\leavevmode\FancyVerbRuleColor{\vrule\@width\FV@FrameRule}}} -%% DG modification end -\def\FV@EndListFrame@Single{% - \penalty\@M - \FV@SingleFrameSep - \penalty\@M -%% DG/SR modification begin - May. 19, 1998 -%% \FV@SingleFrameLine} - \FV@SingleFrameLine{\@ne}} -%% DG/SR modification end -\define@key{FV}{framerule}{% - \@tempdima=#1\relax - \edef\FV@FrameRule{\number\@tempdima sp\relax}} -\def\KV@FV@framerule@default{\let\FV@FrameRule\fboxrule} -\define@key{FV}{framesep}{% - \@tempdima=#1\relax - \edef\FV@FrameSep{\number\@tempdima sp\relax}} -\def\KV@FV@framesep@default{\let\FV@FrameSep\fboxsep} -\fvset{framerule,framesep} -\define@key{FV}{rulecolor}{% - \def\@tempa{#1}% - \ifx\@tempa\FV@None - \let\FancyVerbRuleColor\relax - \else - \let\FancyVerbRuleColor\@tempa - \fi} -\define@key{FV}{fillcolor}{% - \def\@tempa{#1}% - \ifx\@tempa\FV@None - \let\FancyVerbFillColor\relax - \else - \let\FancyVerbFillColor\@tempa - \fi} -\fvset{rulecolor=none,fillcolor=none} -\def\FV@Frame@double{% - \let\FV@FrameBegin\FV@FrameBegin@double - \let\FV@FrameLine\FV@FrameLine@double - \let\FV@FrameEnd\FV@FrameEnd@double} -\define@key{FV}{frame}[none]{% - \@ifundefined{FV@Frame@#1}% - {\FV@Error{Frame style `#1' not defined.}\FV@eha}% - {\@nameuse{FV@Frame@#1}}} -\fvset{frame=none} -\newcounter{FancyVerbLine} -\define@key{FV}{firstnumber}[auto]{% - \def\@tempa{#1}\def\@tempb{auto}% - \ifx\@tempa\@tempb - \def\FV@SetLineNo{% - \c@FancyVerbLine\FV@CodeLineNo - \advance\c@FancyVerbLine\m@ne}% - \else - \def\@tempb{last}% - \ifx\@tempa\@tempb - \let\FV@SetLineNo\relax - \else -%% DG/SR modification begin - Jan. 19, 1998 -%% \def\FV@SetLineNo{\c@FancyVerbLine#1}% - \def\FV@SetLineNo{% - \c@FancyVerbLine#1 - \advance\c@FancyVerbLine\m@ne}% -%% DG/SR modification end - \fi - \fi} -\define@booleankey{FV}{numberblanklines}% - {\let\if@FV@NumberBlankLines\iftrue} - {\let\if@FV@NumberBlankLines\iffalse} -\fvset{numberblanklines=true} -%% DG/SR modification begin - May. 20, 1998 -%%\def\refstepcounter#1{% Adapted from latex.ltx -\def\FV@refstepcounter#1{% -%% DG/SR modification end - \stepcounter{#1}% - \protected@edef\@currentlabel - {\csname p@#1\endcsname\arabic{FancyVerbLine}}} -\def\FV@StepLineNo{% - \FV@SetLineNo -%% DG/SR modification begin - Apr. 28, 1998 and May 20, 1998 -%% \def\FV@StepLineNo{\refstepcounter{FancyVerbLine}}% - \def\FV@StepLineNo{% - \if@FV@NumberBlankLines - \FV@refstepcounter{FancyVerbLine} - \else - \ifx\FV@Line\empty - \else - \FV@refstepcounter{FancyVerbLine} - \fi - \fi}% -%% DG/SR modification end - \FV@StepLineNo} -%% DG/SR modification begin - 1995 -%%\def\theFancyVerbLine{\rm\tiny\arabic{FancyVerbLine}} -\def\theFancyVerbLine{\rmfamily\tiny\arabic{FancyVerbLine}} -%% DG/SR modification end -\define@key{FV}{numbers}[none]{% - \@ifundefined{FV@Numbers@#1}% - {\FV@Error{Numbers style `#1' not defined.}\FV@eha}% - {\@nameuse{FV@Numbers@#1}}} -%% DG modification begin - Dec. 20, 1995 and Jan. 28, 1998 -%%\def\FV@Numbers@none{\let\FV@LeftListNumber\relax} -\def\FV@Numbers@none{% -\let\FV@LeftListNumber\relax -\let\FV@RightListNumber\relax} -\newcount\FV@StepNumber -\define@key{FV}{stepnumber}{\FV@StepNumber#1} -\def\KV@FV@stepnumber@default{\FV@StepNumber\@ne} -\fvset{stepnumber} -%% DG modification begin - Dec. 20, 1995 -%%\def\FV@Numbers@left{% -%% \def\FV@LeftListNumber{\hbox to\z@{% -%% \hss\theFancyVerbLine\kern\FV@NumberSep}}} -\def\FV@Numbers@left{% -%% DG/SR modification begin - Apr. 28, 1998 - \let\FV@RightListNumber\relax -%% DG/SR modification end - \def\FV@LeftListNumber{% - \@tempcnta=\FV@CodeLineNo - \@tempcntb=\FV@CodeLineNo - \divide\@tempcntb\FV@StepNumber - \multiply\@tempcntb\FV@StepNumber - \ifnum\@tempcnta=\@tempcntb -%% DG/SR modification begin - Apr. 28, 1998 -%% \hbox to\z@{\hss\theFancyVerbLine\kern\FV@NumberSep}% - \if@FV@NumberBlankLines - \hbox to\z@{\hss\theFancyVerbLine\kern\FV@NumberSep}% - \else - \ifx\FV@Line\empty - \else - \hbox to\z@{\hss\theFancyVerbLine\kern\FV@NumberSep}% - \fi - \fi -%% DG/SR modification end - \fi}} -\def\FV@Numbers@right{% -%% DG/SR modification begin - Apr. 28, 1998 - \let\FV@LeftListNumber\relax -%% DG/SR modification end - \def\FV@RightListNumber{% - \@tempcnta=\FV@CodeLineNo - \@tempcntb=\FV@CodeLineNo - \divide\@tempcntb\FV@StepNumber - \multiply\@tempcntb\FV@StepNumber - \ifnum\@tempcnta=\@tempcntb -%% DG/SR modification begin - Apr. 28, 1998 -%% \hbox to \z@{\kern\FV@NumberSep\theFancyVerbLine\hss}% - \if@FV@NumberBlankLines - \hbox to\z@{\kern\FV@NumberSep\theFancyVerbLine\hss}% - \else - \ifx\FV@Line\empty - \else - \hbox to\z@{\kern\FV@NumberSep\theFancyVerbLine\hss}% - \fi - \fi -%% DG/SR modification end - \fi}} -%% DG modification end -\define@key{FV}{numbersep}{% - \@tempdima=#1\relax - \edef\FV@NumberSep{\number\@tempdima sp\relax}} -\fvset{numbers=none,numbersep=12pt,firstnumber=auto} -\def\FV@BVerbatimBegin{% - \begingroup - \FV@UseKeyValues - \FV@BeginVBox - \let\FV@ProcessLine\FV@BProcessLine - \FV@FormattingPrep - \FV@ObeyTabsInit}% -\def\FV@BVerbatimEnd{\FV@EndVBox\endgroup} -\def\FV@BeginVBox{% - \leavevmode - \hbox\ifx\FV@boxwidth\relax\else to\FV@boxwidth\fi\bgroup - \ifcase\FV@baseline\vbox\or\vtop\or$\vcenter\fi\bgroup} -\def\FV@EndVBox{\egroup\ifmmode$\fi\hfil\egroup} -\define@key{FV}{boxwidth}{% - \def\@tempa{#1}\def\@tempb{auto}% - \ifx\@tempa\@tempb - \let\FV@boxwidth\relax - \else - \@tempdima=#1\relax - \edef\FV@boxwidth{\number\@tempdima sp}% - \fi} -\def\KV@FV@boxwidth@default{\let\FV@boxwidth\relax} -\define@key{FV}{baseline}{% - \if t#1\@empty\let\FV@baseline\@ne\else - \if c#1\@empty\let\FV@baseline\tw@\else\let\FV@baseline\z@\fi - \fi} -\fvset{baseline=b,boxwidth} -\def\FV@BProcessLine#1{\hbox{\FancyVerbFormatLine{#1}}} -\def\FVB@BVerbatim{\FV@BVerbatimBegin\FV@Scan} -\def\FVE@BVerbatim{\FV@BVerbatimEnd} -\DefineVerbatimEnvironment{BVerbatim}{BVerbatim}{} -\def\FV@BUseVerbatim#1{\FV@BVerbatimBegin#1\FV@BVerbatimEnd} -\def\BVerbatimInput{\FV@Command{}{BVerbatimInput}} -\def\FVC@BVerbatimInput#1{\FV@BUseVerbatim{\FV@Input{#1}}} -\def\SaveVerbatim{\FV@Environment{}{SaveVerbatim}} -\def\FVB@SaveVerbatim#1{% - \@bsphack - \begingroup - \FV@UseKeyValues -%% \FV@BeginVBox -%% \let\FV@ProcessLine\FV@BProcessLine -%% \FV@FormattingPrep -%% \FV@ObeyTabsInit% -%% - \def\SaveVerbatim@Name{#1}% - \gdef\FV@TheVerbatim{}% - \def\FV@ProcessLine##1{% - \expandafter\gdef\expandafter\FV@TheVerbatim\expandafter{% - \FV@TheVerbatim\FV@ProcessLine{##1}}}% - \gdef\FV@TheVerbatim{}% - \FV@Scan} -\def\FVE@SaveVerbatim{% - \expandafter\global\expandafter\let - \csname FV@SV@\SaveVerbatim@Name\endcsname\FV@TheVerbatim -%% \expandafter\gdef -%% \csname FV@SV@\SaveVerbatim@Name\endcsname{\FV@TheVerbatim} -%% \FV@EndVBox -%% \endgroup} - \endgroup\@esphack} -\DefineVerbatimEnvironment{SaveVerbatim}{SaveVerbatim}{} -\def\FV@CheckIfSaved#1#2{% - \@ifundefined{FV@SV@#1}% - {\FV@Error{No verbatim text has been saved under name `#1'}\FV@eha}% - {#2{\csname FV@SV@#1\endcsname}}} -\def\UseVerbatim{\FV@Command{}{UseVerbatim}} -\def\FVC@UseVerbatim#1{\FV@CheckIfSaved{#1}{\FV@UseVerbatim}} -\def\LUseVerbatim{\FV@Command{}{LUseVerbatim}} -\def\FVC@LUseVerbatim#1{\FV@CheckIfSaved{#1}{\FV@LUseVerbatim}} -\def\BUseVerbatim{\FV@Command{}{BUseVerbatim}} -\def\FVC@BUseVerbatim#1{\FV@CheckIfSaved{#1}{\FV@BUseVerbatim}} -\newwrite\FV@OutFile -\def\VerbatimOut{\FV@Environment{}{VerbatimOut}} -\def\FVB@VerbatimOut#1{% - \@bsphack - \begingroup - \FV@UseKeyValues - \FV@DefineWhiteSpace - \def\FV@Space{\space}% - \FV@DefineTabOut - \def\FV@ProcessLine{\immediate\write\FV@OutFile}% - \def\@inpenc@loop##1##2{% - \@tempcnta`##1\relax - \loop - \catcode\@tempcnta12 - \ifnum\@tempcnta<`##2\relax - \advance\@tempcnta\@ne - \repeat}% - \@inpenc@loop\^^A\^^H% - \@inpenc@loop\^^K\^^K% - \@inpenc@loop\^^N\^^_% - \@inpenc@loop\^^?\^^ff% - \immediate\openout\FV@OutFile #1\relax - \let\FV@FontScanPrep\relax -%% DG/SR modification begin - May. 18, 1998 (to avoid problems with ligatures) - \let\@noligs\relax -%% DG/SR modification end - \FV@Scan} -\def\FVE@VerbatimOut{\immediate\closeout\FV@OutFile\endgroup\@esphack} -\DefineVerbatimEnvironment{VerbatimOut}{VerbatimOut}{} -\def\FV@DefineTabOut{% - \def\FV@Tab{}% - \@tempcnta=\FancyVerbTabSize\relax - \loop\ifnum\@tempcnta>\z@ - \edef\FV@Tab{\FV@Tab\space}% - \advance\@tempcnta\m@ne - \repeat} -\def\SaveVerb{\FV@Command{}{SaveVerb}} -\begingroup -\catcode`\^^M=\active% -\gdef\FVC@SaveVerb#1#2{% - \@namedef{FV@SV@#1}{}% - \begingroup% - \FV@UseKeyValues% - \FV@CatCodes% - \outer\def^^M{\FV@EOL}% - \global\let\@tempg\FancyVerbAfterSave% - \catcode`#2=12% - \def\@tempa{\def\FancyVerbGetVerb####1####2}% - \expandafter\@tempa\string#2{\endgroup\@namedef{FV@SV@#1}{##2}\@tempg}% - \FancyVerbGetVerb\FV@EOL}% -\endgroup -\def\FV@EOL{% - \endgroup - \FV@Error% - {Could not find the end delimiter of a short verb command}% - {You probably just forget the end delimiter of a \string\Verb\space or - \string\SaveVerb^^J% - command, or you broke the literal text across input lines.^^J% - Hit to procede.}} -\define@key{FV}{aftersave}{\def\FancyVerbAfterSave{#1}} -\fvset{aftersave=} -\def\FV@UseVerb#1{\mbox{\FV@UseKeyValues\FV@FormattingPrep#1}} -\def\UseVerb{\FV@Command{}{UseVerb}} -\def\FVC@UseVerb#1{% - \@ifundefined{FV@SV@#1}% - {\FV@Error{Short verbatim text never saved to name `#1'}\FV@eha}% - {\FV@UseVerb{\@nameuse{FV@SV@#1}}}} -\def\Verb{\FV@Command{}{Verb}} -\begingroup -\catcode`\^^M=\active% -\gdef\FVC@Verb#1{% - \begingroup% - \FV@UseKeyValues% - \FV@FormattingPrep% - \FV@CatCodes% - \outer\def^^M{}% - \catcode`#1=12% - \def\@tempa{\def\FancyVerbGetVerb####1####2}% - \expandafter\@tempa\string#1{\mbox{##2}\endgroup}% - \FancyVerbGetVerb\FV@EOL}% -\endgroup -\def\DefineShortVerb{\FV@Command{}{DefineShortVerb}} -\def\FVC@DefineShortVerb#1{% - \@ifundefined{FV@CC@\string#1}% - {\FVC@@DefineShortVerb#1}% - {\FV@Error{`\expandafter\@gobble\string#1' is already a short - verb character.}\FV@eha}} -\def\FVC@@DefineShortVerb#1{% - \begingroup - \lccode`\~=`#1% - \lowercase{\gdef\@tempg{\edef~}\global\let\@temph~}% - \endgroup - \expandafter\let\csname FV@AC@\string#1\endcsname\@temph - \expandafter\edef\csname FV@CC@\string#1\endcsname{\the\catcode`#1}% - \expandafter\let\csname FV@KV@\string#1\endcsname\FV@KeyValues - \@tempg{% - \let\noexpand\FV@KeyValues\expandafter\noexpand - \csname FV@KV@\string#1\endcsname - \noexpand\FVC@Verb\expandafter\@gobble\string#1}% - \expandafter\def\expandafter\dospecials\expandafter{\dospecials\do#1}% - \expandafter\def\expandafter\@sanitize\expandafter{\@sanitize\@makeother#1}% - \catcode`#1=\active}% -\def\UndefineShortVerb#1{% - \@ifundefined{FV@CC@\string#1}% - {\FV@Error{`\expandafter\@gobble\string#1' is not a short - verb character}\FV@eha}% - {\FV@UndefineShortVerb#1}} -\def\FV@UndefineShortVerb#1{% - \catcode`#1=\csname FV@CC@\string#1\endcsname -%% DG/SR modification begin - Jun. 12, 1998 - \expandafter\let\csname FV@CC@\string#1\endcsname\relax -%% DG/SR modification end - \begingroup - \lccode`\~=`#1% - \lowercase{\gdef\@tempg{\let~}}% - \endgroup - \expandafter\@tempg\csname FV@AC@\string#1\endcsname - \def\@tempa##1\do#1##2\@nil##3\@nil##4\@@nil{##3\def\dospecials{##1##2}\fi}% - \expandafter\@tempa\dospecials\@nil\iftrue\@nil\do#1\@nil\iffalse\@nil\@@nil - \def\@tempa##1\@makeother#1##2\@nil##3\@nil##4\@@nil{% - ##3\def\@sanitize{##1##2}\fi}% - \expandafter\@tempa\@sanitize\@nil\iftrue\@nil\do#1\@nil\iffalse\@nil\@@nil} -\def\SaveMVerb{\FV@Command{}{SaveMVerb}} -\begingroup -\catcode`\^^M=\active% -\gdef\FVC@SaveMVerb#1#2{% - \@ifundefined{FV@SVM@#1}{}% - {\FV@Error{Moving verbatim name `#1' already used}% - {I will overwrite the old definition. Hit to continue.}}% - \global\@namedef{FV@SVM@#1}{}% - \begingroup% - \let\FV@SavedKeyValues\FV@KeyValues% - \FV@UseKeyValues% - \FV@CatCodes% - \outer\def^^M{}% - \global\let\@tempg\FancyVerbAfterSave% - \catcode`#2=12% - \def\@tempa{\def\FancyVerbGetVerb####1####2}% - \expandafter\@tempa\string#2{% - \if@filesw - \FV@DefineWhiteSpace% - \let\FV@Space\space% - \let\FV@Tab\space% - \FV@MakeUnActive% - \let\protect\string - \immediate\write\@auxout{% - \noexpand\SaveGVerb[\FV@SavedKeyValues]{#1}\string#2##2\string#2}% - \fi - \endgroup% - \@namedef{FV@SV@#1}{##2}% - \@tempg}% - \FancyVerbGetVerb\FV@EOL}% -\endgroup -\def\SaveGVerb{\FV@Command{}{SaveGVerb}} -\begingroup -\catcode`\^^M=\active% -\gdef\FVC@SaveGVerb#1#2{% - \global\@namedef{FV@SVG@#1}{}% - \begingroup% - \FV@UseKeyValues% - \FV@CatCodes% - \outer\def^^M{}% - \catcode`#2=12% - \def\@tempa{\def\FancyVerbGetVerb####1####2}% - \expandafter\@tempa\string#2{\endgroup\global\@namedef{FV@SVG@#1}{##2}}% - \FancyVerbGetVerb\FV@EOL}% -\endgroup -\def\UseMVerb{\protect\pUseMVerb} -\def\pUseMVerb{\FV@Command{}{pUseMVerb}} -\def\FVC@pUseMVerb#1{% - \expandafter\ifx \csname FV@SVM@#1\endcsname\relax - \expandafter\ifx \csname FV@SVG@#1\endcsname\relax - \@warning{Moving verbatim text not defined for name `#1'}\FV@eha - {\bf ??}% - \else - \FV@UseVerb{\@nameuse{FV@SVG@#1}}% - \fi - \else - \FV@UseVerb{\@nameuse{FV@SVM@#1}}% - \fi} -\expandafter\ifx\csname documentclass\endcsname\relax - \def\lrbox#1{% - \edef\@tempa{% - \endgroup - \setbox#1\hbox{% - \begingroup\aftergroup}% - \def\noexpand\@currenvir{\@currenvir}}% - %\def\noexpand\@currenvline{\on@line}}% - \@tempa - \@endpefalse - \bgroup - \ignorespaces} - \def\endlrbox{\unskip\egroup} -\fi -%% DG/SR modification begin - Jan. 22, 1998 -%%\@input{fancyvrb.rc} -\@input{fancyvrb.cfg} -%% DG/SR modification end -\endinput -%% -%% End of file `fancyvrb.sty'. diff --git a/Master/texmf-doc/doc/russian/lshort-russian/src/graphic.tex b/Master/texmf-doc/doc/russian/lshort-russian/src/graphic.tex deleted file mode 100644 index 41cfa3ba205..00000000000 --- a/Master/texmf-doc/doc/russian/lshort-russian/src/graphic.tex +++ /dev/null @@ -1,654 +0,0 @@ -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\setcounter{chapter}{4} -\newcommand{\graphicscompanion}{\emph{The \LaTeX{} Graphics Companion}~\cite{graphicscompanion}} -\newcommand{\hobby}{\emph{Руководство пользователя MetaPost}~\cite{metapost}} -\newcommand{\hoenig}{\emph{\TeX{} Unbound}~\cite{unbound}} -\newcommand{\graphicsinlatex}{\emph{Графика в \LaTeXe{}}~\cite{ursoswald}} - -\chapter{Генерация математической графики} - -\begin{intro} -Большинство людей пользуются \LaTeX\ для верстки текста. Но \LaTeX{} также -предлагает, хотя и ограниченную, возможность генерации графики по -текстовому описанию. Более того, существует множество расширений \LaTeX{}, -обходящих эти ограничния. Эта глава расскажет о нескольких из них. -\end{intro} - -\section{Обзор} - -Окружение \ei{picture} позволяет программировать картинки прямо в -среде \LaTeX. Подробное описание приводится в \manual. С одной -стороны, при этом есть довольно серьезные ограничения, поскольку как -наклоны отрезков, так и радиусы дуг сильно ограничены в возможных -значениях. С другой стороны, в окружении \ei{picture} существуюет -команда \ci{qbezier}, где <<\texttt{q}>> означает -<<квадратичный>>. Множество часто используемых кривых, таких как -окружности, эллипсы или цепные линии, можно удовлетворительно -аппроксимировать квадратичными кривыми Безье, хотя для этого и -требуются некоторые математические усилия. Кроме того, когда блоки -команд \ci{qbezier} генерируются из языка программирования, скажем, -Java, окружение \ei{picture} становится довольно мощным. - -Хотя программирование картинок прямо из \LaTeX{} серьезно ограничено и -часто довольно утомительно, оно все же бывает полезным. Полученные -таким образом документы получаются компактными, и нет необходимости -прилагать к документу графические файлы. - -Пакеты наподобие \pai{epic} и \pai{eepic} (описанные, например, в -\companion) или \pai{pstricks} помогают снять ограничения -оригинального окружения \ei{picture} и сильно развивают графические -возможности \LaTeX{}. - -Тогда как первые два пакета просто улучшают окружение \ei{picture}, -пакет \pai{pstricks} имеет собственное окружение для рисования, -\ei{pspicture}. Возможности \pai{pstricks} проистекают их того, что он -широко использует функциональность \PSi{}. Кроме этого пакета, -существует и множество других, написанных для конкретных задач. Одним -из них является пакет \texorpdfstring{\Xy}{Xy}-pic, описанный в конце -этой главы. Множество таких пакетов детально описано в -\graphicscompanion{} (не путать с \companion). - -Возможно, самым мощным графическим инструментом, связанным с \LaTeX{}, -является \MP, программа-близнец написанной Donald E. Knuth программы -\texttt{METAFONT}. \MP{} использует очень мощный и математически -изощренный язык \texttt{METAFONT}. В отличие же от \texttt{METAFONT}, -генерирующего растры, \MP{} генерирует файлы \EPSi{}, которые можно -импортировать в \LaTeX{}. Далее смотрите \hobby, или введение в -\cite{ursoswald}. - -Очень подробно работа с графикой (и шрифтами) в \LaTeX{} и \TeX{} -описана в \hoenig. - -\section{Окружение \texttt{picture}} -\secby{Urs Oswald}{osurs@bluewin.ch} - -\subsection{Основные команды} - -Окружение \ei{picture} создается одной из двух команд: -\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} по умолчанию составляет 1pt. Первая пара, -$(x,y)$, диктует резервирование для картинки прямоугольного -пространства внутри документа. Необязательная вторая пара, -$(x_0,y_0)$, присваивает произвольные координаты нижнему левому углу -зарезервированного прямоугольника. - -Большинство команд рисования имеют одну из двух форм: -\begin{lscommand} -\ci{put}\verb|(|$x,y$\verb|){|\emph{объект}\verb|}| -\end{lscommand} -\noindent или -\begin{lscommand} -\ci{multiput}\verb|(|$x,y$\verb|)(|$\Delta x,\Delta y$\verb|){|$n$\verb|}{|\emph{объект}\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} - -\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, -\] -и они обязаны быть взаимно простыми (не иметь общего делителя, кроме -1). Иллюстрация показывает все 25 возможных значений наклона в первом -квадранте. Длина выражается в единицах \ci{unitlength}. Аргумент длины -задает вертикальную координату в случае вертикального отрезка и -горизонтальную~--- во всех остальных случаях. - -\subsection{Векторы} - -\begin{example} -\setlength{\unitlength}{1mm} -\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. -\] -Компоненты также обязаны быть взаимно простыми (не иметь общего -делителя, кроме 1). Заметьте эффект команды \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{диаметр}\verb|}}| -\end{lscommand} -\noindent рисует окружность с центром в точке $(x,y)$ и диаметром (не -радиусом!) \emph{диаметр}. Окружение \ei{picture} позволяет рисовать -окружности диаметром не более примерно 14\,мм, и даже в этих пределах -допустимы не все диаметры. Команда \ci{circle*} рисует круг -(заполненную окружность). - -Как и в случае отрезков, вы можете прибегать к помощи дополнительных -пакетов, таких, как \pai{eepic} или \pai{pstricks}. -Подробное описание этих пакетов приведено в \graphicscompanion. - -Существует также и выход в рамках окружения \ei{picture}. Если вы не -боитесь выполнения необходимых вычислений (или возлагаете их на -программу), то можно изображать произвольные окружности и эллипсы при -помощи кривых Безье. Примеры и исходные тексты на Java приведены в -\graphicsinlatex. - -\subsection{Текст и формулы} - -\begin{example} -\setlength{\unitlength}{1cm} -\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{Команды \ci{multiput} и \ci{linethickness}} - -\begin{example} -\setlength{\unitlength}{2mm} -\begin{picture}(30,20) - \linethickness{0.075mm} - \multiput(0,0)(1,0){31}% - {\line(0,1){20}} - \multiput(0,0)(0,1){21}% - {\line(1,0){30}} - \linethickness{0.15mm} - \multiput(0,0)(5,0){7}% - {\line(0,1){20}} - \multiput(0,0)(0,5){5}% - {\line(1,0){30}} - \linethickness{0.3mm} - \multiput(5,0)(10,0){3}% - {\line(0,1){20}} - \multiput(0,5)(0,10){2}% - {\line(1,0){30}} -\end{picture} -\end{example} -Команда -\begin{lscommand} - \ci{multiput}\verb|(|$x,y$\verb|)(|$\Delta x,\Delta y$\verb|){|$n$\verb|}{|\emph{объект}\verb|}| -\end{lscommand} -\noindent имеет 4 аргумента: начальная точка, вектор перехода от -одного объекта к следующему, число объектов и собственно объект для -рисования. Команда \ci{linethickness} относится к горизонтальным и -вертикальным отрезкам, но никогда~--- к наклонным или -окружностям. Она, однако относится также и к квадратичным кривым -Безье! - -\subsection{Овалы. Команды \ci{thinlines} и \ci{thicklines}} - -\begin{example} -\setlength{\unitlength}{1cm} -\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{позиция}\verb|]}| -\end{lscommand} -\noindent выводит овал с центром в $(x,y)$, имеющий длину $w$ и высоту -$h$. Необязательный аргумент \emph{позиция} может принимать значения -\texttt{b}, \texttt{t}, \texttt{l} и \texttt{r} (вниз/вверх/влево/вправо) -и может сочетать эти значения, как на приведенном примере. - -Толщина линий может управляться одной из двух команд:\\ -\ci{linethickness}\verb|{|\emph{длина}\verb|}| -с одной стороны, и \ci{thinlines} и \ci{thicklines}~--- с другой. В то -время, как \ci{linethickness}\verb|{|\emph{длина}\verb|}| влияет -только на горизонтальные и вертикальные линии (и квадратичные кривые -Безье), \ci{thinlines} и \ci{thicklines} влияет на наклонные отрезки, -окружности и овалы. - -\subsection{Повторное использование блоков картинки} - -\begin{example} -\setlength{\unitlength}{0.5mm} -\begin{picture}(120,168) -\newsavebox{\foldera}% объявление -\savebox{\foldera} - (40,32)[bl]{% определение - \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]{% определение - \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} -Блок рисунка может быть \emph{объявлен} командой -\begin{lscommand} - \ci{newsavebox}\verb|{|\emph{название}\verb|}| -\end{lscommand} -\noindent а затем \emph{определен} командой -\begin{lscommand} - \ci{savebox}\verb|{|\emph{название}\verb|}(|\emph{ширина,высота}\verb|)[|\emph{позиция}\verb|]{|\emph{содержание}\verb|}| -\end{lscommand} -\noindent и, наконец, сколько угодно раз \emph{нарисован} командой -\begin{lscommand} - \ci{put}\verb|(|$x,y$\verb|)|\ci{usebox}\verb|{|\emph{название}\verb|}| -\end{lscommand} - -Необязательный аргумент \emph{позиция} определяет точку привязки -блока. В приведенном примере он установлен в значение \texttt{bl}, что -помещает точку привязки в нижний левый угол блока. Другие варианты -значения~--- \texttt{t} (вверх) и \texttt{r} (вправо). - -Аргумент \emph{название} фактически является командой \LaTeX{} (отсюда -и обратная косая черта перед ним в рассматриваемом примере). Блоки -могут быть вложенными: в этом примере внутри определения \ci{folderb} -используется \ci{foldera}. - -Команду \ci{oval} пришлось применить потому что команда \ci{line} не -работает, если длина отрезка меньше примерно 3\,мм. - -\subsection{Квадратичные кривые Безье} - -\begin{example} -\setlength{\unitlength}{1cm} -\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\ приведена Java-программа, генирующая - необходимые команды \ci{qbezier}. - -\subsection{Цепная линия} - -\begin{example} -\setlength{\unitlength}{1.3cm} -\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)$. Крестики -отмечают точки \emph{настоящей} цепной линии. Ошибка едва заметна, -будучи меньше одного процента. - -Этот пример показывает использование необязательного аргумента команды -\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}{1cm} -\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} - -Управляющие точки двух кривых Безье были вычислены по формулам -(\ref{zwischenpunkt}). Положительная ветка определяется -$P_1=(0,\,0),\,m_1=1$ и $P_2=(2,\,\tanh 2),\,m_2=1/\cosh^2 -2$. Картинка вновь определяется в математически удобных координатах, а -нижний левый угол получает математические координаты $(-3,-2)$ (черный -кружок). - -\section{\texorpdfstring{\Xy}{Xy}-pic} -\secby{Alberto Manuel Brand\~ao Sim\~oes}{albie@alfarrabio.di.uminho.pt} -\pai{xy}~--- это специальный пакет для рисования диаграмм. Для его -использования просто добавьте к преамбуле документа следующую строчку: -\begin{lscommand} -\verb|\usepackage[|\emph{опции}\verb|]{xy}| -\end{lscommand} -\noindent где \emph{опции}~--- список загружаемых функций \Xy-pic. Эти -опции полезны, в первую очередь, для отладки пакета. Рекомендуется -использовать опцию \verb!all!, инструктируя \LaTeX{} загрузить все -команды \Xy{}. - -Диаграммы \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} -Команда рисования вектора помещается в клетку, откуда исходит -вектор. Аргументом является направление, куда показывает вектор -(\texttt{u}p, \texttt{d}own, \texttt{r}ight и \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+|+. Он помещает -текст \emph{в} стрелку. -\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} -\shorthandoff{"} -\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} -\shorthandon{"} -\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} - -Модификаторы между косыми чертами определяют, как будут рисоваться -кривые. \Xy-pic предлагает множество способов изменить способ -рисования кривых; подробности смотрите в документации на \Xy-pic. - -% \begin{example} -% \begin{lscommand} -% \ci{dum} -% \end{lscommand} -% \end{example} - diff --git a/Master/texmf-doc/doc/russian/lshort-russian/src/hbaw.sty b/Master/texmf-doc/doc/russian/lshort-russian/src/hbaw.sty deleted file mode 100644 index 8594acff911..00000000000 --- a/Master/texmf-doc/doc/russian/lshort-russian/src/hbaw.sty +++ /dev/null @@ -1,154 +0,0 @@ -%% -%% This is file `hbaw.sty', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% fvrb-ex.dtx (with options: `hbaw') -%% -%% IMPORTANT NOTICE: -%% -%% For the copyright see the source file. -%% -%% Any modified versions of this file must be renamed -%% with new filenames distinct from hbaw.sty. -%% -%% For distribution of the original source see the terms -%% for copying and modification in the file fvrb-ex.dtx. -%% -%% This generated file may be distributed as long as the -%% original source files, as listed above, are part of the -%% same distribution. (The sources need not necessarily be -%% in the same archive or directory.) -%% -%% Packages `fvrb-ex' (`fvrb-ex', `hbaw' and `hcolor') -%% -%% Denis Girou (CNRS/IDRIS - France) -%% March 27, 1998 -%% -%% Package `hbaw' -%% -\NeedsTeXFormat{LaTeX2e} -\def\fileversion{1.4} -\def\filedate{1998/03/19} -\ProvidesPackage{hbaw}[\filedate] -\message{`hbaw' v\fileversion, \filedate\space (Denis Girou)} -\newcommand{\FvrbEx@ColoredBox}[3]{% -\fboxsep=1pt\fcolorbox{#2}{#2}{\textcolor{#3}{\textbf{#1}}}} -\def\Highlight@Attributes{% -\def\HLa##1{\ifmmode\mathbf{##1}\else\textbf{##1}\fi} -\def\HLb##1{\ifmmode\mathsl{##1}\else\textsl{##1}\fi} -\def\HLc##1{##1} -\def\HLd##1{##1} -\def\HLe##1{\ifmmode\mathbf{##1}\else\textbf{##1}\fi} -\def\HLf##1{##1} -\def\HLq##1{##1} -\def\HLr##1{##1} -\def\HLz##1{##1} -\def\HLBFa##1{\ifmmode\mathbf{##1}\else\textbf{##1}\fi} -\def\HLBFb##1{\ifmmode\mathbf{##1}\else\textbf{##1}\fi} -\def\HLBFc##1{\ifmmode\mathbf{##1}\else\textbf{##1}\fi} -\def\HLBFd##1{\ifmmode\mathbf{##1}\else\textbf{##1}\fi} -\def\HLBFe##1{\ifmmode\mathbf{##1}\else\textbf{##1}\fi} -\def\HLBFf##1{\ifmmode\mathbf{##1}\else\textbf{##1}\fi} -\def\HLBFz##1{\ifmmode\mathbf{##1}\else\textbf{##1}\fi} -\def\HLITa##1{\ifmmode\mathnormal{##1}\else\textsl{##1}\fi} -\def\HLITb##1{\ifmmode\mathnormal{##1}\else\textsl{##1}\fi} -\def\HLITc##1{\ifmmode\mathnormal{##1}\else\textsl{##1}\fi} -\def\HLITd##1{\ifmmode\mathnormal{##1}\else\textsl{##1}\fi} -\def\HLITe##1{\ifmmode\mathnormal{##1}\else\textsl{##1}\fi} -\def\HLITf##1{\ifmmode\mathnormal{##1}\else\textsl{##1}\fi} -\def\HLITz##1{\ifmmode\mathnormal{##1}\else\textsl{##1}\fi} -\def\HLSCa##1{\ifmmode\mathit{##1}\else\textsc{##1}\fi} -\def\HLSCb##1{\ifmmode\mathit{##1}\else\textsc{##1}\fi} -\def\HLSCc##1{\ifmmode\mathit{##1}\else\textsc{##1}\fi} -\def\HLSCd##1{\ifmmode\mathit{##1}\else\textsc{##1}\fi} -\def\HLSCe##1{\ifmmode\mathit{##1}\else\textsc{##1}\fi} -\def\HLSCf##1{\ifmmode\mathit{##1}\else\textsc{##1}\fi} -\def\HLSCz##1{\ifmmode\mathit{##1}\else\textsc{##1}\fi} -\def\HLTTa##1{\ifmmode\mathtt{##1}\else\texttt{##1}\fi} -\def\HLTTb##1{\ifmmode\mathtt{##1}\else\texttt{##1}\fi} -\def\HLTTc##1{\ifmmode\mathtt{##1}\else\texttt{##1}\fi} -\def\HLTTd##1{\ifmmode\mathtt{##1}\else\texttt{##1}\fi} -\def\HLTTe##1{\ifmmode\mathtt{##1}\else\texttt{##1}\fi} -\def\HLTTf##1{\ifmmode\mathtt{##1}\else\texttt{##1}\fi} -\def\HLTTq##1{\ifmmode\mathtt{##1}\else\texttt{##1}\fi} -\def\HLTTr##1{\ifmmode\mathtt{##1}\else\texttt{##1}\fi} -\def\HLTTz##1{\ifmmode\mathtt{##1}\else\texttt{##1}\fi} -\def\HLITTTa##1{\ifmmode\mathtt{##1}\else\textsl{\texttt{##1}}\fi} -\def\HLITTTb##1{\ifmmode\mathtt{##1}\else\textsl{\texttt{##1}}\fi} -\def\HLITTTc##1{\ifmmode\mathtt{##1}\else\textsl{\texttt{##1}}\fi} -\def\HLITTTd##1{\ifmmode\mathtt{##1}\else\textsl{\texttt{##1}}\fi} -\def\HLITTTe##1{\ifmmode\mathtt{##1}\else\textsl{\texttt{##1}}\fi} -\def\HLITTTf##1{\ifmmode\mathtt{##1}\else\textsl{\texttt{##1}}\fi} -\def\HLITTTz##1{\ifmmode\mathtt{##1}\else\textsl{\texttt{##1}}\fi} -\def\HLCBBa##1{\FvrbEx@ColoredBox{##1}{blue}{black}} -\def\HLCBBb##1{\FvrbEx@ColoredBox{##1}{cyan}{black}} -\def\HLCBBc##1{\FvrbEx@ColoredBox{##1}{green}{black}} -\def\HLCBBd##1{\FvrbEx@ColoredBox{##1}{magenta}{black}} -\def\HLCBBe##1{\FvrbEx@ColoredBox{##1}{red}{black}} -\def\HLCBBf##1{\FvrbEx@ColoredBox{##1}{yellow}{black}} -\def\HLCBBz##1{\FvrbEx@ColoredBox{##1}{black}{black}} -\def\HLCBWa##1{\FvrbEx@ColoredBox{##1}{blue}{white}} -\def\HLCBWb##1{\FvrbEx@ColoredBox{##1}{green}{white}} -\def\HLCBWc##1{\FvrbEx@ColoredBox{##1}{green}{white}} -\def\HLCBWd##1{\FvrbEx@ColoredBox{##1}{magenta}{white}} -\def\HLCBWe##1{\FvrbEx@ColoredBox{##1}{red}{white}} -\def\HLCBWf##1{\FvrbEx@ColoredBox{##1}{green}{white}} -\def\HLCBWz##1{\FvrbEx@ColoredBox{##1}{black}{white}} -\def\HLSa##1{\underline{##1}} -\def\HLSb##1{\underline{##1}} -\def\HLSc##1{\underline{##1}} -\def\HLSd##1{\underline{##1}} -\def\HLSe##1{\underline{##1}} -\def\HLSf##1{\underline{##1}} -\def\HLSz##1{\underline{##1}} -\def\HLSaa##1{\underline{##1}} -\def\HLSbb##1{\underline{##1}} -\def\HLScc##1{\underline{##1}} -\def\HLSdd##1{\underline{##1}} -\def\HLSee##1{\underline{##1}} -\def\HLSef##1{\underline{##1}} -\def\HLSez##1{\underline{##1}} -} -\def\NoHighlight@Attributes{% -\catcode`\^^a7=0\relax% -\catcode`\^^b5=1\relax% -\catcode`\^^b6=2\relax% -\def\HLa##1{##1}% -\def\HLb##1{##1}% -\def\HLc##1{##1}% -\def\HLd##1{##1}% -\def\HLe##1{##1}% -\def\HLf##1{##1}% -\def\HLBFa##1{##1}% -\def\HLBFb##1{##1}% -\def\HLBFc##1{##1}% -\def\HLBFd##1{##1}% -\def\HLBFe##1{##1}% -\def\HLBFf##1{##1}% -\def\HLITa##1{##1}% -\def\HLITb##1{##1}% -\def\HLITc##1{##1}% -\def\HLITd##1{##1}% -\def\HLITe##1{##1}% -\def\HLITf##1{##1}% -\def\HLCBBa##1{##1}% -\def\HLCBBb##1{##1}% -\def\HLCBBc##1{##1}% -\def\HLCBBd##1{##1}% -\def\HLCBBe##1{##1}% -\def\HLCBBf##1{##1}% -\def\HLCBBz##1{##1}% -\def\HLCBWa##1{##1}% -\def\HLCBWb##1{##1}% -\def\HLCBWc##1{##1}% -\def\HLCBWd##1{##1}% -\def\HLCBWe##1{##1}% -\def\HLCBWf##1{##1}% -\def\HLCBWz##1{##1}% -} -\Highlight@Attributes -\endinput -%% -%% End of file `hbaw.sty'. diff --git a/Master/texmf-doc/doc/russian/lshort-russian/src/hcolor.sty b/Master/texmf-doc/doc/russian/lshort-russian/src/hcolor.sty deleted file mode 100644 index c9b80d1bbec..00000000000 --- a/Master/texmf-doc/doc/russian/lshort-russian/src/hcolor.sty +++ /dev/null @@ -1,157 +0,0 @@ -%% -%% This is file `hcolor.sty', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% fvrb-ex.dtx (with options: `hcolor') -%% -%% IMPORTANT NOTICE: -%% -%% For the copyright see the source file. -%% -%% Any modified versions of this file must be renamed -%% with new filenames distinct from hcolor.sty. -%% -%% For distribution of the original source see the terms -%% for copying and modification in the file fvrb-ex.dtx. -%% -%% This generated file may be distributed as long as the -%% original source files, as listed above, are part of the -%% same distribution. (The sources need not necessarily be -%% in the same archive or directory.) -%% -%% Packages `fvrb-ex' (`fvrb-ex', `hbaw' and `hcolor') -%% -%% Denis Girou (CNRS/IDRIS - France) -%% March 27, 1998 -%% -%% Package `hcolor' -%% -\NeedsTeXFormat{LaTeX2e} -\def\fileversion{1.4} -\def\filedate{1998/03/19} -\ProvidesPackage{hcolor}[\filedate] -\message{`hcolor' v\fileversion, \filedate\space (Denis Girou)} -\newcommand{\FvrbEx@ColoredUnderline}[3]{% -$\setbox\z@\hbox{\begingroup#3\endgroup}% -\dp\z@\z@\m@th\color{#1}\underline{\textcolor{#2}{\box\z@}}$} -\newcommand{\FvrbEx@ColoredBox}[3]{% -\fboxsep=1pt\fcolorbox{#2}{#2}{\textcolor{#3}{\textbf{#1}}}} -\def\Highlight@Attributes{% -\def\HLa##1{\textcolor{blue}{##1}} -\def\HLb##1{\textcolor{cyan}{##1}} -\def\HLc##1{\textcolor{green}{##1}} -\def\HLd##1{\textcolor{magenta}{##1}} -\def\HLe##1{\textcolor{red}{##1}} -\def\HLf##1{\textcolor{yellow}{##1}} -\def\HLq##1{\textcolor{PaleGreen}{##1}} -\def\HLr##1{\textcolor{SlateBlue}{##1}} -\def\HLz##1{\textcolor{black}{##1}} -\def\HLBFa##1{\textcolor{blue}{\textbf{##1}}} -\def\HLBFb##1{\textcolor{cyan}{\textbf{##1}}} -\def\HLBFc##1{\textcolor{green}{\textbf{##1}}} -\def\HLBFd##1{\textcolor{magenta}{\textbf{##1}}} -\def\HLBFe##1{\textcolor{red}{\textbf{##1}}} -\def\HLBFf##1{\textcolor{yellow}{\textbf{##1}}} -\def\HLBFz##1{\textcolor{black}{\textbf{##1}}} -\def\HLITa##1{\textcolor{blue}{\textsl{##1}}} -\def\HLITb##1{\textcolor{cyan}{\textsl{##1}}} -\def\HLITc##1{\textcolor{green}{\textsl{##1}}} -\def\HLITd##1{\textcolor{magenta}{\textsl{##1}}} -\def\HLITe##1{\textcolor{red}{\textsl{##1}}} -\def\HLITf##1{\textcolor{yellow}{\textsl{##1}}} -\def\HLITz##1{\textcolor{black}{\textsl{##1}}} -\def\HLSCa##1{\textcolor{blue}{\textsc{##1}}} -\def\HLSCb##1{\textcolor{cyan}{\textsc{##1}}} -\def\HLSCc##1{\textcolor{green}{\textsc{##1}}} -\def\HLSCd##1{\textcolor{magenta}{\textsc{##1}}} -\def\HLSCe##1{\textcolor{red}{\textsc{##1}}} -\def\HLSCf##1{\textcolor{yellow}{\textsc{##1}}} -\def\HLSCz##1{\textcolor{black}{\textsc{##1}}} -\def\HLTTa##1{\textcolor{blue}{\texttt{##1}}} -\def\HLTTb##1{\textcolor{cyan}{\texttt{##1}}} -\def\HLTTc##1{\textcolor{green}{\texttt{##1}}} -\def\HLTTd##1{\textcolor{magenta}{\texttt{##1}}} -\def\HLTTe##1{\textcolor{red}{\texttt{##1}}} -\def\HLTTf##1{\textcolor{yellow}{\texttt{##1}}} -\def\HLTTq##1{\textcolor{ForestGreen}{\texttt{##1}}} -\def\HLTTr##1{\textcolor{PineGreen}{\texttt{##1}}} -\def\HLTTz##1{\textcolor{black}{\texttt{##1}}} -\def\HLITTTa##1{\textcolor{blue}{\textsl{\texttt{##1}}}} -\def\HLITTTb##1{\textcolor{cyan}{\textsl{\texttt{##1}}}} -\def\HLITTTc##1{\textcolor{green}{\textsl{\texttt{##1}}}} -\def\HLITTTd##1{\textcolor{magenta}{\textsl{\texttt{##1}}}} -\def\HLITTTe##1{\textcolor{red}{\textsl{\texttt{##1}}}} -\def\HLITTTf##1{\textcolor{yellow}{\textsl{\texttt{##1}}}} -\def\HLITTTz##1{\textcolor{black}{\textsl{\texttt{##1}}}} -\def\HLCBBa##1{\FvrbEx@ColoredBox{##1}{blue}{black}} -\def\HLCBBb##1{\FvrbEx@ColoredBox{##1}{cyan}{black}} -\def\HLCBBc##1{\FvrbEx@ColoredBox{##1}{green}{black}} -\def\HLCBBd##1{\FvrbEx@ColoredBox{##1}{magenta}{black}} -\def\HLCBBe##1{\FvrbEx@ColoredBox{##1}{red}{black}} -\def\HLCBBf##1{\FvrbEx@ColoredBox{##1}{yellow}{black}} -\def\HLCBBz##1{\FvrbEx@ColoredBox{##1}{black}{black}} -\def\HLCBWa##1{\FvrbEx@ColoredBox{##1}{blue}{white}} -\def\HLCBWb##1{\FvrbEx@ColoredBox{##1}{cyan}{white}} -\def\HLCBWc##1{\FvrbEx@ColoredBox{##1}{green}{white}} -\def\HLCBWd##1{\FvrbEx@ColoredBox{##1}{magenta}{white}} -\def\HLCBWe##1{\FvrbEx@ColoredBox{##1}{red}{white}} -\def\HLCBWf##1{\FvrbEx@ColoredBox{##1}{yellow}{white}} -\def\HLCBWz##1{\FvrbEx@ColoredBox{##1}{black}{white}} -\def\HLSa##1{\color{blue}\underline{##1}} -\def\HLSb##1{\color{cyan}\underline{##1}} -\def\HLSc##1{\color{green}\underline{##1}} -\def\HLSd##1{\color{magenta}\underline{##1}} -\def\HLSe##1{\color{red}\underline{##1}} -\def\HLSf##1{\color{yellow}\underline{##1}} -\def\HLSz##1{\color{black}\underline{##1}} -\def\HLSaa##1{\FvrbEx@ColoredUnderline{blue}{black}{##1}} -\def\HLSbb##1{\FvrbEx@ColoredUnderline{cyan}{black}{##1}} -\def\HLScc##1{\FvrbEx@ColoredUnderline{green}{black}{##1}} -\def\HLSdd##1{\FvrbEx@ColoredUnderline{magenta}{black}{##1}} -\def\HLSee##1{\FvrbEx@ColoredUnderline{red}{black}{##1}} -\def\HLSef##1{\FvrbEx@ColoredUnderline{yellow}{black}{##1}} -\def\HLSez##1{\FvrbEx@ColoredUnderline{black}{black}{##1}} -} -\def\NoHighlight@Attributes{% -\catcode`\^^a7=0\relax% -\catcode`\^^b5=1\relax% -\catcode`\^^b6=2\relax% -\def\HLa##1{##1}% -\def\HLb##1{##1}% -\def\HLc##1{##1}% -\def\HLd##1{##1}% -\def\HLe##1{##1}% -\def\HLf##1{##1}% -\def\HLBFa##1{##1}% -\def\HLBFb##1{##1}% -\def\HLBFc##1{##1}% -\def\HLBFd##1{##1}% -\def\HLBFe##1{##1}% -\def\HLBFf##1{##1}% -\def\HLITa##1{##1}% -\def\HLITb##1{##1}% -\def\HLITc##1{##1}% -\def\HLITd##1{##1}% -\def\HLITe##1{##1}% -\def\HLITf##1{##1}% -\def\HLCBBa##1{##1}% -\def\HLCBBb##1{##1}% -\def\HLCBBc##1{##1}% -\def\HLCBBd##1{##1}% -\def\HLCBBe##1{##1}% -\def\HLCBBf##1{##1}% -\def\HLCBBz##1{##1}% -\def\HLCBWa##1{##1}% -\def\HLCBWb##1{##1}% -\def\HLCBWc##1{##1}% -\def\HLCBWd##1{##1}% -\def\HLCBWe##1{##1}% -\def\HLCBWf##1{##1}% -\def\HLCBWz##1{##1}% -} -\Highlight@Attributes -\endinput -%% -%% End of file `hcolor.sty'. diff --git a/Master/texmf-doc/doc/russian/lshort-russian/src/lshort.out b/Master/texmf-doc/doc/russian/lshort-russian/src/lshort.out deleted file mode 100644 index 2eade433bac..00000000000 --- a/Master/texmf-doc/doc/russian/lshort-russian/src/lshort.out +++ /dev/null @@ -1,119 +0,0 @@ -\BOOKMARK [0][-]{chapter*.1}{}{} -\BOOKMARK [0][-]{chapter*.2}{}{} -\BOOKMARK [0][-]{chapter.1}{ \040}{} -\BOOKMARK [1][-]{section.1.1}{}{chapter.1} -\BOOKMARK [2][-]{subsection.1.1.1}{TeX}{section.1.1} -\BOOKMARK [2][-]{subsection.1.1.2}{LaTeX}{section.1.1} -\BOOKMARK [1][-]{section.1.2}{}{chapter.1} -\BOOKMARK [2][-]{subsection.1.2.1}{, \040 }{section.1.2} -\BOOKMARK [2][-]{subsection.1.2.2}{ }{section.1.2} -\BOOKMARK [2][-]{subsection.1.2.3}{ \040}{section.1.2} -\BOOKMARK [1][-]{section.1.3}{ \040LaTeX}{chapter.1} -\BOOKMARK [2][-]{subsection.1.3.1}{}{section.1.3} -\BOOKMARK [2][-]{subsection.1.3.2}{}{section.1.3} -\BOOKMARK [2][-]{subsection.1.3.3}{ LaTeX}{section.1.3} -\BOOKMARK [2][-]{subsection.1.3.4}{}{section.1.3} -\BOOKMARK [1][-]{section.1.4}{ \040}{chapter.1} -\BOOKMARK [1][-]{section.1.5}{ \040 \040LaTeX}{chapter.1} -\BOOKMARK [1][-]{section.1.6}{ }{chapter.1} -\BOOKMARK [2][-]{subsection.1.6.1}{ }{section.1.6} -\BOOKMARK [2][-]{subsection.1.6.2}{}{section.1.6} -\BOOKMARK [2][-]{subsection.1.6.3}{ }{section.1.6} -\BOOKMARK [1][-]{section.1.7}{ \040}{chapter.1} -\BOOKMARK [1][-]{section.1.8}{ }{chapter.1} -\BOOKMARK [0][-]{chapter.2}{ }{} -\BOOKMARK [1][-]{section.2.1}{ \040 }{chapter.2} -\BOOKMARK [1][-]{section.2.2}{ \040 \040}{chapter.2} -\BOOKMARK [2][-]{subsection.2.2.1}{ }{section.2.2} -\BOOKMARK [2][-]{subsection.2.2.2}{}{section.2.2} -\BOOKMARK [1][-]{section.2.3}{ }{chapter.2} -\BOOKMARK [1][-]{section.2.4}{ \040 }{chapter.2} -\BOOKMARK [2][-]{subsection.2.4.1}{ }{section.2.4} -\BOOKMARK [2][-]{subsection.2.4.2}{ \040}{section.2.4} -\BOOKMARK [2][-]{subsection.2.4.3}{ \(\)}{section.2.4} -\BOOKMARK [2][-]{subsection.2.4.4}{ \040\(\)}{section.2.4} -\BOOKMARK [2][-]{subsection.2.4.5}{ \040}{section.2.4} -\BOOKMARK [2][-]{subsection.2.4.6}{ \( \203\)}{section.2.4} -\BOOKMARK [2][-]{subsection.2.4.7}{}{section.2.4} -\BOOKMARK [2][-]{subsection.2.4.8}{ \040 }{section.2.4} -\BOOKMARK [1][-]{section.2.5}{ \040}{chapter.2} -\BOOKMARK [2][-]{subsection.2.5.1}{ }{section.2.5} -\BOOKMARK [2][-]{subsection.2.5.2}{ }{section.2.5} -\BOOKMARK [2][-]{subsection.2.5.3}{ }{section.2.5} -\BOOKMARK [2][-]{subsection.2.5.4}{ }{section.2.5} -\BOOKMARK [2][-]{subsection.2.5.5}{ }{section.2.5} -\BOOKMARK [1][-]{section.2.6}{ \040}{chapter.2} -\BOOKMARK [1][-]{section.2.7}{, \040 }{chapter.2} -\BOOKMARK [1][-]{section.2.8}{ }{chapter.2} -\BOOKMARK [1][-]{section.2.9}{}{chapter.2} -\BOOKMARK [1][-]{section.2.10}{ }{chapter.2} -\BOOKMARK [1][-]{section.2.11}{}{chapter.2} -\BOOKMARK [2][-]{subsection.2.11.1}{, \040 }{section.2.11} -\BOOKMARK [2][-]{subsection.2.11.2}{ , \040 \040}{section.2.11} -\BOOKMARK [2][-]{subsection.2.11.3}{ \040}{section.2.11} -\BOOKMARK [2][-]{subsection.2.11.4}{ }{section.2.11} -\BOOKMARK [2][-]{subsection.2.11.5}{}{section.2.11} -\BOOKMARK [1][-]{section.2.12}{ }{chapter.2} -\BOOKMARK [1][-]{section.2.13}{ \040}{chapter.2} -\BOOKMARK [0][-]{chapter.3}{ \040}{} -\BOOKMARK [1][-]{section.3.1}{ }{chapter.3} -\BOOKMARK [1][-]{section.3.2}{ \040 }{chapter.3} -\BOOKMARK [1][-]{section.3.3}{ \040}{chapter.3} -\BOOKMARK [1][-]{section.3.4}{ }{chapter.3} -\BOOKMARK [1][-]{section.3.5}{ \040}{chapter.3} -\BOOKMARK [1][-]{section.3.6}{}{chapter.3} -\BOOKMARK [1][-]{section.3.7}{ \040}{chapter.3} -\BOOKMARK [1][-]{section.3.8}{, , \203}{chapter.3} -\BOOKMARK [1][-]{section.3.9}{ }{chapter.3} -\BOOKMARK [1][-]{section.3.10}{ \040}{chapter.3} -\BOOKMARK [0][-]{chapter.4}{ }{} -\BOOKMARK [1][-]{section.4.1}{ Encapsulated PostScript }{chapter.4} -\BOOKMARK [1][-]{section.4.2}{}{chapter.4} -\BOOKMARK [1][-]{section.4.3}{}{chapter.4} -\BOOKMARK [1][-]{section.4.4}{ }{chapter.4} -\BOOKMARK [1][-]{section.4.5}{ verbatim}{chapter.4} -\BOOKMARK [1][-]{section.4.6}{ \040 \040LaTeX}{chapter.4} -\BOOKMARK [1][-]{section.4.7}{ \040pdfLaTeX}{chapter.4} -\BOOKMARK [2][-]{subsection.4.7.1}{PDF- \040WWW}{section.4.7} -\BOOKMARK [2][-]{subsection.4.7.2}{}{section.4.7} -\BOOKMARK [2][-]{subsection.4.7.3}{ }{section.4.7} -\BOOKMARK [2][-]{subsection.4.7.4}{}{section.4.7} -\BOOKMARK [2][-]{subsection.4.7.5}{ \040}{section.4.7} -\BOOKMARK [2][-]{subsection.4.7.6}{ \040}{section.4.7} -\BOOKMARK [1][-]{section.4.8}{ \040 LaTeX \040pdfLaTeX}{chapter.4} -\BOOKMARK [1][-]{section.4.9}{ \040 \040pdfscreen}{chapter.4} -\BOOKMARK [0][-]{chapter.5}{ \040}{} -\BOOKMARK [1][-]{section.5.1}{}{chapter.5} -\BOOKMARK [1][-]{section.5.2}{ picture}{chapter.5} -\BOOKMARK [2][-]{subsection.5.2.1}{ }{section.5.2} -\BOOKMARK [2][-]{subsection.5.2.2}{}{section.5.2} -\BOOKMARK [2][-]{subsection.5.2.3}{}{section.5.2} -\BOOKMARK [2][-]{subsection.5.2.4}{}{section.5.2} -\BOOKMARK [2][-]{subsection.5.2.5}{ \040}{section.5.2} -\BOOKMARK [2][-]{subsection.5.2.6}{ '134 multiput \040'134 linethickness}{section.5.2} -\BOOKMARK [2][-]{subsection.5.2.7}{. \040'134 thinlines \040'134 thicklines}{section.5.2} -\BOOKMARK [2][-]{subsection.5.2.8}{ \040 }{section.5.2} -\BOOKMARK [2][-]{subsection.5.2.9}{ \040}{section.5.2} -\BOOKMARK [2][-]{subsection.5.2.10}{ }{section.5.2} -\BOOKMARK [2][-]{subsection.5.2.11}{ \040 \040}{section.5.2} -\BOOKMARK [1][-]{section.5.3}{Xy-pic}{chapter.5} -\BOOKMARK [0][-]{chapter.6}{ LaTeX}{} -\BOOKMARK [1][-]{section.6.1}{ , \040 }{chapter.6} -\BOOKMARK [2][-]{subsection.6.1.1}{ }{section.6.1} -\BOOKMARK [2][-]{subsection.6.1.2}{ }{section.6.1} -\BOOKMARK [2][-]{subsection.6.1.3}{ \040}{section.6.1} -\BOOKMARK [1][-]{section.6.2}{ \040 }{chapter.6} -\BOOKMARK [2][-]{subsection.6.2.1}{ \040}{section.6.2} -\BOOKMARK [2][-]{subsection.6.2.2}{!}{section.6.2} -\BOOKMARK [2][-]{subsection.6.2.3}{}{section.6.2} -\BOOKMARK [1][-]{section.6.3}{}{chapter.6} -\BOOKMARK [2][-]{subsection.6.3.1}{ \040}{section.6.3} -\BOOKMARK [2][-]{subsection.6.3.2}{ }{section.6.3} -\BOOKMARK [2][-]{subsection.6.3.3}{ }{section.6.3} -\BOOKMARK [2][-]{subsection.6.3.4}{ }{section.6.3} -\BOOKMARK [1][-]{section.6.4}{ }{chapter.6} -\BOOKMARK [1][-]{section.6.5}{ \040}{chapter.6} -\BOOKMARK [1][-]{section.6.6}{}{chapter.6} -\BOOKMARK [1][-]{section.6.7}{ \040}{chapter.6} -\BOOKMARK [0][-]{chapter*.7}{}{} -\BOOKMARK [0][-]{chapter.7}{ }{} diff --git a/Master/texmf-doc/doc/russian/lshort-russian/src/lshort.sty b/Master/texmf-doc/doc/russian/lshort-russian/src/lshort.sty deleted file mode 100644 index 34577a6211f..00000000000 --- a/Master/texmf-doc/doc/russian/lshort-russian/src/lshort.sty +++ /dev/null @@ -1,273 +0,0 @@ -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Contents: Special Commands for the LShort2e Introduction -% $Id: lshort.sty,v 1.1.1.1 2002/02/26 10:04:21 oetiker Exp $ -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% By Tobias Oetiker -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%\errorcontextlines=10 - -%save pageref an label -\let\lsspageref\pageref -\ProvidesPackage{lshort} -\RequirePackage{mflogo} -\RequirePackage{verbatim} -\RequirePackage{fancyheadings} -\RequirePackage{calc} -\RequirePackage{amsmath} -\RequirePackage{fvrb-ex} -\RequirePackage{amsmath,amsfonts,amssymb} -\RequirePackage[all]{xy} -%\RequirePackage[T1]{fontenc} -\RequirePackage{type1cm}%remove size restrictions -%\RequirePackage{aeguill} -% some packages which draw a euro -\RequirePackage{textcomp} -% 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} -\RequirePackage{eurosans} -\let\EUROSANS\euro -\RequirePackage{eurofont}% Ю la place d'europs (conflit de nom) -\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[]{} -\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}{\textsc{PostScript}\index{PostScript@\textsc{PostScript}}} -\newcommand{\EPSi}{Encapsulated \textsc{PostScript}% -\index{Encapsulated PostScript@Encapsulated \textsc{PostScript}}% -\index{PostScript@\textsc{PostScript}!Encapsulated}% -} - -% -% -% Earlier paragraphs were separated by some space -% -%\setlength{\parindent}{0pt} -%\setlength{\parskip}{1.5ex plus 0.7ex minus 0.6ex} - -\newcommand{\manual}{\emph{\LaTeX{} Manual}~\cite{manual}} -\newcommand{\companion}{\emph{The \LaTeX{} Companion}~\cite{companion}} -\newcommand{\guide}{\emph{Local 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{расширение!\texttt{#1}}\texttt{#1}} - -% probably add handling of period like handling of \ in \ci -\newcommand{\fni}[1]{% -\index{шрифт!#1@\texttt{\bs#1}}% -\index{#1@\texttt{\hspace*{-1.2ex}\bs #1}}\texttt{\bs#1}} - -\newcommand{\cih}[1]{% -\index{команда!#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{пакет!#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{#1@\texttt{#1}}% -\texttt{#1}} -% Indexentry for a word (Word inserted into the text) -\newcommand{\wi}[1]{\index{#1}#1} -% -% Typesetting Commands -% -\newenvironment{lscommand}% - {\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} -% -% Type setting Code Fragments -% -\newenvironment{code}{\begin{quote}}{\end{quote}} -% -% Intro Environment -\newenvironment{intro}{\sffamily}{\vspace*{2ex minus 1.5ex}} -% -\newcommand{\secby}[2]{\nopagebreak\par\addvspace{-1.5ex}% - \vskip -\parskip\noindent{\tiny Автор: #1 \mailto|#2|}\par\nopagebreak% - \addvspace{1ex plus 0.8ex minus 0.2ex}% - \vskip -\parskip\noindent\ignorespaces} -% -% propper bookmark entries in pdftex - -\ifx\hypersetup\undefined\else -\pdfstringdefDisableCommands{\edef\ci{\textbackslash}}% -\pdfstringdefDisableCommands{\edef\sim{\textasciitilde}}% -\pdfstringdefDisableCommands{\edef\circ{\textdegree}}% -\pdfstringdefDisableCommands{\edef\ldots{... }}% -\fi - -%\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{\B}[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{tabular}{@{}#1@{}}}% -{\end{tabular}\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}{2cm} -\addtolength{\headwidth}{\outdent} -\newenvironment{example}% -{\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 - \ifodd\HyPsd@pageref{exa\theexacnt}\hspace*{0pt}\else\hspace*{-\outdent}\fi% -%\fi -\fi -\makebox[\textwidth][l]{% -%\raisebox{-\height}[0pt][\totalheight]{% - \begin{minipage}[c]{0.5\outdent+0.46\textwidth-3mm}% - \small\verbatiminput{\jobname.exa} - \end{minipage}% - %}% - \hspace{5mm}% - \setlength{\savefboxrule}{\fboxrule}% - \setlength{\fboxrule}{0.1pt}% - \setlength{\savefboxsep}{\fboxsep}% - \setlength{\fboxsep}{3mm}% - % \raisebox{-\height}[0pt][\totalheight]{% - \fbox{% - \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} - }% -% }% -}\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} - - -% [BT]% Misc -\def\sloppypar{\begingroup\sloppy\par\endgroup} -\DeclareRobustCommand\cm[1]{{\fontencoding{OT1}\fontfamily{cmr}\selectfont#1}} -\def\trfootnote#1{\footnote{#1\textit{~--- Прим.\ перев.}}} - -\RecustomVerbatimEnvironment{Verbatim}{Verbatim} - {gobble=0,commentchar=ё,numbers=left,numbersep=3pt,frame=single} - diff --git a/Master/texmf-doc/doc/russian/lshort-russian/src/lshort.tex b/Master/texmf-doc/doc/russian/lshort-russian/src/lshort.tex deleted file mode 100644 index f9de3002bb1..00000000000 --- a/Master/texmf-doc/doc/russian/lshort-russian/src/lshort.tex +++ /dev/null @@ -1,123 +0,0 @@ -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Contents: Main Input File of the LaTeX2e Introduction -% $Id: lshort2e.tex,v 1.4 1998/03/26 15:36:54 oetiker Exp oetiker $ -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% lshort2e.tex - The not so short introduction to LaTeX2e -% by Tobias Oetiker -% oetiker@ee.ethz.ch -% -% based on LKURTZ.TEX Uni Graz & TU Wien, 1987 -%----------------------------------------------------------------------- -% -% To compile lshort, you need TeX 3.x, LaTeX2e and makeindex -% -% The sources files of the Intro are: -% lshort.tex (this file), -% titel.tex, contrib.tex, biblio.tex -% things.tes, 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) -% -% --------------------------------------------------------------------- - - -%****************** FIXME!s: -% Цифровые сноски из таблиц - -\ifx\pdfoutput\undefined % We're not running pdftex -\documentclass[dvips,11pt,a4paper,twoside]{scrbook} -\else -\documentclass[pdftex,11pt,a4paper,twoside]{book} -\usepackage{thumbpdf} -\pdfcompresslevel=9 -\fi - -\lccode`\-=`\- -\defaulthyphenchar=127 -%\usepackage{mathtext} -\usepackage[T2A]{fontenc} -\usepackage[koi8-r]{inputenc} -\usepackage[russian,french,german,english]{babel} -%\usepackage{geometry} - -%\usepackage{pslatex,pscyr} -\usepackage{lshort} -\usepackage{makeidx,latexsym} -\usepackage[russian]{mylayout} -% are we in pdftex ???? -\ifx\pdfoutput\undefined % We're not running pdftex -\usepackage[plainpages=true]{hyperref} -\usepackage{color} -\else -\usepackage[colorlinks,hyperindex,plainpages=false,unicode]{hyperref} -%\usepackage{pslatex,freepsfonts} -\usepackage{keyval} -%\usepackage{hyppre} -%\usepackage{hypuc} -\hypersetup{pdfauthor={Boris Tobotras}} -\def\pdfBorderAttrs{/Border [0 0 0] } % No border arround Links -\makeatletter -\newcounter{chapter.H} -\setcounter{chapter.H}{0} -\let\Hmat@chapter\@chapter -\def\@chapter{\if@mainmatter\else\refstepcounter{chapter.H}\fi\Hmat@chapter} -\def\theHchapter{\if@mainmatter\arabic{chapter}\else H.\arabic{chapter.H}\fi} -\makeatother -\fi -\usepackage{footnpag} -% 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, B.Tobotras} - -\begin{document} -\selectlanguage{russian} -\frontmatter -\include{title} -\include{contrib} -\include{overview} -\tableofcontents -\listoffigures -\listoftables -\mainmatter -\include{things} -\include{typeset} -\include{math} -\include{lssym} -\include{spec} -\include{graphic} -\include{custom} -\backmatter -\include{biblio} -\refstepcounter{chapter} -\addcontentsline{toc}{chapter}{Предметный указатель} -\printindex -\refstepcounter{chapter} -\label{verylast} -\mbox{} -\end{document} diff --git a/Master/texmf-doc/doc/russian/lshort-russian/src/lssym.tex b/Master/texmf-doc/doc/russian/lshort-russian/src/lssym.tex deleted file mode 100644 index 616f935c821..00000000000 --- a/Master/texmf-doc/doc/russian/lshort-russian/src/lssym.tex +++ /dev/null @@ -1,343 +0,0 @@ -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Contents: TeX and LaTeX and AMS symbols for Maths -% $Id: lssym.tex,v 1.1.1.1 2002/02/26 10:04:21 oetiker Exp $ -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -\section{Список математических символов} -\label{symbols} - -В следующих таблицах вы найдете все символы, известные обычно в -\emph{математическом режиме}. - - -% -% Conditional Text in case the AMS Fonts are installed -% -Для доступа к символам, перечисленным в -таблицах~\ref{AMSD}--\ref{AMSNBR}\footnote{Эти таблицы были получены - из \texttt{symbols.tex} (автор David~Carlisle) и позже сильно - изменены по совету Josef~Tkadlec} в преамбуле документа должен быть -загружен пакет \pai{amssymb}, и в системе должны быть установлены -математические шрифты AMS. Если пакеты и шрифты AMS в вашей системе не -установлены, посмотрите на -\texttt{\CTAN|macros/latex/required/amslatex|}. Еще более -полный пеpечень символов можно найти по адpесу -\texttt{\CTANref|info/symbols/comprehensive|}. - -\begin{table}[!h] -\caption{Акценты математического режима} \label{mathacc} -\begin{symbols}{*4{cl}} -\W{\hat}{a} & \W{\check}{a} & \W{\tilde}{a} & \W{\acute}{a} \\ -\W{\grave}{a} & \W{\dot}{a} & \W{\ddot}{a} & \W{\breve}{a} \\ -\W{\bar}{a} &\W{\vec}{a} &\W{\widehat}{A}&\W{\widetilde}{A}\\ -\end{symbols} -\end{table} - -\begin{table}[!h] -\caption{Строчные греческие буквы} -\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} -\end{symbols} -\end{table} - -\begin{table}[!h] -\caption{Прописные греческие буквы} -\begin{symbols}{*4{cl}} - \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} -\clearpage - -\begin{table}[!tbp] -\caption{Бинарные отношения} -\bigskip -Вы можете получить соответствующие отрицания добавлением перед -следующими символами команды \ci{not}. -\begin{symbols}{*3{cl}} - \X{<} & \X{>} & \X{=} \\ - \X{\leq}или \verb|\le| & \X{\geq}или \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}$^1$ & \X{\sqsupset}$^1$ & \X{\Join}$^1$ \\ - \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}или \verb|\ne| -\end{symbols} -\centerline{\footnotesize $^1$Для доступа к этому символу пользуйтесь - пакетом \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}$^1$ & \X{\rhd}$^1$ & \X{\ddagger} \\ - \X{\unlhd}$^1$ & \X{\unrhd}$^1$ & \X{\wr} -\end{symbols} - -\end{table} - -\begin{table}[!tbp] -\caption{Большие операторы} -\begin{symbols}{*4{cl}} - \X{\sum} & \X{\bigcup} & \X{\bigvee} & \X{\bigoplus}\\ - \X{\prod} & \X{\bigcap} & \X{\bigwedge} &\X{\bigotimes}\\ - \X{\coprod} & \X{\bigsqcup} & & & \X{\bigodot} \\ - \X{\int} & \X{\oint} & & & \X{\biguplus} -\end{symbols} - -\end{table} - -\begin{table}[!tbp] -\caption{Стрелки} -\begin{symbols}{*3{cl}} - \X{\leftarrow}или \verb|\gets|& \X{\longleftarrow} & \X{\uparrow} \\ - \X{\rightarrow}или \verb|\to|& \X{\longrightarrow} & \X{\downarrow} \\ - \X{\leftrightarrow} & \X{\longleftrightarrow}& \X{\updownarrow} \\ - \X{\Leftarrow} & \X{\Longleftarrow} & \X{\Uparrow} \\ - \X{\Rightarrow} & \X{\Longrightarrow} & \X{\Downarrow} \\ - \X{\Leftrightarrow} & \X{\Longleftrightarrow}& \X{\Updownarrow} \\ - \X{\mapsto} & \X{\longmapsto} & \X{\nearrow} \\ - \X{\hookleftarrow} & \X{\hookrightarrow} & \X{\searrow} \\ - \X{\leftharpoonup} & \X{\rightharpoonup} & \X{\swarrow} \\ - \X{\leftharpoondown} & \X{\rightharpoondown} & \X{\nwarrow} \\ - \X{\rightleftharpoons} & \X{\iff}(б\'ольший пробел)& \X{\leadsto}$^1$ - -\end{symbols} -\centerline{\footnotesize $^1$Для доступа к этому символу пользуйтесь - пакетом \textsf{latexsym}.} -\end{table} - -\begin{table}[!tbp] -\caption{Ограничители}\label{tab:delimiters} -\begin{symbols}{*4{cl}} - \X{(} & \X{)} & \X{\uparrow} & \X{\Uparrow} \\ - \X{[}или \verb|\lbrack| & \X{]}или \verb|\rbrack| & \X{\downarrow} & \X{\Downarrow} \\ - \X{\{}или \verb|\lbrace| & \X{\}}или \verb|\rbrace| & \X{\updownarrow} & \X{\Updownarrow}\\ - \X{\langle} & \X{\rangle} & \X{|}или \verb|\vert| &\X{\|}или \verb|\Vert|\\ - \X{\lfloor} & \X{\rfloor} & \X{\lceil} & \X{\rceil} \\ - \X{/} & \X{\backslash} & &% (dual. empty) - -\end{symbols} -\end{table} - -\begin{table}[!tbp] -\caption{Большие ограничители} -\begin{symbols}{*4{cl}} - \Y{\lgroup} & \Y{\rgroup} & \Y{\lmoustache} & \Y{\rmoustache} \\ - \Y{\arrowvert} & \Y{\Arrowvert} & \Y{\bracevert} -\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}$^1$ & \X{\partial} \\ - \X{'} & \X{\prime} & \X{\emptyset} & \X{\infty} \\ - \X{\nabla} & \X{\triangle} & \X{\Box}$^1$ & \X{\Diamond}$^1$ \\ - \X{\bot} & \X{\top} & \X{\angle} & \X{\surd} \\ -\X{\diamondsuit} & \X{\heartsuit} & \X{\clubsuit} & \X{\spadesuit} \\ - \X{\neg}или \verb|\lnot| & \X{\flat} & \X{\natural} & \X{\sharp} - -\end{symbols} -\centerline{\footnotesize $^1$Для доступа к этому символу пользуйтесь - пакетом \textsf{latexsym}.} -\end{table} - -\begin{table}[!tbp] -\caption{Не-математические символы} -\bigskip -Эти символы можно использовать и в текстовом режиме. -\begin{symbols}{*4{cl}} -\SC{\dag} & \SC{\S} & \SC{\copyright} & \SC{\textregistered} \\ -\SC{\ddag} & \SC{\P} & \SC{\pounds} & \SC{\%} \\ -\end{symbols} -\end{table} - -% -% -% If the AMS Stuff is not available, we drop out right here :-) -% - -\begin{table}[!tbp] -\caption{Ограничители 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{Буквы греческого и иврита AMS} -\begin{symbols}{*5{cl}} -\X{\digamma} &\X{\varkappa} & \X{\beth} &\X{\gimel} & \X{\daleth} -\end{symbols} -\end{table} - -\begin{table}[!tbp] -\caption{Бинарные отношения AMS} -\begin{symbols}{*3{cl}} - \X{\lessdot} & \X{\gtrdot} & \X{\doteqdot}или \verb|\Doteq| \\ - \X{\leqslant} & \X{\geqslant} & \X{\risingdotseq} \\ - \X{\eqslantless} & \X{\eqslantgtr} & \X{\fallingdotseq} \\ - \X{\leqq} & \X{\geqq} & \X{\eqcirc} \\ - \X{\lll}или \verb|\llless| & \X{\ggg}или \verb|\gggtr| & \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{\Subset} & \X{\Supset} & \X{\Vvdash} \\ - \X{\sqsubset} & \X{\sqsupset} & \X{\backepsilon} \\ - \X{\therefore} & \X{\because} & \X{\varpropto} \\ - \X{\shortmid} & \X{\shortparallel} & \X{\between} \\ - \X{\smallsmile} & \X{\smallfrown} & \X{\pitchfork} \\ - \X{\vartriangleleft} & \X{\vartriangleright} & \X{\blacktriangleleft}\\ - \X{\trianglelefteq} & \X{\trianglerighteq} &\X{\blacktriangleright} -\end{symbols} -\end{table} - -\begin{table}[!tbp] -\caption{Стрелки AMS} -\begin{symbols}{*3{cl}} - \X{\dashleftarrow} & \X{\dashrightarrow} & \X{\multimap} \\ - \X{\leftleftarrows} & \X{\rightrightarrows} & \X{\upuparrows} \\ - \X{\leftrightarrows} & \X{\rightleftarrows} & \X{\downdownarrows} \\ - \X{\Lleftarrow} & \X{\Rrightarrow} & \X{\upharpoonleft} \\ - \X{\twoheadleftarrow} & \X{\twoheadrightarrow} & \X{\upharpoonright} \\ - \X{\leftarrowtail} & \X{\rightarrowtail} & \X{\downharpoonleft} \\ - \X{\leftrightharpoons} & \X{\rightleftharpoons} & \X{\downharpoonright} \\ - \X{\Lsh} & \X{\Rsh} & \X{\rightsquigarrow} \\ - \X{\looparrowleft} & \X{\looparrowright} &\X{\leftrightsquigarrow}\\ - \X{\curvearrowleft} & \X{\curvearrowright} & & \\ - \X{\circlearrowleft} & \X{\circlearrowright} & & -\end{symbols} -\end{table} - -\begin{table}[!tbp] -\caption{Отрицательные бинарные отношения и стрелки AMS}\label{AMSNBR} -\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} -\end{table} - -\begin{table}[!tbp] -\caption{Бинарные операторы AMS} -\begin{symbols}{*3{cl}} - \X{\dotplus} & \X{\centerdot} & \X{\intercal} \\ - \X{\ltimes} & \X{\rtimes} & \X{\divideontimes} \\ - \X{\Cup}или \verb|\doublecup|& \X{\Cap}или \verb|\doublecap|& \X{\smallsetminus} \\ - \X{\veebar} & \X{\barwedge} & \X{\doublebarwedge}\\ - \X{\boxplus} & \X{\boxminus} & \X{\circleddash} \\ - \X{\boxtimes} & \X{\boxdot} & \X{\circledcirc} \\ - \X{\leftthreetimes} & \X{\rightthreetimes}& \X{\circledast} \\ - \X{\curlyvee} & \X{\curlywedge} -\end{symbols} -\end{table} - -\begin{table}[!tbp] -\caption{Прочие символы AMS} -\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{\sphericalangle} \\ - \X{\diagup} & \X{\diagdown} & \X{\backprime} \\ - \X{\nexists} & \X{\Finv} & \X{\varnothing} \\ - \X{\eth} & \X{\mho} -\end{symbols} -\end{table} - - - -\begin{table}[!tbp] -\caption{Математические алфавиты} -\begin{symbols}{@{}*3l@{}} -Пример & Команда & Требуемый пакет\\ -\hline -\rule{0pt}{1.05em}$\mathrm{ABCdef}$ - & \verb|\mathrm{ABCdef}| - & \\ -$\mathit{ABCdef}$ - & \verb|\mathit{ABCdef}| - & \\ -$\mathnormal{ABCdef}$ - & \verb|\mathnormal{ABCdef}| - & \\ -$\mathcal{ABC}$ - & \verb|\mathcal{ABC}| - &\pai{euscript} с опцией: \textsf{mathcal}\\ -$\mathscr{ABC}$ - & \verb|\mathscr{ABC}| - &\pai{mathrsfs}\\ -$\mathfrak{ABCdef}$ - & \verb|\mathfrak{ABCdef}| - &\pai{eufrak} \\ -$\mathbb{ABC}$ - & \verb|\mathbb{ABC}| - &\pai{amsfonts} или \textsf{amssymb} \\ -\end{symbols} -\end{table} - - -%%% Local Variables: -%%% mode: latex -%%% TeX-master: "lshort2e" -%%% End: diff --git a/Master/texmf-doc/doc/russian/lshort-russian/src/math.tex b/Master/texmf-doc/doc/russian/lshort-russian/src/math.tex deleted file mode 100644 index 1819bc9f3d9..00000000000 --- a/Master/texmf-doc/doc/russian/lshort-russian/src/math.tex +++ /dev/null @@ -1,777 +0,0 @@ -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Contents: Math typesetting with LaTeX -% $Id: math.tex,v 1.1.1.1 2002/02/26 10:04:21 oetiker Exp $ -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\chapter{Набор математических формул} - -\begin{intro} - Вот теперь мы готовы! В этой главе мы встретимся с основной мощью - \TeX{}: математической версткой. Но имейте в виду, что эта глава - дает только поверхностный обзор. Хотя для многих из вас изложенных - здесь вещей будет достаточно, не отчаивайтесь, если вы не сможете - найти решение, отвечающее нуждам верстки вашей математики. Весьма - возможно, что ваша проблема решается в - \AmS-\LaTeX{}\footnote{\emph{Американское Математическое Общество} - выpаботало pазвитое pасшиpение к \LaTeX{}. Многие пpимеpы этой - главы используют это pасшиpение, входящее во все совpеменные - дистpибутивы \TeX{}. Если в вашем оно отсутствует, то можете - получить его по адpесу \CTANref|macros/latex/required/amslatex|.}. -\end{intro} - - -\section{Общие сведения} - -\LaTeX{} включает в себя специальный режим для верстки математики. -\index{математика} Математика может быть набpана внутpи абзаца, но -может и pазбивать абзац выделенной фоpмулой. Математический текст -внутри абзаца вводится между \ci{(} -и \ci{)}, \index{$@\texttt{\$}} %$ -между \texttt{\$} и \texttt{\$} или между -\verb|\begin{|\ei{math}\verb|}| или \verb|\end{math}|.\index{формулы} - -\begin{example} - Складывая $a$ в квадрате с - $b$ в квадрате, получаем - $c$ в квадрате. Или - излагая языком математики: - $c^{2}=a^{2}+b^{2}$ -\end{example} - -\begin{example} - \TeX{} произносится как - \(\tau\epsilon\chi\).\\[6pt] - 100~м$^{3}$ воды.\\[6pt] - Это исходит от моего - \begin{math}\heartsuit\end{math} -\end{example} - -Большие математические уравнения или формулы предпочтительнее -<<выключать>>, то есть верстать их на отдельных строчках. Для этого -заключайте их между \ci{[} и \ci{]} или между -\verb|\begin{|\ei{displaymath}\verb|}| и \verb|\end{displaymath}|. - -\begin{example} - Складывая $a$ в квадрате с - $b$ в квадрате, получаем - $c$ в квадрате. Или - излагая языком математики: - \begin{displaymath} - c^{2}=a^{2}+b^{2} - \end{displaymath} - или вы можете выpазить это - коpоче: \[a+b=c\] -\end{example} - -Если вы хотите, чтобы \LaTeX{} нумеpовал ваши уpавнения, используйте -окpужение \ei{equation}. Вы можете пpи этом пометить уpавнение меткой -\ci{label} и сослаться на него в любом месте текста командами \ci{ref} -или \ci{eqref}: - -\begin{example} - \begin{equation} - \label{eq:eps} - \epsilon > 0 - \end{equation} - Из (\ref{eq:eps}) - выводим \ldots{}Из - \eqref{eq:eps} мы - делаем то же. -\end{example} - -Заметьте pазницу в стиле веpстки выpажений в абзацах и выключных: - -\begin{example} - $\lim_{n \to \infty} - \sum_{k=1}^n \frac{1}{k^2} - = \frac{\pi^2}{6}$ -\end{example} - -\begin{example} - \begin{displaymath} - \lim_{n \to \infty} - \sum_{k=1}^n \frac{1}{k^2} - = \frac{\pi^2}{6} - \end{displaymath} -\end{example} - -\emph{Математический режим} отличается от \emph{текстового - режима}. Например, в \emph{математическом режиме}: - -\begin{enumerate} - -\item Большинство пробелов и возвратов каретки не принимаются во - внимание, так как все пробелы либо выводятся из логики - математических выражений, или должны в явном виде задаваться - командами вроде \ci{,}, \ci{quad} или \ci{qquad}. -\item Пустые строчки недопустимы. Каждая формула занимает только один - абзац. -\item Каждая буква считается именем переменной, и верстается в этом - качестве. Если вы хотите в формулу ввести нормальный текст - (нормальный прямой шрифт с нормальными пробелами), то вам нужно - вводить его командами \verb|\textrm{...}| (см. также - pаздел~\ref{sec:fontsz} на стp.~\pageref{sec:fontsz}). - -\end{enumerate} - - -\begin{example} - \begin{equation} - \forall x \in \mathbf{R}: - \qquad x^{2} \geq 0 - \end{equation} -\end{example} - -\begin{example} - \begin{equation} - x^{2} \geq 0\qquad - \textrm{для всех }x\in - \mathbf{R} - \end{equation} -\end{example} - -% -% Add AMSSYB Package ... Blackboard bold .... R for realnumbers -% - -Математики бывают очень строги к используемым символам: здесь будет -удобно использовать `\wi{ажурные полужирные символы}',\index{полужирные символы} -которые получаются командой \ci{mathbb} из пакетов -\pai{amsfonts} или \pai{amssymb}. \ifx\mathbb\undefined\else -Последний пример теперь выглядит так: -\begin{example} - \begin{displaymath} - x^{2} \geq 0\qquad - \textrm{для всех }x\in - \mathbb{R} - \end{displaymath} -\end{example} -\fi - - -\section{Группировка в математическом режиме} - -Большинство команд математического режима действует только на -следующий символ. Так что, если вы хотите, чтобы команда влияла на -несколько символов, вам нужно сгруппировать их вместе при помощи -фигурных скобок: \verb|{...}|. - -\begin{example} - \begin{equation} - a^x+y \neq a^{x+y} - \end{equation} -\end{example} - - -\section{Составляющие математической формулы} - -В этом разделе будут описаны наиболее важные команды, используемые в -математической верстке. Детальный перечень команд для набора -математических символов смотрите в разделе~\ref{symbols} на -странице~\pageref{symbols}. - -\textbf{Строчные \wi{греческие буквы}} вводятся как \verb|\alpha|, - \verb|\beta|, \verb|\gamma|,~\ldots, прописные буквы вводятся как - \verb|\Gamma|, \verb|\Delta|,~\ldots\footnote{В \LaTeXe{} не - определяется прописная <<альфа>>, потому что она выглядит так же, - как латинская <>. При новой кодировке математики это будет - изменено.} - -\begin{example} - $\lambda,\xi,\pi,\mu,% - \Phi,\Omega$ -\end{example} - -\textbf{Верхние и нижние индексы} вводятся при помощи -символов~<<\index{верхние индексы}\index{нижние - индексы}\verb|^|\index{^@\verb+^+}>> -и~<<\verb|_|\index{_@\verb+_+}>>. - -\begin{example} - $a_{1}$ \qquad $x^{2}$ \qquad - $e^{-\alpha t}$ \qquad - $a^{3}_{ij}$\\ - $e^{x^2} \neq {e^x}^2$ -\end{example} - -\textbf{Квадратный корень}\index{квадратный корень} вводится как -\ci{sqrt}, корень $n$-ной степени печатается при помощи -\verb|\sqrt[|$n$\verb|]|. Размер знака корня выбирается \LaTeX{} -автоматически. Если нужен один только знак, используйте \verb|\surd|. - -\begin{example} - $\sqrt{x}$ \qquad - $\sqrt{ x^{2}+\sqrt{y} }$ - \qquad $\sqrt[3]{2}$\\[3pt] - $\surd[x^2 + y^2]$ -\end{example} - -Команды \ci{overline} и \ci{underline} создают \textbf{горизонтальные - линии} сразу над или под выражением. -\index{линии!горизонтальные} - -\begin{example} - $\overline{m+n}$ -\end{example} - -Команды \ci{overbrace} и \ci{underbrace} создают -длинные \textbf{горизонтальные фигурные скобки} сразу над или под -выражением. -\index{фигурные скобки!горизонтальные} -\begin{example} - $\underbrace{ a+b+\cdots% - +z }_{26}$ -\end{example} - -\index{акцент!математический} Для добавления к переменным знаков -математических акцентов, таких, как маленькие стрелки или знака -\wi{тильда}, вы можете пользоваться командами, перечисленным в -таблице~\ref{mathacc}. Широкие <<шляпки>> и тильды, охватывающие -несколько символов, генерируются командами \ci{widetilde} и -\ci{widehat}. Символ~<<\verb|'|\index{'@\verb+'+}>> дает знак -производной.\index{производная}. - -% a dash is -- - -\begin{example} - \begin{displaymath} - y=x^{2}\qquad y'=2x - \qquad y''=2 - \end{displaymath} -\end{example} - -\textbf{Векторы}\index{векторы} часто указываются добавлением -маленьких стрелок \wi{стрелки} над переменной. Это делается командой -\ci{vec}. Для обозначения вектора от $A$ до $B$ полезны две команды -\ci{overrightarrow} и \ci{overleftarrow}. - -\begin{example} - \begin{displaymath} - \vec a\quad - \overrightarrow{AB} - \end{displaymath} -\end{example} - -Обычно знак точки, обозначающий умножения, явно не набирается. Однако, -иногда он полезен, чтобы помочь читателю сгруппировать -формулу. Используйте для этого \ci{cdot}: - -\begin{example} -\begin{displaymath} -v = {\sigma}_1 \cdot {\sigma}_2 - {\tau}_1 \cdot {\tau}_2 -\end{displaymath} -\end{example} - - -Имена функций типа $\lg$ часто верстаются прямым шрифтом, а не -курсивом, как переменные. Поэтому \LaTeX{} содержит следующие команды -для набора имен наиболее важных функций: -\index{математические!функции} - -\begin{tabular}{lllllll} -\ci{arccos} & \ci{cos} & \ci{csc} & \ci{exp} & \ci{ker} -& \ci{limsup} & \ci{min} \\ -\ci{arcsin} & \ci{cosh} & \ci{deg} & \ci{gcd} & \ci{lg} & -\ci{ln} & \ci{Pr} \\ -\ci{arctan} & \ci{cot} & \ci{det} & \ci{hom} & \ci{lim} -& \ci{log} & \ci{sec} \\ -\ci{arg} & \ci{coth} & \ci{dim} & \ci{inf} & -\ci{liminf} & \ci{max} & \ci{sin} \\ -\ci{sinh} & \ci{sup} & \ci{tan} & \ci{tanh}\\ -\end{tabular} - -\begin{example} -\[\lim_{x \rightarrow 0} -\frac{\sin x}{x}=1\] -\end{example} - -Для функции модуля \wi{функция модуля} есть две команды: \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{\wi{дробь}} верстается командой -\ci{frac}\verb|{...}{...}|. Часто предпочтительнее ее форма с косой -чертой $1/2$, потому что она смотрится лучше при небольшом количестве -`дробного материала'. - -\begin{example} - $1\frac{1}{2}$~часа - \begin{displaymath} - \frac{ x^{2} }{ k+1 }\qquad - x^{ \frac{2}{k+1} }\qquad - x^{ 1/2 } - \end{displaymath} -\end{example} - -Для верстки биномиальных коэффициентов или аналогичных структур можно -пользоваться командой \ci{binom} из пакета \pai{amsmath}. - -\begin{example} -\begin{displaymath} -\binom{n}{k}\qquad\mathrm{C}_n^k -\end{displaymath} -\end{example} - -Для бинарных отношений бывает удобно размещать символы друг над -другом. Команда \ci{stackrel} набирает символ, заданный первым -аргументом, шрифтом размера индексов и размещает его над вторым -аргументом, верстаемым в обычной позиции: - -\begin{example} -\begin{displaymath} -\int f_N(x) \stackrel{!}{=} 1 -\end{displaymath} -\end{example} - - -\textbf{Оператор интеграла}\index{оператор!интеграла} печатает -команда~\ci{int}, \textbf{оператор суммы}\index{оператор!суммы}~--- -команда~\ci{sum}, \textbf{оператор - произведения}\index{оператор!произведения}~--- команда~\ci{prod}. -Верхние и нижние пределы указываются при помощи знаков~<<\verb|^|>> -и~<<\verb|_|>>, так же, как верхние и нижние -индексы\footnote{\AmS-\LaTeX{}, кроме того, поддерживает многострочные -верхние и нижние индексы.}. - -\begin{example} -\begin{displaymath} -\sum_{i=1}^{n} \qquad -\int_{0}^{\frac{\pi}{2}} \qquad -\prod_\epsilon -\end{displaymath} -\end{example} - -Чтобы получить больший контpоль над pазмещением индексов в сложных -выpажениях, \pai{amsmath} пpедоставляет еще два инстpумента: команду -\ci{substack} и окpужение \ei{subarray}: - -\begin{example} -\begin{displaymath} -\sum_{\substack{0> в качестве -невидимого правого ограничителя: - -\begin{example} -\begin{displaymath} -y = \left\{ \begin{array}{ll} - a & \textrm{если $d>c$}\\ - b+x & \textrm{по утрам}\\ - l & \textrm{остальное время дня} - \end{array} \right. -\end{displaymath} -\end{example} - -Так же, как в окружении \verb|tabular|, можно рисовать линейки в -окружении \ei{array}, например, разделяя элементы матрицы: - -\begin{example} -\begin{displaymath} -\left(\begin{array}{c|c} - 1 & 2 \\ -\hline -3 & 4 -\end{array}\right) -\end{displaymath} -\end{example} - - -Для формул, занимающих несколько строк или для систем -уравнений\index{системы уравнений} -вместо \ei{equation} пользуйтесь окружениями \ei{eqnarray} и -\verb|eqnarray*|. В \ei{eqnarray} каждая строка получает отдельный -номер уравнения. В \verb|eqnarray*| номера не ставятся. - -Окружения \ei{eqnarray} и \verb|eqnarray*| работают наподобие таблицы -из трех столбцов формата \verb|{rcl}|, где средний столбец -используется для знака равенства, или знака неравенства, или другого -подходящего знака. Команда \verb|\\| разбивает строки. - -\begin{example} -\begin{eqnarray} -f(x) & = & \cos x \\ -f'(x) & = & -\sin x \\ -\int_{0}^{x} f(y)dy & - = & \sin x -\end{eqnarray} -\end{example} - -Заметьте, что по обеим сторонам средней колонки, знаков равенства, -слишком много свободного места. Оно может быть уменьшено установкой -\verb|\setlength\arraycolsep{2pt}|, как в следующем примере.\sloppypar - -\index{длинные уравнения} \textbf{Длинные уравнения} не будут -автоматически разбиваться на правильные части. Автор должен указать, -где их разбивать и насколько выравнивать. Чаще всего для этого -используют следующие методы: - -\begin{example} -{\setlength\arraycolsep{2pt} -\begin{eqnarray} -\sin x & = & x -\frac{x^{3}}{3!} - +\frac{x^{5}}{5!}-{} - \nonumber\\ - & & {}-\frac{x^{7}}{7!}+{}\cdots -\end{eqnarray}} -\end{example} - -\begin{example} -\begin{eqnarray} -\lefteqn{ \cos x = 1 - -\frac{x^{2}}{2!} +{} } - \nonumber\\ - & & {}+\frac{x^{4}}{4!} - -\frac{x^{6}}{6!}+{}\cdots -\end{eqnarray} -\end{example} - -\noindent Команда \ci{nonumber} заставляет \LaTeX{} не генерировать -номер для этого уравнения. - -Такими методами может быть сложно получить правильно выглядящие -вертикально выровненные уравнения; более мощную альтернативу -предоставляет пакет \pai{amsmath} (см. окружения \verb|align|, -\verb|flalign|, \verb|gather|, \verb|multiline| и \verb|split|). - -\section{Фантомы} - -Мы не можем увидеть пpивидения, но они, тем не менее, все pавно -занимают свое место в умах некотоpых людей. Так и \LaTeX{} позволяет -использовать фантомы, невидимые объекты, для реализации интересных -трюков с размещением видимых объектов. - -Когда \LaTeX{} размещает текст по вертикали при помощи команд \verb|^| -и \verb|_|, он иногда проявляет многовато интеллекта. Командой -\ci{phantom} вы можете зарезервировать пространство для символов, -которых на самом деле сверстано не будет. Лучше всего это понять на -следующих примерах. - -\begin{example} -\begin{displaymath} -{}^{12}_{\phantom{1}6}\textrm{C} -\qquad \textrm{versus} \qquad -{}^{12}_{6}\textrm{C} -\end{displaymath} -\end{example} - -\begin{example} -\begin{displaymath} -\Gamma_{ij}^{\phantom{ij}k} -\qquad \textrm{versus} \qquad -\Gamma_{ij}^{k} -\end{displaymath} -\end{example} - -\section{Размер математического шрифта}\label{sec:fontsz} - -\index{шрифт!математический, размер} В математическом режиме \TeX{} -выбирает размер шрифта в зависимости от контекста. Индексы, например, -верстаются меньшим шрифтом. Если вы хотите добавить к уравнению -обычный текст, не пользуйтесь командой \verb|\textrm|, так как -механизм переключения размера работать не будет, потому что -\verb|\textrm| временно выходит в текстовый режим. Чтобы оставить его -работающим, используйте команду \verb|\mathrm|.\trfootnote{В - зависимости от используемой русификации, у вас могут не работать - русские буквы внутри команды \ci{mathrm}, вместо которой может - использоваться команда \ci{cyrmathrm}.} Но имейте в виду, -\ci{mathrm} будет хорошо работать только с короткими элементами. -Пробелы по-прежнему не активны и акцентированные символы не -работают.\footnote{При подключении \AmS-\LaTeX{} (пакет \pai{amsmath}) - команда \ci{textrm} начинает работать с изменением размера.} - -\begin{example} -\begin{equation} -2^{\textrm{nd}} \quad -2^{\mathrm{nd}} -\end{equation} -\end{example} - -Тем не менее, иногда вам может быть нужно указать \LaTeX{} точный -размер шрифта. В математическом режиме размер устанавливается четырьмя -командами: - -\begin{flushleft} - \ci{displaystyle}~($\displaystyle 123$), - \ci{textstyle}~($\textstyle 123$), - \ci{scriptstyle}~($\scriptstyle 123$) и - \ci{scriptscriptstyle}~($\scriptscriptstyle 123$). -\end{flushleft} - -Смена стилей влияет также на способ изображения пределов. - -\fvset{xrightmargin=0.52\textwidth} - -\begin{example} -\begin{displaymath} -\mathop{\mathrm{corr}}(X,Y)= - \frac{\displaystyle - \sum_{i=1}^n(x_i-\overline x) - (y_i-\overline y)} - {\displaystyle\biggl[ - \sum_{i=1}^n(x_i-\overline x)^2 -\sum_{i=1}^n(y_i-\overline y)^2 -\biggr]^{1/2}} -\end{displaymath} -\end{example} -% This is not a math accent, and no maths book would be set this way. -% mathop gets the spacing right. - -\fvset{xrightmargin=0.5\textwidth} - -\noindent Это один из примеров, когда нам нужны скобки б\'ольшие, чем -предоставляемые стандартными \verb|\left[ \right]|. - - -\section{Теоремы, законы, \ldots{}} - -При написании математических документов, вам, вероятно, нужен способ -верстки <<лемм>>, <<определений>>, <<аксиом>> и аналогичных структур. -\LaTeX{} поддерживает это командами -\begin{lscommand} -\ci{newtheorem}\verb|{|\emph{название}\verb|}[|\emph{счетчик}\verb|]{|% - \emph{текст}\verb|}[|\emph{раздел}\verb|]| -\end{lscommand} -Аргумент \emph{название}~--- это краткое ключевое слово, используемое -для идентификации <<теоремы>>. Аргументом \emph{текст} вы определяете -настоящее название <<теоремы>>, под которым она будет печататься в -документе. - -Аргументы в квадратных скобках необязательны. Оба они используются для -определения того, как нумеровать <<теорему>>. Аргументом -\emph{счетчик} вы можете указать \emph{название} предварительно -объявленной <<теоремы>>. Новая <<теорема>> будет тогда нумероваться в -той же последовательности. Аргумент \emph{раздел} позволяет вам -указать раздел, внутри которого вы хотите нумеровать вашу -<<теорему>>. - -После использования в преамбуле документа команды \ci{newtheorem}, вы -можете пользоваться следующими командами: - -\begin{code} -\verb|\begin{|\emph{название}\verb|}[|\emph{текст}\verb|]|\\ -Это интересная теорема.\\ -\verb|\end{|\emph{название}\verb|}| -\end{code} - -На этом теории должно быть достаточно. Дальнейшие примеры должны -развеять последнюю тень сомнений, и окончательно убедить вас, что -окружение \verb|\newtheorem| слишком сложно, чтобы его можно было -понять:\sloppypar - -\begin{example} -% определения для -% преамбулы документа -\newtheorem{law}{Law} -\newtheorem{jury}[law]{Jury} -% в теле документа -\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{law}No, No, No\end{law} -\end{example} - -Теорема <> использует тот же счетчик, что и теорема -<>. Следовательно, она получит номер в последовательности с -другими теоремами <>. Аргумент в квадратных скобках указывает -заголовок теоремы, или нечто аналогичное. - -\begin{example} -\flushleft -\newtheorem{mur}{Murphy}[section] -\begin{mur} -Если существует два или -более способа сделать -нечто, и один их этих -способов может привести -к катастрофе, то кто-то -обязательно это сделает. -\end{mur} -\end{example} - -Теорема <> получает номер, связанный с номером текущего -раздела. Вы можете также использовать другую структурную единицу, -например, главу или подраздел. - - -\section{Полужирные символы} -\index{полужирные символы} - -В \LaTeX{} довольно непросто получить жирные символы; это, вероятно, -сделано преднамеренно, потому что непрофессионалы слишком часто -злоупотребляют ими. Команда смены шрифта \verb|\mathbf| дает -полужирные символы, но они обычные (прямые), тогда как математические -символы обычно курсивные. Существует команда \ci{boldmath}, но -\emph{она может использоваться только вне математического режима}. То -же относится и к символам. - -\begin{example} -\begin{displaymath} -\mu, M \qquad \mathbf{M} \qquad -\mbox{\boldmath $\mu, M$} -\end{displaymath} -\end{example} - -\noindent Заметьте, что запятая тоже полужирная, что может быть -нежелательным. - -Пакет \pai{amsbsy} (включаемый пакетом \pai{amsmath}), равно как и -пакет \pai{bm} (из набора \texttt{tools}), включает команду -\ci{boldsymbol}. - -\ifx\boldsymbol\undefined\else -\begin{example} -\begin{displaymath} -\mu, M \qquad -\boldsymbol{\mu}, \boldsymbol{M} -\end{displaymath} -\end{example} -\fi - - - - -%%% Local Variables: -%%% mode: latex -%%% TeX-master: "lshort" -%%% End: - - diff --git a/Master/texmf-doc/doc/russian/lshort-russian/src/mylayout.sty b/Master/texmf-doc/doc/russian/lshort-russian/src/mylayout.sty deleted file mode 100644 index f31235631bc..00000000000 --- a/Master/texmf-doc/doc/russian/lshort-russian/src/mylayout.sty +++ /dev/null @@ -1,373 +0,0 @@ -%% -%% 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} - \def\theOr{or} - } -\DeclareOption{english}{% - \def\Headertext{Header} - \def\Bodytext{Body} - \def\Footertext{Footer} - \def\MarginNotestext{Margin\\Notes} - \def\oneinchtext{one inch} - \def\notshown{not shown} - \def\theOr{or} - } -\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}} - \def\theOr{or} - } -\DeclareOption{russian}{% - \def\Headertext{\cyr Верхний колонтитул} - \def\Bodytext{\cyr Тело} - \def\Footertext{\cyr Нижний колонтитул} - \def\MarginNotestext{\cyr Маргиналии\\(поля)} - \def\oneinchtext{\cyr 1~дюйм} - \def\notshown{\cyr не показано} - \def\theOr{\cyr или} - } -\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{% - \@layout - \if@twoside - \@layout - \fi} -\newcommand\@layout{% - \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\cyr\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} \\ - & \theOr{} \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 - -%%% Local Variables: -%%% mode: latex -%%% TeX-master: "lshort2e" -%%% End: - -%% -%% End of file `layout.sty'. diff --git a/Master/texmf-doc/doc/russian/lshort-russian/src/overview.tex b/Master/texmf-doc/doc/russian/lshort-russian/src/overview.tex deleted file mode 100644 index 3ff8b31dc1b..00000000000 --- a/Master/texmf-doc/doc/russian/lshort-russian/src/overview.tex +++ /dev/null @@ -1,113 +0,0 @@ -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Contents: Who contributed to this Document -% $Id: overview.tex,v 1.1.1.1 2002/02/26 10:04:21 oetiker Exp $ -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -% 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{Предисловие} - -\LaTeX{}~\cite{manual}~--- система верстки, ориентированная на -производство научных математических документов высокого типографского -качества. Система также вполне подходит для производства других видов -документов, от простых писем до полностью сверстанных книг. \LaTeX{} -использует \TeX{} \cite{texbook} в качестве своего механизма верстки. - -Это краткое введение описывает \LaTeXe{} и должно быть достаточно для -большинства применений \LaTeX. Для полного описания системы \LaTeX{} -читайте~\cite{manual,companion}. - -\bigskip -\noindent Это введение разбито на пять глав: -\begin{description} -\item[Глава 1] рассказывает о базовой структуре документов \LaTeX{}. - Вы получите некоторое представление об истории \LaTeX{}. После - чтения этой главы вы должны получить грубое представление о pаботе - \LaTeX{}. -\item[Глава 2] углубляется в детали верстки ваших документов. Она - объясняет большинство важных команд и окружений \LaTeX{}. После - чтения этой главы вы сможет писать первые документы. -\item[Глава 3] объясняет, как верстать формулы в \LaTeX{}. Множество - примеров поможет вам понять, как использовать эту, одну из самых сильных, - сторону \LaTeX{}. В конце этой главы вы найдете таблицы, - перечисляющие большинство известных в \LaTeX{} математических - символов. -\item[Глава 4] рассказывает про генерацию предметного указателя и - библиографии и включение EPS графики. Она объясняет, как пpи помощи - pdf\LaTeX{} создавать документы в фоpмате PDF, а также пpедставляет - несколько дpугих полезных расширений, таких, как пакет XY-pic.\sloppypar -\item[Глава 5] показывает, как использовать \LaTeX{} для создания -графики. Вместо рисования иллюстрации в каком-нибудь графическом редакторе, -записи ее в файл и включения его в \LaTeX{}, вы описываете иллюстрацию, а -\LaTeX{} рисует ее. -\item[Глава 6] содержит потенциально опасные сведения о том, как - менять стандартный макет документа. Она расскажет вам, как - сделать красивый вывод \LaTeX{} ужасным или потpясающим, в - зависимости от ваших способностей. -\end{description} - -\bigskip -\noindent Важно читать главы последовательно. В конце концов, книжка не такая уж -большая. По мере чтения вам встретится большое количество примеров. -Читайте их внимательно, поскольку многое в этой книжке объясняется -именно в тексте пpимеpов. - -\bigskip -\noindent \LaTeX{} работает на большинстве компьютеров, начиная с IBM PC или -Mac, и кончая большими системами UNIX или VMS. В многих -университетских сетях система уже установлена и готова к работе. -Информация о том, как использовать локальную установку \LaTeX{}, -должна быть предоставлена в \guide. Если у вас будут проблемы с -началом работы, попросите о помощи того, кто предоставил вам эту -книжку. Цель ее заключается \emph{не} в том, чтобы обучить вас -установке и настройке системы \LaTeX{}, а в том, чтобы научить, как -писать ваши документы так, чтобы они могли быть обработаны \LaTeX{}. - -\medskip -\noindent Если вам понадобится любой, относящийся к \LaTeX{}, -материал, поищите его на одном из ftp архивов Comprehensive \TeX{} -Archive Network (\texttt{CTAN}). Его основной -адреc~---\texttt{http://www.ctan.org}. Все пакеты можно также получить -с ftp-архива \texttt{ftp://www.ctan.org} и его зеркал по всему миру. -Например, для США это~--- \texttt{ftp://ctan.tug.org}, для -Германии~--- \texttt{ftp://ftp.dante.de}, для Великобритании~--- -\texttt{ftp://ftp.tex.ac.uk}, для России~--- -\texttt{ftp://ftp.radio-msu.net}. Если вы не в одной из этих стран, -выберите ближайший к вам архив.\sloppypar - -Далее в книге вы будете постоянно встречать ссылки на CTAN, обычно -указывающие на полезные программные пакеты и документы. Вместо полной -записи конкретных адресов будет писаться просто \texttt{CTAN:} и далее -адрес в дереве файлов CTAN. - -\noindent Если вы хотите иметь \LaTeX{} на вашем собственном компьютере, -посмотрите на то, что доступно по адресу \CTANref|systems|. - -\vspace{\stretch{1}} -\noindent Если у вас есть мысли по поводу того, что ст\'оит добавить, -удалить или изменить в этом документе, пожалуйста, дайте мне знать. Я -особенно заинтересован в откликах от новичков в \LaTeX{} на тему того, -какие части введения легко понимаемы, и что можно объяснить лучше. - -\medskip -\begin{verse} -\contrib{Tobias Oetiker}{oetiker@ee.ethz.ch}% -\noindent{Department of Information Technology and\\Electrical Engineering, -Swiss Federal Institute of Technology} -\end{verse} -\vspace{\stretch{1}} -\noindent Текущая версия этого документа доступна по адресу\\ -\CTANref|info/lshort|\trfootnote{Текущая версия данного -перевода доступна по адресу \texttt{http://xtalk.msk.su/tex}, а также на -\texttt{CTAN}.}. \endinput - - -%%% Local Variables: -%%% mode: latex -%%% TeX-master: "lshort2e" -%%% End: diff --git a/Master/texmf-doc/doc/russian/lshort-russian/src/spec.tex b/Master/texmf-doc/doc/russian/lshort-russian/src/spec.tex deleted file mode 100644 index 093026140a0..00000000000 --- a/Master/texmf-doc/doc/russian/lshort-russian/src/spec.tex +++ /dev/null @@ -1,1022 +0,0 @@ -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Contents: Specialities of the LaTeX system -% $Id: spec.tex,v 1.1.1.1 2002/02/26 10:04:21 oetiker Exp $ -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -\chapter{Специальные возможности} -\begin{intro} - При сборке большого документа \LaTeX{} поможет вам некоторыми - специальными функциями, например, генерацией предметного указателя, - управлением библиографией и тому подобными. Более подробное описание - специальных возможностей и расширений \LaTeX{} находится в - {\normalfont\manual} и в {\normalfont\companion}. -\end{intro} - - -\section{Включение \EPSi{} графики}\label{eps} - -\LaTeX{} имеет базовые средства для работы с плавающими объектами, -такими, как иллюстрации и таблицы, при помощи окружений \ei{figure} и -\ei{table}. - -Существует также несколько способов создавать собственно -графику\index{графика} средствами базового \LaTeX{} или его -расширений. К сожалению, большинство пользователей находит их трудными -для понимания, поэтому здесь эти способы не pассматpиваются. -Дополнительная информация приведена в \companion{} и в \manual{}. - -Более простой метод получения графики в документе~--- это создавать ее -специализированными программными пакетами\footnote{Такими, как XFig, - CorelDraw!, Freehand, Gnuplot,~\ldots{}} и включать в документ -готовую графику. Пакеты \LaTeX{} предлагают множество способов это -делать. В этом введении обсуждается только использование графики в -формате \EPSi{} (EPS), поскольку это -довольно просто делается и широко распространено. Чтобы использовать -картинки в формате EPS, вам нужно использовать для вывода -\PSi{} принтер.\footnote{Другая возможность вывода - \PSi{} заключается в использовании программы - \textsc{\wi{GhostScript}}, доступной с - \texttt{\CTAN|support/ghostscript|}. Пользователи Windows и OS/2 могут -обратить внимание на программу \textsc{GSview}.} - -Хороший набор команд включения графики входит в пакет \pai{graphicx} -(автор D.~P.~Carlisle). Он является частью целого семейства -пакетов, называющегося комплектом -``graphics''.\footnote{\CTANref|macros/latex/required/graphics|} - -В предположении, что вы работаете в системе с доступным для вывода -\PSi{}-принтером, и с установленным пакетом -\pai{graphicx}, для включения картинки в ваш документ можете -использовать следующую пошаговую инструкцию:\sloppypar - -\begin{enumerate} -\item Экспортируйте картинку из вашей графической программы в формате - EPS.\footnote{Если ваша программа не имеет экспорта в EPS, можно - попробовать установить драйвер \PSi{}-принтера (скажем, - какого-нибудь Apple LaserWriter) и печатать в файл через этот - драйвер. Если вам повезет, в этом файле будет EPS. Заметьте, что - EPS обязан содержать не больше одной страницы. Некоторые - принтерные драйверы нужно в явном виде настраивать для генерации EPS.} -\item В преамбуле документа загрузите пакет \pai{graphicx} при помощи -\begin{lscommand} -\verb|\usepackage[|\emph{драйвер}\verb|]{graphicx}| -\end{lscommand} -\noindent где \emph{драйвер}~--- это название вашего конвертера DVI в -\PSi{}. Самый широко используемый называется -\texttt{dvips}. Название драйвера требуется потому, что не существует -стандарта включения графики в \TeX{}. Зная название \emph{драйвера}, -\pai{graphicx} может выбрать правильный способ вставить информацию о -графике в \eei{.dvi}~файл так, чтобы драйвер ее понял и смог -корректно вставить \eei{.eps}~файл. -\item Для включения \emph{файла} в ваш документ пользуйтесь командой - \begin{lscommand} -\ci{includegraphics}\verb|[|\emph{опция}=\emph{значение}, \ldots\verb|]{|\emph{файл}\verb|}| -\end{lscommand} -Необязательный параметр принимает вид списка разделенных запятыми пар -\emph{опций} и соответствующих \emph{значений}. \emph{Опции} можно -использовать для изменения ширины, высоты, поворота включаемой -графики. Таблица~\ref{keyvals} перечисляет самые важные опции. -\end{enumerate} - -\begin{table}[htb] -\caption{Названия опций пакета \textsf{graphicx}} -\label{keyvals} -\begin{lined}{9cm} -\begin{tabular}{@{}ll} -\texttt{width}& масштабирует графику до указанной ширины\\ -\texttt{height}& масштабирует графику до указанной высоты\\ -\texttt{angle}& поворачивает графику против часовой стрелки\\ -\texttt{scale}& масштабирует графику\\ -\end{tabular} - -\bigskip -\end{lined} -\end{table} - -Возможно, пример сделает это понятнее: -\begin{code} -\begin{verbatim} -\begin{figure} -\begin{center} -\includegraphics[angle=90, width=0.5\textwidth]{test} -\end{center} -\end{figure} -\end{verbatim} -\end{code} -Здесь включается графика, записанная в файл \texttt{test.eps}. Она -\emph{сначала} поворачивается на 90 градусов и \emph{затем} -масштабируется до конечной ширины в 0.5 ширины стандартного -абзаца. Пропорции сохраняются, поскольку не указано конкретной высоты. -Параметры высоты и ширины могут также быть указаны в абсолютных -размерах. Обратитесь к таблице~\ref{units} на -странице~\pageref{units}. Если вы хотите знать об этом больше, -прочтите \cite{graphics} и~\cite{eps}. - - -\section{Библиография} - -Окружение \ei{thebibliography} генерирует -\index{библиография}библиографию. Каждый элемент начинается с -\begin{lscommand} -\ci{bibitem}\verb|[|\emph{метка}\verb|]{|\emph{маркер}\verb|}| -\end{lscommand} -Затем \emph{маркер} используется для дальнейших ссылок на книгу, -статью или труд. -\begin{lscommand} -\ci{cite}\verb|{|\emph{маркер}\verb|}| -\end{lscommand} - -Если вы не используете опцию \emph{метка}, элементы библиографии -нумеруются автоматически. Параметр после команды -\verb|\begin{thebibliography}| устанавливает максимальную ширину этих - номеров. В следующем примере \verb|{99}| указывает \LaTeX{}, что ни - один из номеров элементов не будет шире, чем число `99'. - -\fvset{xrightmargin=0.6\textwidth} - -\begin{example} -Partl~\cite{pa} предложил, -чтобы \ldots - -\begin{thebibliography}{99} -\bibitem{pa} H.~Partl: -\emph{German \TeX}, -TUGboat Volume~9, Issue~1 ('88) -\end{thebibliography} -\end{example} - -\fvset{xrightmargin=0.5\textwidth} - -\chaptermark{Специальные возможности} % we need to fix the damage done by the - %bibliography example. - -\thispagestyle{fancyplain} - -Для использования в б\'оль\-ших проектах обратите внимание на программу -Bib\TeX{}. Она входит в большинство поставок \TeX{}. Bib\TeX{} -позволяет вам поддерживать библиографическую базу данных и извлекать -из нее ссылки, имеющие отношение к тому, что вы цитировали в вашем -труде. Визуальное представление библиографий, генерируемых Bib\TeX{}, -основано на концепции стилей, что позволяет вам создавать -библиографии, следуя любому из существующих стилей библиографии. - - -\section{Указатели} -\label{sec:indexing} - -Полезной особенностью многих книг является их предметный -указатель\index{предметный указатель}. Указатели могут создаваться -автоматически при помощи \LaTeX{} и сопровождающей программы -\texttt{makeindex}.\footnote{На системах, не поддерживающих длинные - имена файлов, программа может называться \texttt{makeidx}.} В этом -введении будут изложены только базовые команды генерации указателя. -Более глубокое изложение смотрите в~\companion. \index{программа - makeindex}\index{пакет makeidx} - -Для включения возможностей \LaTeX{} в преамбуле должен загружаться -пакет \pai{makeidx}: -\begin{lscommand} -\verb|\usepackage{makeidx}| -\end{lscommand} -\noindent а специальные команды должны быть разрешены помещением в -преамбулу команды -\begin{lscommand} - \ci{makeindex} -\end{lscommand} - -Содержимое указателя создается командами -\begin{lscommand} - \ci{index}\verb|{|\emph{ключ}\verb|}| -\end{lscommand} -\noindent где \emph{ключ} является элементом указателя. Вы вводите -команды указателя в том месте текста, куда этот элемент должен -указывать. Таблица~\ref{index} объясняет синтаксис аргумента -\emph{ключ} несколькими примерами. - -\begin{table}[!tp] -\caption{Примеры синтаксиса ключей указателя} -\label{index} -\begin{center} -\begin{tabular}{@{}lll@{}} - \textbf{Пример} &\textbf{Вид указателя} &\textbf{Комментарий}\\\hline - \rule{0pt}{1.05em}\verb|\index{hello}| &hello, 1 &Обычный элемент\\ -\verb|\index{hello!Peter}| &\hspace*{2ex}Peter, 3 &Подчиненный `hello' элемент\\ -\verb|\index{Sam@\textsl{Sam}}| &\textsl{Sam}, 2& Форматированный ключ\\ -\verb|\index{Lin@\textbf{Lin}}| &\textbf{Lin}, 7& То же\\ -\verb.\index{Jenny|textbf}. &Jenny, \textbf{3}& Форматированная страница\\ -\verb.\index{Joe|textit}. &Joe, \textit{5}& То же\\ -\verb.\index{eolienne@\'eolienne}. &\'eolienne, 4& Акцентиpованные буквы -\end{tabular} -\end{center} -\end{table} - -По мере обработки входного файла \LaTeX{}, каждая команда -\verb|\index| записывает соответствующий элемент указателя вместе с -номером текущей страницы в специальный файл. Файл имеет то же имя, что -и входной файл \LaTeX{}, но другое расширение имени (\verb|.idx|). -Этот \eei{.ind}-файл затем обрабатывается программой -\texttt{makeindex}. - -\begin{lscommand} - \texttt{makeindex} \emph{filename} -\end{lscommand} - -Программа \texttt{makeindex} генерирует отсортированный указатель с -тем же именем, но, на этот раз, с расширением \eei{.ind}. - -Если теперь повторно обработать входной файл, этот отсортированный -указатель включается в документ в то место, где \LaTeX{} находит -команду -\begin{lscommand} - \ci{printindex} -\end{lscommand} - -Пакет \pai{showidx}, входящий в \LaTeXe{}, печатает все элементы -указателя на левом поле текста. Это весьма полезно при проверке текста -и сверке указателя. - -Заметим, что команда \ci{index}, будучи использована неосторожно, -может повлиять на вид верстки. - -\begin{example} -Мое Слово \index{Слово}. В отличие -от Слово\index{Слово}. Отметьте -положение точки. -\end{example} - -\section{Настраиваемые колонтитулы} -\label{sec:fancy} - -Пакет \pai{fancyhdr},\footnote{Доступный из - \CTANref|/tex-archive/macros/latex/contrib/supported/fancyhdr|.} -написанный Piet van~Oostrum, предоставляет несколько простых команд, -позволяющих вам настраивать верхние и нижние колонтитулы документа. -Если вы сейчас взглянете на верх этой страницы, то увидите одно их -возможных применений этого пакета. - -\begin{figure}[!htbp] -\begin{lined}{\textwidth} -\begin{verbatim} -\documentclass{book} -\usepackage{fancyhdr} -\pagestyle{fancy} -% этим мы убеждаемся, что заголовки глав и -% разделов используют нижний регистр. -\renewcommand{\chaptermark}[1]{\markboth{#1}{}} -\renewcommand{\sectionmark}[1]{\markright{\thesection\ #1}} -\fancyhf{} % убираем текущие установки для колонтитулов -\fancyhead[LE,RO]{\bfseries\thepage} -\fancyhead[LO]{\bfseries\rightmark} -\fancyhead[RE]{\bfseries\leftmark} -\renewcommand{\headrulewidth}{0.5pt} -\renewcommand{\footrulewidth}{0pt} -\addtolength{\headheight}{0.5pt} % оставляем место для линейки -\fancypagestyle{plain}{% - \fancyhead{} % на обычных страницах убираем колонтитулы - \renewcommand{\headrulewidth}{0pt} % и линейку -} -\end{verbatim} -\end{lined} -\caption{Пример настройки \pai{fancyhdr}} \label{fancyhdr} -\end{figure} - -Сложность в настройке колонтитулов в том, чтобы включить туда вещи -вроде заголовков раздела или главы. \LaTeX{} достигает этого в два -этапа. В определениях колонтитулов можно использовать команды -\ci{rightmark} и \ci{leftmark}, представляющих заголовки текущей -главы и раздела, соответственно. Значения этих двух команд меняются -при обработке команд \ci{chapter} или \ci{section}. - -Для большей гибкости команды \ci{chapter} и ей подобные не -переопределяют \ci{rightmark} и \ci{leftmark} сами, а вызывают еще -одну команду, называющуюся \ci{chaptermark}, \ci{sectionmark} или -\ci{subsectionmark}, ответственную за переопределение \ci{rightmark} -и \ci{leftmark}.\sloppypar - -Так что, если вы хотите изменить вид названия главы в верхнем -колонтитуле, вы просто переопределяете команду \ci{chaptermark}. -\cih{sectionmark}\cih{subsectionmark} - -Рисунок~\ref{fancyhdr} показывает, как можно настроить пакет -\pai{fancyhdr} так, чтобы колонтитулы выглядели почти так, как они -выглядят у этого буклета. В любом случае вам рекомендуется -ознакомиться с документацией к пакету по адресу, упомянутому в сноске. - - -\section{Пакет verbatim} - -Ранее в этом введении вы познакомились с \emph{окружением} -\ei{verbatim}. В этом разделе вы узнаете про \emph{пакет} -\pai{verbatim}. Пакет \pai{verbatim} представляет из себя повторную -реализацию окружения \ei{verbatim} с исправлением некоторых его -ограничений. Само по себе это не замечательно,\trfootnote{Это для - американцев не замечательно. Для нас интересно то, что пакет - \pai{verbatim} включает команду \cih{verbatim"@font}\texttt{\bs verbatim@font}, позволяющую - использовать произвольный шрифт, например, русский, что невозможно в - окружении \ei{verbatim} без модификации стандартного поведения - \LaTeX{}.} но, кроме того, в него -была добавлена некоторая функциональность, и вот почему пакет здесь -упоминается. Пакет \pai{verbatim} предоставляет команду - -\begin{lscommand} -\ci{verbatiminput}\verb|{|\emph{файл}\verb|}| -\end{lscommand} - -\noindent которая позволяет вам включать текстовый файл в ваш -документ, как если бы его содержимое находилось внутри окружения -\ei{verbatim}. - -Так как пакет \pai{verbatim} входит в комплект `tools', вы найдете его -установленным на большинстве систем. Если вы хотите узнать о нем -больше, обязательно прочитайте \cite{verbatim}. - -\section{Загрузка и установка пакетов \LaTeX{}}\label{sec:Packages} - -Большинство дистрибутивов \LaTeX{} включают большой набор -предустановленных стилевых пакетов, но в Сети доступно намного -больше. Основное место для поиска стилевых пакетов в Интернете~--- -CTAN (\verb|http://www.ctan.org/|). - -Пакеты, такие, как \pai{geometry}, \pai{hyphenat} и многие другие, -обычно состоят из двух файлов: файла с расширением \texttt{.ins} и -второго, с расширением \texttt{.dtx}. Часто к ним прилагается файл -\texttt{readme.txt} с кратким описанием пакета. Конечно, сначала нужно -прочесть этот файл. - -В любом случае, после того, как вы скопировали файлы пакета на вашу -машину, вам нужно обработать их так, чтобы, во-первых, ваш \TeX{} -узнал о наличии нового пакета и, во-вторых, вы получили необходимую -документацию. Вот как выполняется первая часть: - -\begin{enumerate} -\item Обработайте \LaTeX{} файл \texttt{.ins}. На выходе вы получите файл - \eei{.sty}. -\item Поместите файл \eei{.sty} туда, где ваш дистрибутив ищет эти - файлы. Обычно это подкаталоги каталога - \texttt{\ldots/\emph{localtexmf}/tex/latex}. -\item Обновите базу имен файлов вашего дистрибутива. Команда зависит - от конкретного дистрибутива: для teTeX и fpTeX~--- \texttt{texhash}, - для web2c~--- \texttt{maktexlsr}, для MikTeX~--- \texttt{initexmf - -update-fndb}, или используя графические интерфейсы. -\end{enumerate} - -\noindent Теперь вы можете из файла \texttt{.dtx} получить -документацию: - -\begin{enumerate} -\item Обработайте \LaTeX{} файл \texttt{.dtx}. На выходе вы получите - файл \texttt{.dvi}. Заметьте, что вам может быть нужно запустить - \LaTeX{} несколько раз, чтобы получить правильные перекрестные - ссылки. -\item Проверьте, не сгенеровал ли \LaTeX{}, кроме всего прочего, файл - \texttt{.idx}. Если нет, то переходите к пункту~\ref{step:final}. -\item Для генерации предметного указателя, выполните команду:\\ - \fbox{\texttt{makeindex -s gind.ist \textit{имя}}}\\ - (где \textit{имя}~--- имя основного файла без расширения). -\item Снова обработайте \LaTeX{} файл \texttt{.dtx} \label{step:next} -\item В конце концов, для удобства чтения сгенерируйте файл - \texttt{.ps} или \texttt{.pdf}.\label{step:final} -\end{enumerate} - -Иногда вы обнаружите, что генерируется также файл \texttt{.glo} -(глоссарий). В этом случае между шагами~\ref{step:next} и -\ref{step:final} выполните команду: - -\noindent\texttt{makeindex -s gglo.ist -o \textit{имя}.gls \textit{имя}.glo} - -\noindent и еще раз запустить \LaTeX{} с файлом \texttt{.dtx}. - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Contents: Chapter on pdfLaTeX -% French original by Daniel Flipo 14/07/2001 -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -\section{Работа с pdf\LaTeX{}}\label{sec:pdftex}\index{PDF} -\secby{Daniel Flipo}{Daniel.Flipo@univ-lille1.fr}% - -PDF~--- формат гипертекстовых\index{гипертекст} документов. Так же, -как на веб-страницах, некоторые слова в документе отмечаются как -гиперссылки. Они ведут к другим точкам документа или к другим -документам. Если вы ткнете мышкой в такую гиперссылку, то попадете в -точку назначения ссылки. В контексте \LaTeX{} это означает, что все -появления в тексте команд \ci{ref} и \ci{pageref} становятся -гиперссылками. Кроме того, оглавление, предметный указатель и другие -аналогичные структуры становятся наборами гиперссылок. - -Б\'ольшая часть веб-страниц сегодня пишется на языке HTML -\emph{(HyperText Markup Language, язык гипертекстовой разметки)}. Для -научных документов этот формат имеет два серьезных недостатка: -\begin{enumerate} -\item Включение в HTML математических формул, вообще говоря, не - поддерживается. Несмотря на наличие такого стандарта, большинство - используемых сегодня Интернет-навигаторов его не поддерживают или не - имеют необходимых шрифтов. -\item Печать HTML-документов возможна, но результаты сильно зависят от - используемой платформы и навигатора. Результат и близко не подходит - к тому качеству, которое мы привыкли ожидать в мире \LaTeX{}. -\end{enumerate} - -Было множество попыток создать трансляторы из \LaTeX{} в -HTML. Некоторые из них были даже довольно успешны в том смысле, что -они могут генерировать корректные веб-страницы из обычных файлов -\LaTeX{}. Но все из них для получения результата предпринимают -множество упрощений. Когда вы начинаете использовать сложные -возможности \LaTeX{} и внешние пакеты, такие трансляторы обычно -начинают давать сбои. Авторы, желающие сохранить уникально -типографское качество своих документов даже публикуясь на WWW, -обращаются к PDF \emph{(Portable Document Format, формат мобильных - документов)}, который сохраняет верстку документа и позволяет -использовать гипертекстовую навигацию. Большинство современных -веб-навигаторов имеют встроенные средства для просмотра документов в -формате PDF. - -Даже несмотря на наличие средств просмотра форматов DVI и \PSi{} почти -на любой платформе, вы увидите, что гораздо более распространены -\wi{Acrobat Reader} и \wi{xpdf}, служащие для просмотра -PDF-документов. Поэтому, предоставляя PDF-версии ваших документов, вы -делаете их более доступными для потенциальных читателей. - -\subsection{PDF-документы для WWW} - -Создание PDF-файла из исходного текста в \TeX{} очень просто -благодаря программе pdf\TeX{}, разработанной -H\`an~Th\'{\^e}~Th\`anh. pdf\TeX{} генерирует PDF аналогично тому, как -\TeX{} генерирует DVI. Существует также pdf\LaTeX{}, генерирующий PDF -из исходного теста -\LaTeX{}.\index{pdftex@pdf\TeX}\index{pdftex@pdf\LaTeX} - -И pdf\TeX{}, и pdf\LaTeX{} автоматически устанавливаются большинством -современных дистрибутивов \TeX{}, таких, как te\TeX{}, fp\TeX{}, -Mik\TeX{}, \TeX{}Live и CMac\TeX{}. - -Для генерации PDF вместо DVI достаточно вместо команды \texttt{latex - file.tex} использовать команду \texttt{pdflatex file.tex}. Там, где -\LaTeX{} не запускается из командной строки, вы можете найти -специальную кнопку в \TeX{}ControlCenter. - -В \LaTeX{} размер бумаги определяется при помощи необязательных -параметров команды \ci{documentclass}, например, \texttt{a4paper} или -\texttt{letterpaper}. Этот механизм работает и в pdf\LaTeX{}, но, -помимо этого, pdf\TeX{} должен знать также и физический размер бумаги, -а не только размер области, используемой для верстки.\index{размер - бумаги} Если вы используете пакет \pai{hyperref} -(см. стр.~\pageref{ssec:pdfhyperref}), размер бумаги будет установлен -автоматически. В ином случае вам нужно сделать это вручную, поместив в -преамбулу документа следующие строчки: -\begin{code} -\begin{verbatim} -\pdfpagewidth=\paperwidth -\pdfpageheight=\paperheight -\end{verbatim} -\end{code} - -Следующий раздел более детально поясняет разницу между <<нормальным>> -\LaTeX{} и pdf\LaTeX{}. Основные отличия сосредоточены в трех -областях: в используемых шрифтах, в форматах включаемых изображений и -в методах ручного формирования гиперссылок. - -\subsection{Шрифты} - -\wi{pdf\LaTeX} может работать с любыми видами шрифтов (растровые -шрифты PK, TrueType, \PSi{} type~1\dots), но основной для \LaTeX{} -формат, растровые шрифты PK, делают документ, просматриваемый на -экране при помощи Acrobat Reader, очень коряво выглядящим. Для -генерации нормально отображаемых документов лучше всего -использовать шрифты \PSi{} Type~1. - -\PSi{} Type~1 версии шрифтов Computer Modern и AMSFonts были -произведены компаниями Blue Sky Research и Y\&Y, Inc., которые потом -передали авторские права на них Американскому Математическому Обществу -(AMS). В начале 1997 года эти шрифты были сделаны публично доступными, -и в настоящее время включены в большинство дистрибутивов \TeX{}. - -Однако, если вы используете \LaTeX{} для создания документов на -языках, отличных от английского, вам может быть нужно использовать -шрифты EC, LH или CB (см. обсуждение шрифтов \texttt{OT1} на -стр.~\pageref{OT1}). Владимир Волович создал шрифтовой пакет cm-super, -который охватывает полные наборы шрифтов EC/TC, EC Concrete, EC Bright -и LH. Он доступен по адресу \CTANref|fonts/ps-type1/cm-super|, а также -включен в дистрибутивы \TeX{}Live7 и Mik\TeX{}. Аналогично, греческие -шрифты CB в формате Type~1, созданные Apostolos -Syropoulos, доступны по адресу \CTANref|fonts/greek/cb|. К сожалению, -оба эти набора не отличаются типографским качеством Type~1 CM шрифтов -от Blue Sky/Y\&Y. Хинты (hints) в них сгенерированы автоматически, и -потому документы могут на экране выглядеть не так красиво, как при -использовании Type~1 CM шрифтов Blue Sky/Y\&Y. На устройствах с -высоким разрешением они дают результаты, идентичные оригинальным -растровым шрифтам EC/LH/CB. - -Если вы создаете документы на латинице, у вас есть несколько других -возможностей: -\begin{itemize} -\item Использовать пакет \pai{aeguill}, известный также как - \emph{Almost European Computer Modern with Guillemets}. Просто - поместите в преамбулу строчку - \verb+\usepackage{aeguill}+\paih{aeguill} для использования - виртуальных шрифтов AE вместо шрифтов EC. -\item Использовать пакет \pai{mltex}, который, однако, работает, - только если ваш pdf\TeX{} скомпилирован с опцией \wi{mltex}. -\end{itemize} - -Виртуальный набор шрифтов AE, аналогично системе {Ml\TeX}, заставляет -\TeX{} верить, что он имеет полные 256-символьные шрифты, создавая -большинство недостающих знаков из шрифта CM и переупорядочивая их в -кодировку EC, позволяя таким образом использовать высококачественные -CM шрифты в формате Type~1, доступные на большинстве систем. Поскольку -шрифт теперь имеет кодировку T1, для европейских языков, основанных на -латинице, нормально работает механизм переносов. Единственный -недостаток этого подхода~--- в том, что искусственные символы AE не -работают в функции поиска Acrobat Reader, так что вы не сможете искать -слова с акцентированными символами. - -Для русского языка аналогичным решением будет использование -виртуальных шрифтов C1, доступных по адресу -\texttt{ftp://ftp.vsu.ru/pub/tex/font-packs/c1fonts}. Эти шрифты -комбинируют стандартные шрифты CM Type~1 из набора Bluesky со шрифтами -CMCYR Type~1 из наборов Paradissa и BaKoMa, доступных на -CTAN. Поскольку шрифты Paradissa содержат только русские буквы, шрифты -C1 не имеют других кириллических символов. - -Иным решением может быть переключение на другие \PSi{} Type~1 -шрифты. Некоторые из них даже поставляются с каждой копией Acrobat -Reader. Из-за того, что эти шрифты имеют другие метрики символов, ваша -верстка изменится. Обычно текст начинает занимать больше места, так -как CM шрифты очень компактны. Кроме того, общая визуальная -согласованность документа будет хуже, так как шрифты Times, Helvetica -и Courier (основные кандидаты на такую замену) не были спроектированы -работать вместе в одном документе, как это было сделано в шрифтах -Computer Modern. - -Для этой цели существуют два готовых набора шрифтов: пакет \pai{pxfonts}, -базирующийся в качестве основного на шрифте \emph{Palatino}, и пакет -\pai{txfonts}, базирующийся на шрифте \emph{Times}. Чтобы использовать -эти пакеты, поместите в преамбулу следующие строчки: -\begin{code} -\begin{verbatim} -\usepackage[T1]{fontenc} -\usepackage{pxfonts} -\end{verbatim} -\end{code} - -Замечание: после компиляции исходного текста вы можете увидеть в -\texttt{.log}-файле строчки наподобие следующей: -\begin{verbatim} -Warning: pdftex (file eurmo10): Font eurmo10 at ... not found -\end{verbatim} -Они означают, что не был найден определенный шрифт, использованный в -документе. Вам придется устранить эту проблему, так как результирующий -PDF-документ может \emph{вообще не показывать страницы с - отсутствующими символами}. - -Вся эта непростая проблема со шрифтами, особенно отсутствие хорошего -набора шрифтов EC, равного по качеству шрифтам CM в формате Type~1, -занимает умы множества людей, так что постоянно появляются новые -решения. - -\subsection{Использование графики} -\label{ssec:pdfgraph} - -Включение графики в документ лучше всего работает при помощи пакета -\pai{graphicx} (см. стр.~\pageref{eps}). С указанием значения -\texttt{pdftex} в опции \emph{driver} этот пакет успешно работает с -pdf\LaTeX{}: -\begin{code} -\begin{verbatim} -\usepackage[pdftex]{color,graphicx} -\end{verbatim} -\end{code} -В приведенном примере включен также пакет \pai{color}, поскольку -использование цвета в веб-документах вполне естественно. - -Это все были хорошие новости, а теперь~--- плохие: графика в формате -\EPSi{} не работает с pdf\LaTeX{}. Если вы не зададите расширение -файла в команде \ci{includegraphics}, пакет \pai{graphicx} выберет -подходящий файл, основываясь на значении опции \emph{driver}. Для -значения \texttt{pdftex} это будут форматы \texttt{.png}, -\texttt{.pdf}, \texttt{.jpg}, \texttt{.mps} (\MP\index{metapost@\MP}) -и \texttt{.tif}~--- но \emph{не} \texttt{.eps}. - -Простой способ обхода этой проблемы~--- сконвертировать ваши файлы EPS -в формат PDF утилитой \texttt{epstopdf}, присутствующей во многих -системах. Для векторной графики это замечательное решение. Для растров -(фотографий, сканированных документов) это не идеально, потому что -формат PDF сам по себе поддерживает включение растровых изображений -формата PNG и JPEG. Формат PNG хорош для снимков экрана и других -изображений с небольшим количеством цветов. Формат JPEG хорош для -фотографий из-за своей компактности. - -Иногда может быть желательно вообще не рисовать геометрические фигуры, -а описать их на языке специальных команд, таком, как -\MP\index{metapost@\MP}, включенном в большинство дистрибутивов -\TeX{}. В комплекте вы найдете полное руководство по его -использованию. - -\subsection{Гиперссылки} -\label{ssec:pdfhyperref} - -Пакет \pai{hyperref} превратит все внутренние ссылки документа в -гиперссылки. Для этого необходимо некоторое шаманство, в частности, -команда \verb+\usepackage[pdftex]{hyperref}+ должна быть -\emph{последней} командой в преамбуле вашего документа. - -Для настройки поведения пакета \pai{hyperref} мы можете использовать: -\begin{itemize} -\item разделенный запятыми список опций \pai{hyperref}, после опции - \texttt{pdftex}\\ - \verb+\usepackage[pdftex]{hyperref}+ -\item отдельные команды - \verb+\hypersetup{+\emph{опции}\verb+}+. -\end{itemize} - -Единственная обязательная опция~--- \texttt{pdftex}, остальные лишь -позволяют изменять поведение \pai{hyperref} по -умолчанию.\footnote{Стоит заметить, что пакет \pai{hyperref} не - ограничен работой с pdf\TeX{}. Его можно настроить для внедрения в - нормальную выдачу DVI специфичной для PDF информации. Она потом - попадает в PS-файл, генерируемый программой \texttt{dvips}, и, - наконец, используется Adobe Distiller, который можно использовать - для преобразования PS-файлов в формат PDF.} В следующем списке -значения по умолчанию приведены прямым шрифтом: - -\begin{description} - \item [\texttt{bookmarks (=true,\textit{false})}] показывает или - прячет полосу закладок при просмотре документа - \item [\texttt{unicode (=false,\textit{true})}] позволяет - использовать в закладках нелатинские символы - \item [\texttt{pdftoolbar (=true,\textit{false})}] показывает или - прячет линейку инструментов Acrobat - \item [\texttt{pdfmenubar (=true,\textit{false})}] показывает или - прячет меню Acrobat - \item [\texttt{pdffitwindow (=true,\textit{false})}] меняет - начальное увеличение документа (страница размером в окно Acrobat) - \item [\texttt{pdftitle (=\{text\})}] устанавливает заголовок, - отображаемый Acrobat в окне \texttt{Document Info} - \item [\texttt{pdfauthor (=\{text\})}] задает автора PDF-документа - \item [\texttt{pdfnewwindow (=true,\textit{false})}] определяет, - должно ли открываться новое окно, если гиперссылка ведет в другой - документ - \item [\texttt{colorlinks (=false,\textit{true})}] окружает ссылки - цветными рамками (\texttt{false}) или меняет цвет текста ссылок - (\texttt{true}). Цвет можно настроить следующими опциями (показаны - значения по умолчанию): - \begin{description} - \item [\texttt{linkcolor (=red)}] цвет внутренних ссылок (разделы, - страницы и т.п.), - \item [\texttt{citecolor (=green)}] цвет ссылок на литературу, - \item [\texttt{filecolor (=magenta)}] цвет ссылок на файлы, - \item [\texttt{urlcolor (=cyan)}] цвет ссылок на URL (почта, WWW). - \end{description} -\end{description} - -\vspace{\baselineskip} - -Если вас устраивают значения по умолчанию: -\begin{code} -\begin{verbatim} -\usepackage[pdftex]{hyperref} -\end{verbatim} -\end{code} - -Чтобы открыть окно закладок и раскрасить ссылки (значения -\texttt{=true} можно опускать): -\begin{code} -\begin{verbatim} -\usepackage[pdftex,bookmarks,colorlinks]{hyperref} -\end{verbatim} -\end{code} - -Когда PDF-документы предназначаются для печати, цветные ссылки лучше -не использовать, потому что они окажутся на бумаге серыми, затрудняя -чтение. Лучше использовать цветные рамки, которые не печатаются: -\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} - -Если вам нужно задать информацию для секции \texttt{Document Info}: -\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} -Веб-сайт \href{http://www.ctan.org}{CTAN}. -\end{verbatim} -\end{code} -\noindent генерирует на выходе ``\href{http://www.ctan.org}{CTAN}''; -при нажатии мышью на слово ``\textcolor{magenta}{CTAN}'' вы попадете -на веб-сайт CTAN. - -Если ссылка ведет не на URL, а на локальный файл, вы тоже можете -пользоваться командой \ci{href}: -\begin{verbatim} - Полный текст документа находится \href{manual.pdf}{здесь}. -\end{verbatim} -\noindent что сгенерирует текст ``Полный текст документа находится -\textcolor{cyan}{здесь}.'' Нажатие на слово -``\textcolor{cyan}{здесь}'' откроет файл \texttt{manual.pdf}. (Имя -файла рассматривается относительно положения текущего документа.) - -Автор статьи может облегчить читателю отсылку откликов, используя -команду \ci{href} внутри команды \ci{author} на титульной странице -документа: -\begin{code} -\begin{verbatim} -\author{Mary Oetiker $<$\href{mailto:mary@oetiker.ch}% - {mary@oetiker.ch}$>$ -\end{verbatim} -\end{code} -Заметим, что ссылка с почтовым адресом дополняет адрес, приведенный -собственно на странице. Это сделано потому, что ссылка\\ -\verb+\href{mailto:mary@oetiker.ch}{Mary Oetiker}+\\ -будет удобна из-под Acrobat Reader, но будет невидима после печати -документа на бумаге. - -\subsection{Проблемы со ссылками} - -Когда сбрасываются счетчики, например, когда команда \ci{mainmatter} -из класса документов \texttt{book} сбрасывает счетчик номера страницы -в~1, генерируются сообщения наподобие такого: -\begin{verbatim} -! pdfTeX warning (ext4): destination with the same identifier - (name{page.1}) has been already used, duplicate ignored -\end{verbatim} -Происходит это потому, что во вводной части книги уже была страница -номер~1, и все ссылки на ``страницу 1'' будут уже не уникальными, -отсюда и сообщение ``\verb+duplicate+ has been \verb+ignored+.'' - -Избавиться от этого можно, задав \texttt{hyperref} опцию -\texttt{plainpages=false}. К сожалению, поможет она только в отношении -счетчика страниц. Еще более радикальной мерой может быть использование -опции \texttt{hypertexnames=false}, но после этого перестанут работать -ссылки на страницы из предметного указателя. - -\subsection{Проблемы с закладками} - -Текст закладок не всегда выглядит так, как вам бы этого хотелось. В -закладках допустим гораздо меньший набор символов, чем в нормальном -\LaTeX{}, поскольку они являются ``просто текстом''. Обычно hyperref -замечает связанные с этим проблемы и выводит предупреждение: -\begin{code} -\begin{verbatim} -Package hyperref Warning: -Token not allowed in a PDFDocEncoded string: -\end{verbatim} -\end{code} - -Вы можете обойти эту проблему, предоставив текстовую строчку для -закладки взамен проблемного текста: -\begin{lscommand} -\ci{texorpdfstring}\verb|{|\emph{текст \TeX{}а}\verb|}{|\emph{текст закладки}\verb|}| -\end{lscommand} - -Математические выражения являются первыми кандидатами на такую замену: -\begin{code} -\begin{verbatim} -\section{\texorpdfstring{$E=mc^2$}% - {E\ =\ mc\texttwosuperior}} -\end{verbatim} -\end{code} -\noindent что превращает \verb+\section{$E=mc^2$}+ в ``E=mc2'' для -цели создания закладки. - -Цвета тоже плохо себя ведут в закладках: -\begin{code} -\verb+\section{\textcolor{red}{Red !}}+ -\end{code} -\noindent выдает строку ``redRed!''. Команда \verb+\textcolor+ -игнорируется, но ее аргумент (red) печатается. - -Гораздо лучший результат получается так: -\begin{code} -\verb+\section{\texorpdfstring{\textcolor{red}{Red !}}{Red\ !}}+ -\end{code} - - -\section{Совместимость исходных текстов \LaTeX{} и pdf\LaTeX{}} -\label{sec:pdfcompat} - -В идеале ваш документ должен одинаково хорошо компилироваться как -\LaTeX{}, так и pdf\LaTeX{}. Основная проблема тут~--- включение -графики. Простым решением является \emph{повсеместное умолчание} -расширения файлов в команде \ci{includegraphics}. В этом случае -компилятор автоматически выбирает файл требуемого формата из текущего -каталога. Все, что нужно будет сделать,~--- это создать подходящие -версии графических файлов. \LaTeX{} будет выбирать \texttt{.eps}, а -pdf\LaTeX{} постарается включить файлы с расширениями \texttt{.png}, -\texttt{.pdf}, \texttt{.jpg}, \texttt{.mps} или \texttt{.tif} (в -указанном порядке). - -Для случаев, когда вам все же нужно будет использовать разный код для -обычной и PDF-версии документа, можно где-то в самом начале документа -сделать следующее: -\begin{code} -\begin{verbatim} -\newif\ifPDF -\ifx\pdfoutput\undefined\PDFfalse -\else\ifnum\pdfoutput > 0\PDFtrue - \else\PDFfalse - \fi -\fi -\end{verbatim} -\end{code} -Здесь определена специальная команда, позволяющая легко писать -условный код: -\begin{code} -\begin{verbatim} -\ifPDF - \usepackage[T1]{fontenc} - \usepackage{aeguill} - \usepackage[pdftex]{graphicx,color} - \usepackage[pdftex]{hyperref} -\else - \usepackage[T1]{fontenc} - \usepackage[dvips]{graphicx} - \usepackage[dvips]{hyperref} -\fi -\end{verbatim} -\end{code} -В этом примере пакет hyperref включен даже в не-PDF-версии. Сделано -это для того, чтобы команда \ci{href} работала в любом случае, и ее -использование не надо было оборачивать в условные операторы. - -Заметим, что в современных дистрибутивах \TeX{} (например, в -\TeX{}Live), выбор \texttt{pdftex} или \texttt{dvips} при вызове -\pai{graphicx} и \pai{color} происходит автоматически в соответствии с -настройками конфигурационных файлов \texttt{graphics.cfg} и -\texttt{color.cfg}. - -\section{Создание презентаций при помощи \pai{pdfscreen}} -\label{sec:pdfscreen} -\secby{Daniel Flipo}{Daniel.Flipo@univ-lille1.fr} -Результаты вашей работы вы можете демонстрировать на доске, -проектором, или прямо с вашего ноутбука при помощи одной из -презентационных программ. - -\wi{pdf\LaTeX} с пакетом \pai{pdfscreen} позволяет вам создавать -презентации в PDF, столь же красивые и живые, как и в -\emph{PowerPoint}, но много более мобильные, поскольку Acrobat Reader -существует на более широком спектре систем. - -Пакет \pai{pdfscreen} использует пакеты \pai{graphicx}, \pai{color} и -\pai{hyperref} с опциями, настроенными для экранной презентации. - -\begin{figure}[htbp] -\begin{verbatim} -\documentclass[pdftex,12pt]{article} -%%% misc extensions %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\usepackage[latin1]{inputenc} -\usepackage[english]{babel} -\usepackage[T1]{fontenc} -\usepackage{aeguill} -%%% pdfscreen %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\usepackage[screen,panelleft,chocolate]{pdfscreen} -% Screen Format -\panelwidth=25mm -%% height width -\screensize{150mm}{200mm} -%% left right top bottom -\marginsize{42mm}{8mm}{10mm}{10mm} -% Color or image for background -\overlayempty -\definecolor{mybg}{rgb}{1,0.9,0.7} -\backgroundcolor{mybg} -% Logo -\emblema{MyLogo} -%%% For PPower4 (post-processor) %%%%%%%%%%%%%%%%%%%%%%%% -\usepackage{pause} -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\begin{document} -\begin{slide} -\begin{itemize} -\item Good News\dots \pause -\item Bad News -\end{itemize} -\end{slide} -\end{document} -\end{verbatim} -% \begin{center} -% \includegraphics[width=.8\textwidth]{pdfscr} - \caption{Пример входного файла pdfscreen} - \label{fig:pdfscr} -% \end{center} -\end{figure} - -Для создания таких документов обычно используется класс -\texttt{article}. Рис.~\ref{fig:pdfscr} показывает пример входного -файла. Сначала загружается пакет \pai{pdfscreen} с соответствующими -опциями: -\begin{description} -\item[\texttt{screen}]: экранная презентация. Для бумажной презентации - пользуйтесь опцией \texttt{print}. -\item[\texttt{panelright}] размещает панель навигации в правой части - экрана. Если панель нужна слева, пользуйтесь опцией - \texttt{panelleft}. Если она не нужна вообще, используйте - \texttt{nopanel}. -\item[\texttt{french}] или любой другой поддерживаемый язык. Текст на - навигационных кнопках выводится на соответствующем языке. Эта опция - не зависит от опций пакета \pai{babel}. Если ваш язык не - поддерживается \pai{pdfscreen}, вы все же можете локализовать кнопки - панели при помощи файла \texttt{pdfscreen.cfg}, см., например, - \texttt{pdfscreen.cfg.specimen}. -\item[\texttt{chocolate}] цветовая схема навигационной панели. Другие - варианты: \texttt{gray}, \texttt{orange}, \texttt{palegreen}, - \texttt{bluelace} и \texttt{blue}, используемый по умолчанию. -\end{description} - -Далее настраивается формат экрана. Поскольку презентация всегда -разворачивается на полный экран, это можно использовать для настройки -размера шрифта: -\begin{description} -\item[\ci{panelwidth}] определяет ширину навигационной панели -\item[\ci{screensize}\textmd{\texttt{\{}\emph{ширина}\texttt{\}\{}\emph{высота}\texttt{\}}}] - определяет ширину и высоту экрана, включая навигационную панель -\item[\ci{marginsize}\textmd{\texttt{\{}\emph{левое}\texttt{\}\{}\emph{правое}\texttt{\}\{}\emph{верхнее}\texttt{\}\{}\emph{нижнее}\texttt{\}}}] - определяет поля документа. В приведенном примере документ не - центрируется, поскольку номера разделов остаются на левом поле. -\end{description} - -Можно использовать фоновое изображение в любом из поддерживаемых -pdf\TeX{} форматов командой -\begin{lscommand} -\ci{overlay}\verb|{|\emph{изображение}\verb|}| -\end{lscommand} -\noindent или, если вы предпочитаете пустой фон, можно задать его цвет -командой -\begin{lscommand} -\ci{background}\verb|{|\emph{цвет}\verb|}| -\end{lscommand} -Наконец, если вы хотите поместить на навигационную панель эмблему -вашей организации, пользуйтесь командой -\begin{lscommand} -\ci{emblema}\verb|{|\emph{файл-с-эмблемой}\verb|}| -\end{lscommand} - -Если вы верите в убедительность последовательной демонстрации пунктов -вашего рассказа, можете использовать пакет \pai{pause}. Он предлагает -команду \ci{pause}. Ее можно помещать в текст в те места, где вы -хотите задержать отображение вашего документа. Пакет \pai{pause} -является частью системы \texttt{PPower4} ($P^4$: \emph{PDF - Presentation Post-Processor}), которая берет документ, -сгенерированный pdf\TeX{}, и заставляет его петь, плясать и собирать -деньги. Командная строчка выглядит так: -\begin{lscommand} -\verb+ppower4 xy.pdf xyz.pdf+ -\end{lscommand} - -Для управления тем, что отражается на каждом слайде, пользуйтесь -окружением \verb+\begin{slide}+ \ldots \verb+\end{slide}+. Содержимое -каждого слайда отображается вертикально центрированным на своей -странице. - -Компилируя приведенный пример, мы получим ошибку: -\begin{verbatim} -! pdfTeX warning (dest): name{contents} has been - referenced but does not exist, replaced by a fixed one -\end{verbatim} -Причина тут в том, что на навигационной панели есть кнопка, ведущая к -оглавлению, а наш пример оглавления не имеет. - -Если вам захочется отображать оглавление прямо на навигационной -панели, используйте \pai{pdfscreen} с опцией -\texttt{paneltoc}. Понятно, это будет удовлетворительно выглядеть -только если ваше оглавление содержит немного коротких -заголовков. Можно задавать дополнительные короткие заголовки для ваших -разделов квадратными скобками в командах секционирования. - -Это короткое введение пробежало только по самым верхам возможностей -\pai{pdfscreen} и \texttt{PPower4}. Каждый из них включает собственное -подробное руководство. - - -%%% Local Variables: -%%% mode: latex -%%% TeX-master: "lshort2e" -%%% End: diff --git a/Master/texmf-doc/doc/russian/lshort-russian/src/t-fvrbex.tex b/Master/texmf-doc/doc/russian/lshort-russian/src/t-fvrbex.tex deleted file mode 100644 index c59e52b4b23..00000000000 --- a/Master/texmf-doc/doc/russian/lshort-russian/src/t-fvrbex.tex +++ /dev/null @@ -1,213 +0,0 @@ -%% -%% This is file `t-fvrbex.tex', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% fvrb-ex.dtx (with options: `t-fvrbex') -%% -%% IMPORTANT NOTICE: -%% -%% For the copyright see the source file. -%% -%% Any modified versions of this file must be renamed -%% with new filenames distinct from t-fvrbex.tex. -%% -%% For distribution of the original source see the terms -%% for copying and modification in the file fvrb-ex.dtx. -%% -%% This generated file may be distributed as long as the -%% original source files, as listed above, are part of the -%% same distribution. (The sources need not necessarily be -%% in the same archive or directory.) -%% -%% Packages `fvrb-ex' (`fvrb-ex', `hbaw' and `hcolor') -%% -%% Denis Girou (CNRS/IDRIS - France) -%% March 27, 1998 -%% -%% File `t-fvrbex' -%% -\documentclass{article} - -\newif\ifpstricks -\IfFileExists{pstricks.sty} -{\usepackage[bawcolor,pstricks]{fvrb-ex}\pstrickstrue} -{\usepackage[bawcolor]{fvrb-ex}} - -\begin{document} - -\title{Test file for the `\textsf{fvrb-ex}' package} -\author{Denis Girou\\CNRS/IDRIS\\Orsay -- France\\ - {\footnotesize email: Denis.Girou@idris.fr}} -\date{Version 1.2\\March 27, 1998} - -\maketitle - -\RecustomVerbatimEnvironment{Verbatim}{Verbatim} - {gobble=2,commentchar=ё,numbers=left,numbersep=3pt,frame=single} - -\section{\texttt{Example} environment} - -\begin{Verbatim} - \begin{Example} - First verbatim line. - Second verbatim line. - Third verbatim line. - \end{Example} -\end{Verbatim} - -\begin{Example} - First verbatim line. - Second verbatim line. - Third verbatim line. -\end{Example} - -\begin{Verbatim} - \begin{Example}[frame=lines,framerule=1mm,numbers=left] - First verbatim line. - Second verbatim line. - Third verbatim line. - \end{Example} -\end{Verbatim} - -\begin{Example}[frame=lines,framerule=1mm,numbers=left] - First verbatim line. - Second verbatim line. - Third verbatim line. -\end{Example} - -\section{\texttt{CenterExample} environment} - -\begin{Verbatim} - \begin{CenterExample}[frame=single,numbers=right] - First verbatim line. - Second verbatim line. - Third verbatim line. - \end{CenterExample} -\end{Verbatim} - -\begin{CenterExample}[frame=single,numbers=right] - First verbatim line. - Second verbatim line. - Third verbatim line. -\end{CenterExample} - -\begin{Verbatim} - \begin{CenterExample}[frame=lines,numbers=left] - ^^a7HLa^^b5First^^b6 verbatim line. - ^^a7HLb^^b5Second^^b6 verbatim line. - ^^a7HLCBWz^^b5Third^^b6 verbatim line. - \end{CenterExample} -\end{Verbatim} - -\begin{CenterExample}[frame=lines,numbers=left] - ^^a7HLa^^b5First^^b6 verbatim line. - ^^a7HLb^^b5Second^^b6 verbatim line. - ^^a7HLCBWz^^b5Third^^b6 verbatim line. -\end{CenterExample} - -\section{\texttt{SideBySideExample} environment} - -\begin{Verbatim} - \begin{SideBySideExample}[xrightmargin=5cm,frame=lines, - numbers=left] - First verbatim line. - Second verbatim line. - Third verbatim line. - \end{SideBySideExample} -\end{Verbatim} - -\begin{SideBySideExample}[xrightmargin=5cm,frame=single,numbers=left] - First verbatim line. - Second verbatim line. - Third verbatim line. -\end{SideBySideExample} - -\ifpstricks % If PSTricks is available - -\section{\texttt{PCenterExample} environment} - -\begin{Verbatim} - \fvset{frame=lines,framerule=0.5mm,numbers=left} - - \begin{PCenterExample}(-0.5,-0.5)(0.5,0.5) - \setlength{\unitlength}{1cm} - \put(0,0){\circle{1}} - \end{PCenterExample} - - \showgrid - \begin{PCenterExample}(-1,-1)(1,1) - \setlength{\unitlength}{1cm} - \put(0,0){\circle{1}} - \end{PCenterExample} -\end{Verbatim} - -{\fvset{frame=lines,framerule=0.5mm,numbers=left} -\begin{PCenterExample}(-0.5,-0.5)(0.5,0.5) - \setlength{\unitlength}{1cm} - \put(0,0){\circle{1}} -\end{PCenterExample} -\showgrid -\begin{PCenterExample}(-1,-1)(1,1) - \setlength{\unitlength}{1cm} - \put(0,0){\circle{1}} -\end{PCenterExample} -} - -\section{\texttt{PSideBySideExample} environment} - -\begin{Verbatim} - \fvset{frame=single,xrightmargin=5cm} - \begin{PSideBySideExample}(-2,-1)(2,1) - \psellipse*[linecolor=yellow](2,1) - \end{PSideBySideExample} - \showgrid - \begin{PSideBySideExample}(-2,-1)(2,1) - \psellipse[linestyle=dashed](2,1) - \end{PSideBySideExample} -\end{Verbatim} - -{\fvset{frame=single,xrightmargin=5cm} -\begin{PSideBySideExample}(-2,-1)(2,1) - \psellipse*[linecolor=yellow](2,1) -\end{PSideBySideExample} - -\showgrid -\begin{PSideBySideExample}(-2,-1)(2,1) - \psellipse[linestyle=dashed](2,1) -\end{PSideBySideExample} -} - -\begin{Verbatim} - \fvset{frame=single,xrightmargin=5cm} - \begin{PSideBySideExample}(-2,-1)(2,1) - \psellipse[linestyle=^^a7HLCBWe^^b5dashed^^b6](2,1) - \end{PSideBySideExample} - \begin{PSideBySideExample}[numbers=right](-2,-1)(2,1) - \psellipse[linestyle=^^a7HLe^^b5dotted^^b6](2,1) - \end{PSideBySideExample} -\end{Verbatim} - -{\fvset{frame=single,xrightmargin=5cm} -\begin{PSideBySideExample}(-2,-1)(2,1) - \psellipse[linestyle=^^a7HLCBWe^^b5dashed^^b6](2,1) -\end{PSideBySideExample} -\begin{PSideBySideExample}[numbers=right](-2,-1)(2,1) - \psellipse[linestyle=^^a7HLe^^b5dotted^^b6](2,1) -\end{PSideBySideExample} - -\else % If PSTricks is not available -\begin{quote} - \section{\texttt{PCenterExample} and \texttt{PSideBySideExample} -environments} - - \textbf{\large Warning!} These two environments are not demonstrated here, -because PSTricks was not found on this platform. -\end{quote} -\fi - -\end{document} -\endinput -%% -%% End of file `t-fvrbex.tex'. diff --git a/Master/texmf-doc/doc/russian/lshort-russian/src/things.tex b/Master/texmf-doc/doc/russian/lshort-russian/src/things.tex deleted file mode 100644 index c4fb31d00c7..00000000000 --- a/Master/texmf-doc/doc/russian/lshort-russian/src/things.tex +++ /dev/null @@ -1,809 +0,0 @@ -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Contents: Things you need to know -% $Id: things.tex,v 1.1.1.1 2002/02/26 10:04:20 oetiker Exp $ -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -\chapter{Это нужно знать} -\begin{intro} - Первая часть этой главы содержит краткий обзор философии и истории - \LaTeX{}. Вторая часть главы фокусируется на основных структурах - документов \LaTeX{}. После чтения этой главы вы должны иметь общее - представление о том, как работает \LaTeX{}. В дальнейшем это поможет - вам объединить всю новую информацию в единую картину. -\end{intro} - - -\section{Названия} -\subsection{\TeX} - -\sloppy{}\TeX{}~--- это компьютерная программа, созданная Дональдом Кнутом -(\index{Knuth, Donald E.}Donald E.~Knuth)~\cite{texbook}. Она -предназначена для верстки текста и математических формул. Кнут начал -писать \TeX{} в 1977 году для изучения потенциала цифрового -печатающего оборудования, которое начало появляться в это время, -надеясь, в особенности, обратить тенденцию ухудшения типографского -качества, которую он видел на примере его собственных книг и статей. -\TeX{}, в том виде, в каком мы его сегодня используем, был выпущен в -1982 году с некоторыми добавлениями в 1989 (лучшая поддержка 8-битных -символов и различных языков). \TeX{} знаменит своей чрезвычайной -стабильностью, работой на различных типах компьютеров и практически -полным отсутствием ошибок. Номер версии \TeX{} сходится к $\pi$ и -сейчас равен $3.14159$. - -\TeX{} произносится как <<тех>>. В среде \texttt{ASCII} \TeX{} -нужно писать как \texttt{TeX}. - -\subsection{\LaTeX} - -\LaTeX{}~--- макропакет, позволяющий авторам верстать и печатать их -работы с высоким типографским качеством, при помощи заранее -определенных, профессиональных макетов. \LaTeX{} был написан -\index{Lamport, Leslie}{\lat Leslie Lamport}~\cite{manual}. В качестве -механизма для верстки он использует \TeX{}. Сейчас \LaTeX{} -поддерживает \index{Mittelbach, Frank}Frank Mittelbach. - -%В 1994 году пакет \LaTeX{} был обновлен командой -%\index{LaTeX3@\LaTeX3}\LaTeX3 во главе с \index{Mittelbach, -% Frank}Frank Mittelbach. В нем были сделаны некоторые давно -%ожидавшиеся улучшения, и вновь объединены все варианты \LaTeX{}, -%разошедшиеся с выпуска много лет назад \index{LaTeX 2.09@\LaTeX{} -% 2.09}версии \LaTeX{}~2.09. Чтобы не путать эту новую версию со -%старой, она называется \index{LaTeX 2e@\LaTeXe}\LaTeXe. Эта -%документация описывает именно \LaTeXe{}. - -\LaTeX{} произносится как <<лэйтех>> или как <<латех>>. Если вы -ссылаетесь на \LaTeX{} в \texttt{ASCII} окружении, пишите -\texttt{LaTeX}. \LaTeXe{} пишется как \texttt{LaTeX2e}. - -%Рисунок \ref{components} на странице~\pageref{components} показывает, -%как работают вместе \TeX{} и \LaTeXe{}. Он взят из \texttt{wots.tex} -%(автор Kees van der Laan). - -%\begin{figure}[btp] -%\begin{lined}{0.8\textwidth} -%\begin{center} -%\input{kees.fig} -%\end{center} -%\end{lined} -%\caption{Составляющие \TeX{} системы}\label{components} -%\end{figure} - -\section{Основы} - -\subsection{Автор, дизайнер и верстальщик} - -Для того, чтобы опубликоваться, авторы отдают свои рукописи в -издательство. Затем один из дизайнеров издательства определяет макет -документа (ширину столбцов, шрифты, интервалы выше и ниже заголовков -и~т.п.). Дизайнер записывает свои инструкции в рукописи и отдает ее -верстальщику, который верстает книгу в соответствии с этими -инструкциями. - -Дизайнер--человек пытается понять, что автор имел в виду, когда писал -свою рукопись. Он определяет заголовки глав, цитаты, примеры, -формулы и прочее, исходя из своего профессионального опыта и из -содержания рукописи. - -В среде \LaTeX, \LaTeX{} берет на себя роль дизайнера книги, используя -\TeX{} в качестве верстальщика. Но \LaTeX~--- это всего лишь -программа, и, следовательно, нуждается в более четких инструкциях. -Автор должен предоставить дополнительную информацию, описывающую -логическую структуру своей работы. Эта информация записывается в текст -в виде <<команд \LaTeX{}>>. - -Это в корне отличается от \wi{WYSIWYG}\footnote{What you see is what - you get.} подхода, принятого в большинстве современных текстовых -процессоров, таких как \emph{MS Word} или \emph{Corel WordPerfect}. В -этих приложениях авторы форматируют документ интерактивно в процессе -набора текста на компьютере. В процессе работы они могут видеть на -экране как будет выглядеть их работа, когда, в конце концов, она будет -напечатана. - -При использовании \LaTeX{} обычно невозможно увидеть итоговую картину во -время печатания текста. Ее, однако, можно посмотреть на экране после -обработки файла \LaTeX. Затем можно внести исправления перед -собственно печатью. - -\subsection{Дизайн макета} - -Типографский дизайн~--- это профессия. Неопытные авторы часто -допускают серьезные ошибки форматирования, предполагая, что дизайн -книги~--- это большей частью вопрос эстетики: <<если документ выглядит -художественно, значит, он хорошо отдизайнен>>. Но, так как документ -предназначен для чтения, а не для вывешивания в картинной галерее, -удобство его чтения и понимания гораздо более важны, нежели красота. -Например: -\begin{itemize} -\item Размер шрифта и нумерация заголовков должны выбираться с тем, - чтобы сделать структуру глав и разделов ясной для читателя. -\item Строка должна быть достаточно короткой, чтобы не напрягать глаза - читателя, и достаточно длинной для красивого заполнения страницы. -\end{itemize} - -С \wi{WYSIWYG} системами авторы часто производят эстетически приятные -документы со слабо выраженной или невыдержанной структурой. \LaTeX{} -предотвращает такие ошибки форматирования, заставляя автора объявлять -\emph{логическую} структуру его документа. Затем уже \LaTeX{} выбирает -наиболее подходящий макет (раскладку) документа. - -\subsection{Преимущества и недостатки} - -Тема, часто обсуждаемая, когда люди из мира \wi{WYSIWYG} встречаются с -пользователями \LaTeX{},~--- <<\wi{преимущества \LaTeX} перед -нормальными текстовыми процессорами>>, или наоборот. Лучшее, что вы -можете сделать, когда начинается такая дискуссия,~--- это пригнуться, -так как она часто выходит из-под контроля. Однако, иногда вы не можете -уклониться~\ldots - - -\medskip\noindent Вот вам некоторое оружие. Основные преимущества -\LaTeX{} перед обычными текстовыми процессорами: -\begin{itemize} - -\item Готовые профессионально выполненные макеты, делающие документы - действительно выглядящими <<как изданные>>. -\item Удобно поддержана верстка математических формул. -\item Пользователю нужно выучить лишь несколько понятных команд, - задающих логическую структуру документа. Ему практически никогда не - нужно возиться собственно с макетом документа. -\item Легко изготавливаются даже сложные структуры, типа примечаний, - оглавлений, библиографий и прочее. -\item Для решения многих типографских задач, не поддерживаемых - напрямую базовым \LaTeX{}, есть свободно распространяемые - дополнительные пакеты. Например, существуют пакеты для включения - \PSi{}-графики или для верстки библиографий в точном - соответствии с конкретными стандартами. Многие из этих - дополнительных компонент описаны в \companion. -\item \LaTeX{} поощряет авторов писать хорошо структурированные - документы, так как именно так \LaTeX{} и работает~--- путем - спецификации структуры. -\item \TeX{}, форматирующее сердце \LaTeXe{}, чрезвычайно мобилен и - свободно доступен. Поэтому система работает практически на всех - существующих платформах. - -% -% Add examples ... -% -\end{itemize} - -\medskip - -\noindent\LaTeX{} имеет также и некоторые недостатки, но, кажется, мне -трудно найти среди них заметные, хотя, я уверен, другие вам найдут их -сотни \texttt{;-)} - -\begin{itemize} -% что за фигня? -% \item \LaTeX{} плохо работает у продавших свою душу~\ldots -\item Хотя предопределенные макеты имеют множество настраиваемых - параметров, создание полностью нового макета документа не очень - просто и занимает много времени.\footnote{Говорят, что это~--- одна - из основных целей будущей системы \LaTeX3.}\index{LaTeX3@\LaTeX3} -\item Очень сложно писать неструктурированные и неорганизованные - документы. -\item Ваша морская свинка может так до конца и не понять концепцию - логической разметки, несмотря на видимые первые успехи. -\end{itemize} - -\section{Исходные файлы \LaTeX{}} - -Исходными данными для \LaTeX{} являются обычный текстовый файл в -\texttt{ASCII}. Его можно создать в любом текстовом редакторе. Он -содержит текст документа вместе с командами, указывающими \LaTeX{}, -как верстать текст. - -\subsection{Пробелы} - -<<Пустые>> символы, такие, как пробел или табуляция, трактуются -\LaTeX{} одинаково, как <<\wi{пробел}>>. \emph{Несколько - последовательных} пустых символов\index{пустые символы} трактуются -как \emph{один} <<пробел>>. Пустые символы в начале строки обычно -игнорируются, а единичный перевод строки воспринимается как -<<пробел>>. \index{пробел!в начале строки} - -Пустая строка между двух строк текста определяет конец -абзаца. \emph{Несколько} пустых строк трактуются так же, как -\emph{одна} пустая строка. Ниже приведен пример. Справа~--- текст из -входного файла, слева~--- форматированный вывод. - -\begin{example} -Неважно, вставляете ли вы -один или несколько -пробелов между словами. - -Пустая строчка начинает -новый абзац. -\end{example} - -\subsection{Спецсимволы} - -Следующие символы являются \index{символы!зарезервированные} -зарезервированными символами, которые либо имеют в \LaTeX{} -специальное значение, либо имеются не во всех шрифтах. Если вы введете -их в текст напрямую, то они обычно не напечатаются, а заставят -\LaTeX{} сделать что--нибудь, вами вовсе не предусмотренное. - -\begin{code} -%\verb.$ & % # _ { } ~ ^ \ . %$ -\verb.# $ % ^ & _ { } ~ \ . %$ -\end{code} - -Как вы позже увидите, эти символы можно использовать в ваших -документах, добавляя к ним префикс <<\verb|\|>>: - -\begin{example} -\# \$ \% \^{} \& \_ \{ \} \~{} -\end{example} - -Прочие символы, как и многие, многие другие, можно набрать -специальными командами в математических формулах или как акценты. Знак~<<\verb|\|>> \emph{нельзя} вводить, добавляя перед ним еще один, так -как эта команда (\verb|\\|) используется для разрыва -строки.\footnote{Вместо этого пользуйтесь командой - \texttt{\$}\ci{backslash}\texttt{\$}. Она дает `$\backslash$'.} - -\subsection{Команды \LaTeX{}} - -Команды\index{команды} \LaTeX{} чувствительны к регистру и принимают -одну из следующих двух форм: - -\begin{itemize} -\item Они начинаются с символа \wi{backslash} <<\verb|\|>> и - продолжаются именем, состоящим только из букв. Имена команд - завершаются пробелом, цифрой или любой другой <<не-буквой>>. -\item Они состоят из <<\verb|\|>> и ровно одного небуквенного символа. -\end{itemize} - -% -% \\* doesn't comply ! -% - -% -% Can \3 be a valid command ? (jacoboni) -% -\label{whitespace} - - -\LaTeX{} игнорирует пробелы после команд. Если вы хотите получить -\index{пробел!после команды}пробел после команды, вы должны поместить -или <<\verb|{}|>> и пробел, или специальную команду пробела после -имени команды. <<\verb|{}|>> не дает \LaTeX{} игнорировать все пробелы -после имени команды. - -\begin{example} -Я слышал, что Кнут разделяет -людей, работающих с \TeX{} -на \TeX{}ников и \TeX пертов.\\ -Сегодня~--- \today -\end{example} - -Некоторые команды нуждаются в \index{параметр}параметре, который -должен быть задан между \index{фигурные скобки}фигурными -скобками~<<\verb|{ }|>> после имени команды. Некоторые команды -поддерживают \wi{необязательные параметры}, которые добавляются после -имени команды в \index{квадратные скобки}квадратных -скобках~<<\verb|[ ]|>>. Следующий пример использует некоторые -команды \LaTeX. Не задумывайтесь над ними, они будут разъяснены позже. - -\begin{example} -Вы можете \textsl{положиться} -на меня! -\end{example} - -\begin{example} -Пожалуйста, начните новую -строчку прямо тут!\newline -Спасибо! -\end{example} - -\subsection{Комментарии} -\index{комментарии} - -Когда в процессе обработки входного файла \LaTeX{} встречает символ -\verb|%|, он игнорирует остаток текущей строки, возврат каретки и все -пробелы в начале следующей строки. - -Этим можно пользоваться для добавления в исходный файл замечаний, -которые не будут выводиться на печать. - -\begin{example} -Это Spercal% - ifragilist% - icexpialidocious -\end{example} - -Знаком \texttt{\%} можно также пользоваться, чтобы разбить длинные строчки в -тех местах, где не разрешаются пробелы или переводы строк. - -\sloppy{}Для более длинных комментариев можно также пользоваться окружением -\ei{comment}, предоставляемым пакетом \pai{verbatim}. Это означает, -что, для использования окружения \ei{comment}, вы должны к преамбуле -вашего документа добавить команду \verb|\usepackage{verbatim}|: - -\begin{example} -Это~--- еще один -\begin{comment} -довольно глупый, -но полезный -\end{comment} -пример вставки комментариев -в ваш документ. -\end{example} - -Заметьте, что это не будет работать внутри сложных окружений, -например, математики. - - -\section{Структура входного файла} - -Когда \LaTeXe{} обрабатывает входной файл, он ожидает от него -следования определенной \index{структура файла}структуре. Так, каждый -входной файл должен начитаться с команды -\begin{code} -\verb|\documentclass{...}| -\end{code} -Она указывает, документ какого типа вы собираетесь писать. После -этого, вы можете включать команды, влияющие на стиль документа в -целом, или загружать \index{пакет}пакеты, добавляющие новые -возможности в систему \LaTeX. Для загрузки такого пакета используется -команда -\begin{code} -\verb|\usepackage{...}| -\end{code} - -Когда вся настройка закончена,\index{преамбула}\footnote{Область между - \texttt{\bs documentclass} и \texttt{\bs - begin$\mathtt{\{}$document$\mathtt{\}}$} называется - \emph{преамбулой}.} вы начинаете тело текста командой - -\begin{code} -\verb|\begin{document}| -\end{code} - -Теперь вы вводите текст с командами \LaTeX. В конце документа вы -добавляете команду -\begin{code} -\verb|\end{document}| -\end{code} -Все, что следует после нее, \LaTeX{} игнорирует. - -Рис.~\ref{mini} показывает содержимое минимального файла для \LaTeXe. -Несколько более сложный \wi{входной файл} дан на -рис.~\ref{document}.\trfootnote{В данный пример вставлен также -минимальный набор конмад, необходимый для поддержки русского -языка. Исторически сложились несколько пакетов русификации \LaTeX, -здесь используется пакет \pai{babel}, являющийся стандартным средством -локализации \TeX{}. Если вы работаете на очень старой системе, -возможно, вам нужно будет пользоваться другими установленными -средствами. Проконсультируйтесь с вашим \guide{} или с -администратором.} - -\begin{figure}[!bp] -\begin{lined}{6cm} -\begin{Verbatim} -\documentclass{article} -\usepackage[koi8-r]{inputenc} -\usepackage[russian]{babel} -\begin{document} -Краткость~--- сестра таланта. -\end{document} -\end{Verbatim} -\end{lined} -\caption{Минимальный файл \LaTeX{}} \label{mini} -\end{figure} - -\begin{figure}[!bp] -\begin{lined}{10cm} -\begin{Verbatim} -\documentclass[a4paper,11pt]{article} -\usepackage[russian]{babel} -\begin{document} -% определяем титул -\author{Б.~Тоботрас} -\title{Минимализм} -\frenchspacing -\begin{document} -% генерируем титул -\maketitle -% вставляем оглавление -\tableofcontents -\section{Начало} -Вот тут и начинается моя замечательная статья. -\section{Конец} -\ldots{} а тут она кончается. -\end{document} -\end{Verbatim} -\end{lined} -\caption{Пример реалистичной журнальной статьи} \label{document} -\end{figure} - -\section{Типичная сессия работы с \LaTeX{}} - -Можно ручаться, что вам уже не терпится попробовать маленький пример -\LaTeX{}-файла, приведенный на странице~\pageref{mini}. Давайте -попробуем. Сам по себе, \LaTeX{} не включает графического -интерфейса. Он~--- просто программа, обрабатывающая указанный входной -файл. Некоторые дистрибутивы \LaTeX{} включают графическую оболочку, -где вы можете выбрать мышкой компиляцию указанного файла. В других системах -вам нужно набирать команды в тексторовм режиме.Предполагается, что на -вашей машине \LaTeX{} установлен и работает\footnote{Это обычно так в - любой современной Unix-системе.}. - -\begin{enumerate} -\item - - Отредактируйте или создайте входной файл \LaTeX{}. Этот файл должен - быть плоским ASCII текстом. В Unix любой редактор создаст вам именно - это. В Windows вы должны убедиться, что вы сохраняете файл в формате - ASCII, или \emph{Plain text}. Выбирая имя для файла, добавьте - расширение \eei{.tex}. - -\item - - Обработайте ваш входной файл \LaTeX{}. Если все пройдет без ошибок, - вы получите файл \texttt{.dvi}. Чтобы получить правильное оглавление - и перекрестные ссылки, вам может понадобиться запустить \LaTeX{} - несколько раз. Если во входном файле есть ошибка, \LaTeX{} укажет - вам на нее и остановит обработку входного файла. Чтобы вернуться в - командную строку, нажмите \texttt{ctrl-D}. - -\begin{lscommand} -\verb+latex foo.tex+ -\end{lscommand} - -\item - Теперь вы можете просмотреть файл \texttt{.dvi}. Это можно сделать - по-разному. Можно посмотреть его на экране командой -\begin{lscommand} -\verb+xdvi foo.dvi &+ -\end{lscommand} -Она работает только в среде Unix с X11. Если вы работаете под - Windows, попробуйте \texttt{yap} (``yet another previewer''). - - Вы таже можете преобразовать файл DVI в \PSi{} для печати или - просмотра при помощи Ghostscript: - -\begin{lscommand} -\verb+dvips -Pcmz foo.dvi -o foo.ps+ -\end{lscommand} - -Если вам повезет, то в составе вашей системы будет программа -\texttt{dvipdf}, которая может преобразовать ваши \texttt{.dvi}-файлы -прямо в PDF. -\begin{lscommand} -\verb+dvipdf foo.dvi+ -\end{lscommand} - - -\end{enumerate} - - -\section{Макеты документов} - -\subsection{Классы документов}\label{sec:documentclass} - -Первое, что \LaTeX{} должен знать при обработке входного файла, это -тип создаваемого автором документа. Он задается командой -\ci{documentclass}. -\begin{lscommand} -\ci{documentclass}\verb|[|\emph{опции}\verb|]{|\emph{класс}\verb|}| -\end{lscommand} -\noindent Здесь \emph{класс} определяет тип создаваемого документа. -Таблица~\ref{documentclasses} перечисляет классы документов, -рассматриваемые в этом введении. В состав \LaTeXe{} входят -дополнительные классы для других документов, включая письма и слайды. -Параметр \emph{\wi{опции}} изменяет поведение класса документа. Опции -должны разделяться запятыми. В таблице~\ref{options} перечислены самые -употребительные опции стандартных классов документов. - -\begin{table}[!bp] -\caption{Классы документов} \label{documentclasses} -\begin{lined}{12cm} -\begin{description} - -\item [\normalfont\texttt{article}] для статей в научных журналах, - презентаций, коротких отчетов, программной документации, приглашений\ldots - \index{класс!article} -\item [\normalfont\texttt{report}] для более длинных отчетов, - содержащих несколько глав, небольших книжек, диссертаций\ldots - \index{класс!report} -\item [\normalfont\texttt{book}] для настоящих книг \index{класс!book} -\item [\normalfont\texttt{slides}] для слайдов. Использует большие - буквы без засечек. Вместо этого можно использовать - Foil\TeX.\footnote{\CTANref|macros/latex/contrib/supported/foiltex|} - \index{класс!slides}\index{foiltex} -\end{description} -\end{lined} -\end{table} - -\begin{table}[!bp] -\caption{Опции классов документов} \label{options} -\begin{lined}{12cm} -\begin{flushleft} -\begin{description} -\item[\normalfont\texttt{10pt}, \texttt{11pt}, \texttt{12pt}] \quad - Устанавливает размер основного шрифта документа. Если ни одна из - этих опций не указана, подразумевается \texttt{10pt}. - \index{шрифт!документа, размер}\index{размер основного шрифта} -\item[\normalfont\texttt{a4paper}, \texttt{letterpaper}\ldots] \quad - Определяет размер листа. По умолчанию подразумевается - \texttt{letterpaper}. Так же могут быть указаны \texttt{a5paper}, - \texttt{b5paper}, \texttt{executivepaper} и \texttt{legalpaper}. - \index{лист!legal}\index{размер листа}\index{лист!A4}\index{лист!letter} - \index{лист!A5}\index{лист!B5}\index{лист!executive} - -\item[\normalfont\texttt{fleqn}] \quad Выключные формулы будут - выровнены влево, а не отцентрированы. - -\item[\normalfont\texttt{leqno}] \quad Формулы нумеруются слева, а не - справа. - -\item[\normalfont\texttt{titlepage}, \texttt{notitlepage}] \quad - Указывает, должна начинаться новая страница после заголовка - документа\index{заголовок документа} или нет. По умолчанию класс - \texttt{article} не начинает новую страницу, а \texttt{report} и - \texttt{book}~--- начинают. \index{лист!титульный} - -\item[\normalfont\texttt{onecolumn}, \texttt{twocolumn}] \quad Заставляет \LaTeX{} - набирать документ в \wi{один столбец} или в \wi{два столбца}. - -\item[\normalfont\texttt{twoside, oneside}] \quad Выбирает одно- или - двусторонний вывод. По умолчанию классы \texttt{article} и - \texttt{report} используют \wi{односторонний вывод}, класс - \texttt{book}~--- \wi{двусторонний вывод}. Заметьте, что опция - \texttt{twoside} \emph{не} заставляет ваш принтер на самом деле - печатать с двух сторон. - -\item[\normalfont\texttt{landscape}] \quad Меняет положение страницы на - ландшафтное. - -\item[\normalfont\texttt{openright, openany}] \quad Делает главы - начинающимися или только на правой странице, или на первой - доступной. Это не работает с классом \texttt{article}, так как он - ничего не знает о главах. Класс \texttt{report} по умолчанию - начинает главы на следующей странице, а класс \texttt{book}~--- на - правой. -\end{description} -\end{flushleft} -\end{lined} -\end{table} - -Пример: Входной файл для документа \LaTeX{} может начинаться строкой -\begin{code} -\ci{documentclass}\verb|[11pt,twoside,a4paper]{article}| -\end{code} -она заставляет \LaTeX{} набирать документ как \emph{статью}, с базовым -размером шрифта \emph{одиннадцать пунктов} и форматировать документ -для \emph{двусторонней} печати на бумаге \emph{формата A4}. - -\subsection{Пакеты} -\index{пакет} В процессе написания вашего документа, вы, вероятно, -обнаружите, что в некоторых областях базовый \LaTeX{} не сможет решить -ваши проблемы. Если вы захотите включить в документ -графику\index{графика}, \wi{цветной текст} или исходный код программы -из внешнего файла, вам нужно будет расширить возможности \LaTeX{}. -Такие расширения называются пакетами. Пакеты активизируются командой -\begin{lscommand} -\ci{usepackage}\verb|[|\emph{опции}\verb|]{|\emph{пакет}\verb|}| -\end{lscommand} -\noindent Где \emph{пакет}~--- это имя пакета, а \emph{опции}~--- -список ключевых слов, включающих специальные свойства пакета. -Некоторые пакеты включены в основную поставку \LaTeXe{} (см. -таблицу~\ref{packages}). Другие предоставляются отдельно. -Дополнительная информация об установленных у вас пакетах может -содержаться в \guide{}. Основной источник информации о пакетах -\LaTeX{}~--- это \companion{}. Она содержит описания сотен пакетов -вместе с информацией о том, как писать ваши собственные расширения для -\LaTeXe{}. - - -\begin{table}[btp] -\caption{Некоторые из распространяемых с \LaTeX{} пакетов} \label{packages} -\begin{lined}{11cm} -\begin{description} -\item[\normalfont\pai{doc}] Позволяет документировать программы на \LaTeX{}.\\ - Описан в \texttt{doc.dtx}\footnote{Этот файл должен быть установлен - на вашей системе, и вы можете получить \texttt{dvi} файл, - напечатав \texttt{latex doc.dtx} в любом каталоге, где вы имеете - права на запись. То же самое относится ко всем прочим файлам, - упомянутым в этой таблице.} и в \companion. - -\item[\normalfont\pai{exscale}] Предоставляет масштабированные версии - расширенных математических шрифтов.\\ - Описан в \texttt{ltexscale.dtx}. - -\item[\normalfont\pai{fontenc}] Указывает, какую кодировку - шрифта\index{кодировка шрифта} - должен использовать \LaTeX{}.\\ - Описан в \texttt{ltoutenc.dtx}. - -\item[\normalfont\pai{ifthen}] Предоставляет команды вида `если - \ldots, то выполнять \ldots, иначе выполнять \ldots'.\\ Описан в - \texttt{ifthen.dtx} и в \companion. - -\item[\normalfont\pai{latexsym}] Чтобы подключить шрифт специальных - символов \LaTeX{}, нужно использовать пакет \texttt{latexsym}. - Описан в \texttt{latexsym.dtx} и в \companion. - -\item[\normalfont\pai{makeidx}] Предоставляет команды для генерации - указателей. Описан в разделе~\ref{sec:indexing} и в \companion. - -\item[\normalfont\pai{syntonly}] Обрабатывает документ, не печатая - его. - -\item[\normalfont\pai{inputenc}] Позволяет указать входную кодировку, - такую как ASCII, ISO Latin-1, ISO Latin-2, 437/850 IBM - code pages, Apple Macintosh, Next, ANSI-Windows или определяемую - пользователем. Описан в \texttt{inputenc.dtx}. -\end{description} -\end{lined} -\end{table} - -\clearpage - -\subsection{Стили страницы} - -\LaTeX{} поддерживает три предопределенных комбинации верхнего -колонтитула и нижнего -колонтитула\index{колонтитул!верхний}\index{колонтитул!нижний}~--- так -называемые \wi{стили страницы}. Параметр \emph{стиль} команды -\index{стиль страницы!plain@\texttt{plain}}\index{plain@\texttt{plain}}% -\index{стиль страницы!headings@\texttt{headings}}\index{headings@\texttt{headings}}% -\index{стиль страницы!empty@\texttt{empty}}\index{empty@\texttt{empty}}% -\begin{lscommand} -\ci{pagestyle}\verb|{|\emph{стиль}\verb|}| -\end{lscommand} -\noindent определяет, какой из них использовать. -Предопределенные стили страницы перечислены в таблице~\ref{pagestyle}. - -\begin{table}[!hbp] -\caption{Предопределенные стили страницы \LaTeX} \label{pagestyle} -\begin{lined}{12cm} -\begin{description} - -\item[\normalfont\texttt{plain}] печатает номера страниц внизу - страницы в середине нижнего колонтитула. Этот стиль установлен по - умолчанию. - -\item[\normalfont\texttt{headings}] печатает название текущей главы и - номер страницы в верхнем колонтитуле каждой страницы, а нижний - колонтитул остается пустым. (Этот стиль использован в данном - документе.) - -\item[\normalfont\texttt{empty}] делает и верхние, и нижние колонтитулы - пустыми. - -\end{description} -\end{lined} -\end{table} - -Возможно сменить стиль текущей страницы командой -\begin{lscommand} -\ci{thispagestyle}\verb|{|\emph{стиль}\verb|}| -\end{lscommand} -Описание того, как создавать ваши собственные стили колонтитулов, -смотрите в \companion{}, а также в разделе~\ref{sec:fancy} на -странице~\pageref{sec:fancy}. -% -% Pointer to the Fancy headings Package description ! -% - -\section{Встречающиеся типы файлов} - -Работая с \LaTeX{}, вы вскоре начнете путаться в куче файлов с -различными расширениями\index{расширение}. Ниже перечислены различные -\wi{типы файлов}, используемые при работает с \TeX{}. Заметьте, что -это не полный список расширений, но, если вы найдете не упомянутое -расширение, которое считаете важным,~--- уведомите, пожалуйста, -автора. - -%% \begin{description} -%% \item[\eei{.tex}] Входной файл \LaTeX{} или \TeX{}. Компилируется -%% командой \texttt{latex}. -%% \item[\eei{.sty}] Макропакет \LaTeX{}. Этот файл загружается в -%% документ командой \ci{usepackage}. -%% \item[\eei{.dtx}] Документированный \TeX{}. Это~--- основной формат -%% распространения стилевый файлов \LaTeX{}. Если вы обработаете файл -%% \texttt{.dtx}, вы получите документированный макрокод пакета, -%% содержащегося в этом файле. -%% \item[\eei{.ins}] Инсталлятор для файлов, содержащихся в -%% соответствующем файле \texttt{.dtx}. После получения пакета из -%% Интернета, вы обычно получаете файлы \texttt{.dtx} и -%% \texttt{.ins}. Запустите \LaTeX{} с файлом \texttt{.ins}, чтобы -%% распаковать файл \texttt{.dtx}. -%% \item{\eei{.fd}] Файл описания шрифта, описывающий шрифт для \LaTeX{}. -%% \item[\eei{.cls}] Файл класса, определяющий вид вашего -%% документа. Выбирается командой \ci{documentclass}. -%% \end{description} - -Следующие файлы генерируются, когда \LaTeX{} обрабатывает входной -файл: - -\begin{description} -\item[\eei{.dvi}] Device Independent file (файл, не зависящий от - устройства). Это~--- основной результат запуска \LaTeX{}. Содержимое - его можно увидеть при помощи программы отображения DVI, или - распечатать программой \texttt{dvips} или аналогичной. -\item[\eei{.log}] Содержит детальный отчет о том, что происходило в - последний прогон компиляции. -\item[\eei{.toc}] Хранит заголовки всех разделов. Читается в следующий - проход компиляции и используется при генерации оглавления. -\item[\eei{.lof}] Аналог \texttt{.toc} для списка иллюстраций. -\item[\eei{.lot}] То же, для списка таблиц. -\item[\eei{.aux}] Еще один файл, передающий информацию между проходами - компиляции. Кроме все прочего, используется для генерации - перекрестных ссылок. -\item[\eei{.idx}] Если ваш документ содержит предметный указатель, - \LaTeX{} помещает все слова для указателя в этот файл. Обработайте - его программой \texttt{makeindex}. Подробнее смотрите в - разделе~\ref{sec:indexing} на странице~\pageref{sec:indexing}. -\item[\eei{.ind}] Обработанный файл \texttt{.idx}, готовый ко - включению в ваш документ при следующем проходе компиляции. -\item[\eei{.ilg}] Журнал работы \texttt{makeindex}. -\end{description} - - -% Package Info pointer -% -% - - - - -% -% Add Info on page-numbering, ... -% \pagenumbering - -\section{Большие проекты} -При работе с большими документами вам может быть удобно разделить -входной файл на несколько частей. \LaTeX{} содержит две команды, -которые помогают это делать. - -\begin{lscommand} -\ci{include}\verb|{|\emph{файл}\verb|}| -\end{lscommand} -\noindent Эту команду можно использовать в теле документа, чтобы -включить в него содержимое другого файла. Заметьте, что \LaTeX{} -начнет новую страницу, прежде, чем обрабатывать материал, содержащийся -в \emph{файле}. - -Вторая команда может использоваться только в преамбуле. Она указывает - \LaTeX{} читать только некоторые из включенных (\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}. Он -заставляет \LaTeX{} пробежать по документу, проверяя синтаксис и -использование команд, но не генерируя выходного файла DVI. \LaTeX{} в -этом режиме работает быстрее, экономя ваше время. Синтаксис очень -прост: - -\begin{verbatim} -\usepackage{syntonly} -\syntaxonly -\end{verbatim} - -Когда вы захотите получить выходной файл, просто закомментируйте -вторую строчку, добавив знак процента. - -%%% Local Variables: -%%% mode: latex -%%% TeX-master: "lshort" -%%% End: diff --git a/Master/texmf-doc/doc/russian/lshort-russian/src/title.tex b/Master/texmf-doc/doc/russian/lshort-russian/src/title.tex deleted file mode 100644 index 1c0cdfa8981..00000000000 --- a/Master/texmf-doc/doc/russian/lshort-russian/src/title.tex +++ /dev/null @@ -1,75 +0,0 @@ -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Contents: The title page -% $Id: title.tex,v 1.2 2003/03/19 20:57:47 oetiker Exp $ -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -\ifx\pdfoutput\undefined % We're not running pdftex -\else -\pdfbookmark{Title Page}{title} -\fi -\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][l]{\begin{minipage}{\textwidth} -\flushright -{\Huge\bfseries Не очень краткое\\ -введение в \LaTeXe - -} -\noindent\rule[-1ex]{\textwidth}{5pt}\\[2.5ex] -\hfill\emph{\Large или \LaTeXe{} за \pageref{verylast} минут} -\end{minipage}} - -\vspace{\stretch{1}} -\noindent\hspace*{\centeroffset}\makebox[0pt][l]{\begin{minipage}{\textwidth} -\flushright -{\bfseries -Tobias Oetiker\\[1.5ex] -Hubert Partl, Irene Hyna и Elisabeth Schlegl\\[3ex]} -Версия~4.12, 13 April, 2003\\[3cm] -Перевод: Б.~Тоботрас, 22 мая 2003~г. -\end{minipage}} - -%\addtolength{\textwidth}{\centeroffset} -\vspace{\stretch{2}} - - -\pagebreak -\begin{small} - -% \selectlanguage{english} - - Copyright \copyright 1995-2002 Tobias Oetiker and all the Contributers to - LShort. 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. - -% \selectlanguage{russian} - -\end{small} - - -\endinput - -% - -% Local Variables: -% TeX-master: "lshort2e" -% mode: latex -% mode: flyspell -% End: diff --git a/Master/texmf-doc/doc/russian/lshort-russian/src/typeset.tex b/Master/texmf-doc/doc/russian/lshort-russian/src/typeset.tex deleted file mode 100644 index 635c516c728..00000000000 --- a/Master/texmf-doc/doc/russian/lshort-russian/src/typeset.tex +++ /dev/null @@ -1,1635 +0,0 @@ -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Contents: Typesetting Part of LaTeX2e Introduction -% $Id: typeset.tex,v 1.3 1998/03/26 15:36:54 oetiker Exp oetiker $ -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\chapter{Верстка текста} - -\begin{intro} -После прочтения предыдущей главы вы должны представлять, из чего -состоит документ \LaTeX{}. Вторая глава заполняет эту структуру всем -необходимым для производства реальных материалов. -\end{intro} - -\section{Структура текста и языка} -\secby{Hanspeter Schmid}{hanspi@schmid-werren.ch} - -Основная цель написания текста~--- передать читателю идеи, информацию -или знания. Читатель лучше поймет текст, если эти идеи -структурированы, и намного лучше увидит и почувствует эту структуру, -если типографская форма отражает логическую и смысловую структуру -содержания. - -\LaTeX{} отличается от других систем верстки в том, что вам нужно лишь -задавать ему логическую и смысловую структуру текста. Он затем -выбирает типографскую форму текста в соответствии с <<правилами>>, -заданными в файле класса документа и в различных стилевых файлах. - -Самый важный элемент текста в \LaTeX{} (и в наборе вообще)~--- -абзац. Он называется <<элементом текста>>, потому что абзац является -той типографской формой, в которую облекается одна связная мысль или -идея. В следующих разделах вы узнаете, как вы можете вызвать перевод -строки, например, при помощи \texttt{\bs\bs} и начало абзаца, -например, оставив пустую строку. Поэтому, если начинается новая мысль, -должен начинаться новый абзац, а, если нет,~--- используйте переводы -строки. Если вы сомневаетесь в вашем разбиении на абзацы, подумайте о -вашем тексте как о носителе идей и мыслей. Если вы начали новый абзац, -продолжая изложение той же мысли,~--- убирайте начало нового -абзаца. Если на протяжении абзаца начинается совершенно новая -мысль~--- разбивайте его на два. - -Большинство людей совершенно не понимает важности разумного разбиения -текста на абзацы. Многие не задумываются о значении разрыва абзацев -или, особенно в \LaTeX{}, начинают абзацы, не зная этого. Последнюю -ошибку особенно легко сделать, когда в текст включаются -уравнения. Посмотрите на следующие примеры и разберитесь, почему -иногда в них используются пустые строчки (разрывы параграфов), а -иногда~--- нет. (Если вы еще не понимаете всех команд достаточно, -чтобы понять примеры, прочтите, пожалуйста, эту и следующую главы и -затем вернитесь к примерам снова.) - -% Example 1 -\begin{example} -\ldots когда Эйнштейн -ввел свою формулу -\begin{equation} - e = m \cdot c^2 \; , -\end{equation} -которая является самой -широко известной и самой -мало понятной физической -формулой. -\end{example} - -% Example 2 -\begin{example} -\ldots откуда следует -закон тока Кирхгофа: -\begin{equation} - \sum_{k=1}^{n} I_k = 0 \; . -\end{equation} - -Закон напряжения Кирхгофа -может быть выведен \ldots -\end{example} - -% Example 3 -\begin{example} -\ldots который имеет -несколько преимуществ. - -\begin{equation} - I_D = I_F - I_R -\end{equation} -является ядром совершенно -другой модели транзистора. -\ldots -\end{example} - -Следующая, более маленькая, единица текста~--- предложение. В -английском тексте после точки, завершающей предложение, ставится -б\'ольший пробел, чем после точки, стоящей после сокращения. \LaTeX{} -старается определить, какую из них вы имели в виду. Если он ошибается, -вы должны ему подсказать. Это объяснено далее в этой главе. - -Структура текста охватывает даже отдельные части -предложений. Большинство языков использует очень сложные правила -пунктуации, но во многих языках (включая немецкий и английский) вы -расставите почти все запятые на места, просто помня, что они означают: -короткую остановку в потоке изложения. Если вы не уверены в своих -запятых, прочтите предложение вслух, останавливаясь на каждой -запятой. Если где-то это прозвучит странно, уберите эту запятую, если -вы почувствуете необходимость остановки в другом месте, вставьте -запятую.\trfootnote{Все это мало применимо для русского, но я решил не - выбрасывать этих абзацев из перевода, вдруг они кому-нибудь помогут писать - по-английски.} - -Наконец, абзацы текста должны быть также логично структурированы на -более высоком уровне, объединяясь в главы, разделы, и так -далее. Однако, типографский эффект записи, например, -\verb|\section{|\texttt{Структура текста и языка}\verb|}| -обычно достаточно очевиден, чтобы было сразу ясно, как использовать -эти высокоуровневые структуры. - -\section{Разбиение на строки и страницы} - -\subsection{Выровненные абзацы} - -Книги часто верстаются так, чтобы все строчки имели одинаковую длину. -\LaTeX{} вставляет необходимые разрывы строк\index{разрывы строк} и -пробелы между словами, оптимизируя форматирование абзаца как целого. -При необходимости он также переносит слова, которые не помещаются на -строке. От класса документа зависит то, как верстаются абзацы. Обычно -каждый абзац начинается с красной строки, а дополнительного интервала -между ними нет. Подробности смотрите в разделе~\ref{parsp}. - -В некоторых случаях может быть необходимо указать \LaTeX{} разорвать -строку: -\begin{lscommand} -\ci{\bs} или \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} в значение, -меньшее~4, вы оставляете \LaTeX{} возможность игнорировать вашу -команду, если результат будет очень плох. Не путайте эти команды -<<разрыва (break)>> с командами <<начала (new)>>. Даже если вы -зададите команду <<разрыва>>, \LaTeX{} попытается выровнять правую -границу страницы и общую высоту страницы, как описано в следующей -секции. Если вы действительно хотите начать <<новую строчку>>, -используйте соответствующую команду. - -\LaTeX{} всегда пытается производить наилучшее из возможных разбиений -строк. Если он не может найти способ разбить строки в соответствии со -своими стандартами, он позволяет одной строке выступать из абзаца -вправо. \LaTeX{} затем выводит диагностику (<<\wi{overfull hbox}>>) во -время обработки входного файла. Чаще всего это случается, когда -\LaTeX{} не может найти место для переноса слова.\footnote{Хотя - \LaTeX{} и дает вам предупреждение, такие строки не всегда легко - найти. Если вы в команде \ci{documentclass} используете опцию - \texttt{draft}, такие строки будут отмечены толстой черной линией на - правых полях.} Давая команду \ci{sloppy}, вы можете сказать, чтобы -\LaTeX{} несколько ослабил свои стандарты. Тогда он сможет -предотвратить такие слишком длинные строки, увеличивая интервалы между -словами~--- даже если конечный вывод будет не оптимален. В этом случае -пользователь получит предупреждение (<<\wi{underfull hbox}>>). В -большинстве случаев результат выглядит не очень хорошо. Команда -\ci{fussy} действует в обратную сторону. - - -\subsection{Переносы} \label{hyph} - -\LaTeX{} переносит слова, когда это необходимо. Если алгоритм -переносов не находит правильных точек переноса, вы можете исправить -положение, сказав \TeX{} об исключении при помощи следующих команд. - -Команда -\begin{lscommand} -\ci{hyphenation}\verb|{|\emph{список слов}\verb|}| -\end{lscommand} -\noindent вызывает перенос слов, перечисленных в ее аргументе, только -в местах, отмеченных <<\verb|-|>>. Эта команда должна даваться в -преамбуле входного файла, и должна содержать только слова, состоящие -из обычных букв. Правила переноса запоминаются для языка, активного в -момент обратки команды \ci{hyphenation}. Это значит, что, если вы -поместите ее в преамбулу документа, она будет влиять на английские -переносы. Если вы поместите ее после команды \verb|\begin{document}|, - используя при этом поддержку национальных языков, например, - \pai{babel}, то переносы будут запомнены для языка, - активизированного при помощи \pai{babel}. - - Следующий пример разрешает переносы в слове <>, так же, - как и в слове <>, и запрещает переносы в словах - <>, <> и <>. В аргументе не допускаются - специальные символы. - -Пример: -\begin{code} -\verb|\hyphenation{FORTRAN Hy-phen-a-tion}| -\end{code} - -Команда \ci{-} вставляет в слово выборочный перенос. Он также -становится единственной разрешенной точкой переноса в этом слове. Эта -команда в особенности полезна для слов, содержащих специальные символы -(например, символы с акцентами), потому что \LaTeX{} не переносит -такие слова автоматически. -%\footnote{Unless you are using the new -%\wi{DC fonts}.} - -\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{текст}\verb|}| -\end{lscommand} -\noindent Она будет в любом случае сохранять свой аргумент вместе. - -\begin{example} -Номер моего телефона скоро сменится. -Он будет \mbox{0116 291 2319}. - -Параметр -\mbox{\emph{имя файла}} должен -содержать имя файла. -\end{example} - -Команда~\ci{fbox} аналогична команде \ci{mbox}, но вокруг ее -содержимого будет нарисована видимая рамка. - -\section{Специальные строки} - -В некоторых предыдущих примерах вы уже встречали простые команды -\LaTeX{} для набора специальных текстовых строк: - -\vspace{2ex} - -\noindent -\begin{tabular}{@{}lll@{}} -Команда & Пример & Описание\\ -\hline -\ci{today} & \today & Текущая дата на текущем языке\\ -\ci{TeX} & \TeX & Название вашей любимой системы верстки\\ -\ci{LaTeX} & \LaTeX & Название \LaTeX \\ -\ci{LaTeXe} & \LaTeXe & Текущая инкарнация \LaTeX\\ -\end{tabular} - - -\section{Специальные буквы и символы} - -\subsection{Знаки кавычек} - -Для набора кавычек\index{кавычки} вы \emph{не должны} использовать -знак~\verb|"|\index{""@\texttt{""}}, как на пишущей машинке. При -верстке существуют специальные знаки открывающей и закрывающей -кавычек. В \LaTeX{} используйте два знака~\verb|`| в качестве -открывающей кавычки и два знака~\verb|'| в качестве -закрывающей.\trfootnote{При верстке обычно требуются две пары кавычек, - на случай <<\glqq кавычек\grqq{} в кавычках>>. При верстке на - русском языке обычно вместо ``таких'' и `таких' кавычек используют - <<эти>> и \glqq эти\grqq. Какими командами они задаются~--- зависит - от используемой русификации, но обычно это \ci{flqq}, \ci{frqq} - (вместо этой пары часто используют лигатуры \texttt{<{}<} и - \texttt{>{}>}\index{<<}\index{>>}) и \ci{glqq}, \ci{grqq}.} - -\begin{example} -``Пожалуйста, нажмите клавишу `x' '' -\end{example} - -\subsection{Тире и дефисы} - -\LaTeX{} знает про четыре вида \wi{тире}. Три из них вы можете -получить различным числом последовательных знаков~\verb|-|. Четвертое -на самом деле не тире вовсе, а математический знак минус: - -\index{-} \index{--} \index{---} \index{-@$-$} -\index{математический!минус} - -\begin{example} -мальчик-с-пальчик, X-лучи\\ -страницы 13--67\\ -да~--- или нет?\\ -$0$, $1$ и $-1$ -\end{example} - -Эти тире называются так: \texttt{-} \wi{дефис}, \texttt{-{}-} -\wi{короткое тире}, \texttt{-{}-{}-} \wi{длинное тире} и \verb|$-$| -\wi{знак минуса}.\index{тире!короткое}\index{тире!длинное} - - -\subsection{Тильда ($\sim$)} -\index{www}\index{URL}\index{тильда} - -Тильда часто встречается в WWW-адресах. Для генерации ее в \LaTeX{} -можно использоват \verb|\~|, но результат (\~) будет не тем, что вам -нужен. Взамен попробуйте вот что: - -\begin{example} -http://www.rich.edu/\~{}bush \\ -http://www.clever.edu/$\sim$demo -\end{example} - - -\subsection{Знак градуса ($\circ$)} - -Как напечатать \wi{знак градуса} в \LaTeX{}? - -\begin{example} -Температура уже -$-30\,^{\circ}\mathrm{C}$. -Скоро наступит сверхпроводимость. -\end{example} - -%\subsection{Символ Евро \texorpdfstring{(\EUR)}{}} -\subsection{Символ Евро \texorpdfstring{(\texteuro)}{}} -В наше время, говоря о валюте, вам понадобится символ -евровалюты. Многие современные шрифты содержат символ Евро. После -загрузки пакета \pai{textcomp} в преамбуле документа -\begin{lscommand} -\ci{usepackage}\verb|{textcomp}| -\end{lscommand} -\noindent вы можете пользоваться командой -\begin{lscommand} -\ci{texteuro} -\end{lscommand} -\noindent для доступа к этому символу. - -Если ваш шрифт не имеет собственного символа Евро, или вам не -нравится, как он выглядит, у вас есть еще два выхода. - -Первый~--- использование пакета \pai{eurosym}. Он предоставляет -официальный символ Евро: -\begin{lscommand} -\ci{usepackage}\verb|[|\emph{official}\verb|]{eurosym}| -\end{lscommand} - -Если вы предпочитаете официальному символ Евро, соответствующий вашему -шрифту, вместо опции \texttt{official} используйте опцию \texttt{gen}. - -Пакет \pai{marvosym} включает множество разных символов, в том числе и -Евро, доступный таким образом: -\begin{lscommand} -\ci{EUR} -\end{lscommand} - -\begin{example} -Символы \texteuro{}, -\euro{} и \EUR{} все -выглядят по-разному. -\end{example} - -\subsection{Многоточие ( \ldots )} - -На пишущей машинке \wi{точка} или \wi{запятая} занимают то же -пространство, что и любая другая буква. Напечатанные в книге, эти -символы занимают очень мало места и верстаются очень близко к -предшествующей букве. Поэтому вы не можете ввести \wi{многоточие} -просто напечатав три точки, так как расстояние между ними будет -неправильным. Кроме того, для многоточия есть специальная команда, -называющаяся - -\begin{lscommand} -\ci{ldots} -\end{lscommand} -\index{...@\ldots} - -\begin{example} -Не так ... а вот так:\\ -Нью-Йорк, Токио, Будапешт, \ldots -\end{example} - -\subsection{Лигатуры} - -Некоторые комбинации букв верстаются не просто набором разных букв -друг за другом, а с использованием специальных -символов.\trfootnote{Лигатуры широко используются при верстке текстов на - английском языке. Насколько мне известно, при верстке на русском - языке лигатур не используется. Однако, механизм лигатур \TeX{} - используется для генерации, например, кавычек и тире.} -\begin{code} -{\large ff fi fl ffi\ldots}\quad -вместо\quad {\large f{}f f{}i f{}l f{}f{}i \ldots} -\end{code} -Эти так называемые \index{лигатура}лигатуры могут быть запрещены -вставкой \ci{mbox}\verb|{}| между двумя соответствующими буквами. Это -может быть необходимо для слов, образованных из двух частей. -\begin{example} - \Large Не ``shelfful''\\ - а ``shelf\mbox{}ful'' -\end{example} - -\subsection{Акценты и специальные символы} - -\LaTeX{} поддерживает использование \index{акценты}акцентов и -специальных символов\index{специальные символы} из многих языков. -Таблица~\ref{accents} показывает всевозможные акценты в применении к -букве о. Понятно, что ее месте могут быть и другие буквы. - -Чтобы поместить знак акцента над буквами i или 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{lined}{10cm} -\begin{tabular}{*4{cl}} -\A{\`o} & \A{\'o} & \A{\^o} & \A{\~o} \\ -\A{\=o} & \A{\.o} & \A{\"o} & \B{\c}{c}\\[6pt] -\B{\u}{o} & \B{\v}{o} & \B{\H}{o} & \B{\c}{o} \\ -\B{\d}{o} & \B{\b}{o} & \B{\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} & \cm{\j} & \verb|\j| & \cm{!`} & \verb|!`| & \cm{?`} & \verb|?`| -\end{tabular} -\index{i и j без точек@\cm{\i} и \cm{\j} без точек}\index{буквы!европейские} -\index{ae@\ae}\index{акценты!umlaut}\index{акценты!grave}\index{акценты!acute} -\index{oe@\oe} - -\bigskip -\end{lined} -\end{table} - -\section{Поддержка иностранных языков} -\index{другие языки}Если вам нужно писать документы на отличных от -английского языках, то \LaTeX{} должен быть соответствующим образом -сконфигурирован в двух пунктах: - -\begin{enumerate} -\item Все генерируемые автоматически текстовые - строки\footnote{Содержание, Список иллюстраций, Библиография \ldots} - должны быть переведены на другой язык. Для многих языков эти - изменения достигаются использованием пакета \pai{babel} (автор - Johannes Braams). - -\item \LaTeX{} должен знать \wi{правила переноса} для нового - языка. Подключение правил переноса к \LaTeX{} более сложно. Оно - включает перестроение форматного файла с другими разрешенными - образцами переноса. Ваш \guide{} должен содержать больше информации - об этом. - -\item Специфичные для языка типографские правила. Скажем, для - французского перед каждым символом двоеточия (:) должен стоять - пробел. -\end{enumerate} - -Если ваша система уже соответствующим образом сконфигурирована, вы -можете активизировать пакет \pai{babel} добавлением команды -\begin{lscommand} -\ci{usepackage}\verb|[|\emph{язык}\verb|]{babel}| -\end{lscommand} -\noindent после команды \verb|\documentclass|. Какие \emph{язык}и -поддерживает ваша система, также может быть указано в \guide{}. -\texttt{Babel} автоматически активизирует правильные правила переноса -для выбираемых вами языков. Если форматный файл вашего \LaTeX{} не -поддерживает переносов для выбранного языка, \texttt{babel} будет -работать, но запретит переносы, что негативно скажется на внешнем виде -документа. - -Для некоторых языков \pai{babel} вводит новые команды, упрощающие ввод -специальных символов. Например, \wi{немецкий язык} содержит множество -диакритических знаков (\"a\"o\"u). С использованием \pai{babel} вы -можете вводить \"o, печатая \verb|"o| вместо~\verb|\"o|. - -Если вы вызываете \pai{babel}, указывая несколько языков, -\begin{lscommand} -\ci{usepackage}\verb|[|\emph{язык1}\verb|,|\emph{язык2}\verb|]{babel}| -\end{lscommand} - -\noindent то для выбора текущего языка используйте команду - -\begin{lscommand} -\ci{selectlanguage}\verb|{|\emph{язык1}\verb|}| -\end{lscommand} - -%Input Encoding -\newcommand{\ieih}[1]{% -\index{кодировка!входная!#1@\texttt{#1}}% -\index{входная кодировка!#1@\texttt{#1}}% -\index{#1@\texttt{#1}}} -\newcommand{\iei}[1]{% -\ieih{#1}\texttt{#1}} -%Font Encoding -\newcommand{\feih}[1]{% -\index{кодировка!шрифта!#1@\texttt{#1}}% -\index{кодировка шрифта!#1@\texttt{#1}}% -\index{#1@\texttt{#1}}} -\newcommand{\fei}[1]{% -\feih{#1}\texttt{#1}} - -Большинство современных компьютерных систем позволяет вам вводить специальные -символы прямо с клавиатуры. \LaTeX{} может обрабатывать такие -символы при помощи пакета \pai{inputenc}: - -\begin{lscommand} -\ci{usepackage}\verb|[|\emph{кодировка}\verb|]{inputenc}| -\end{lscommand} - -При использовании этого пакета вы должны понимать, что другие могут -неправильно видеть ваши входные файлы на своем компьютере из-за -использования другой кодировки. Например, немецкий акцент \"a в -системе IBM~OS/2 кодируется как 132, а на некоторых Unix системах, -использующих кодировку ISO-LATIN~1,~--- как 228. Поэтому используйте -эту возможность с осторожностью. В зависимости от вашей системы, могут -использоваться, например, следующие кодировки: - -\begin{center} -\begin{tabular}{l | r} -Операционная система & Кодировка\\ -\hline -Mac & \texttt{applemac} \\ -Unix & \texttt{latin1} \\ -Windows & \texttt{ansinew} \\ -DOS, OS/2 & \texttt{cp850} -\end{tabular} -\end{center} - -Если вы пишете многоязычный документ с конфликтующими входными -кодировками, можно переключиться на Unicode при помощи пакета -\pai{ucs}: -\begin{lscommand} -\ci{usepackage}\verb|{ucs}|\\ -\ci{usepackage}\verb|[|\iei{utf8}\verb|]{inputenc}| -\end{lscommand} -Это позволит вам генерировать файлы \LaTeX{} в \iei{utf8}, -многобайтовой кодировке, где каждый символ кодируют от одного до -четырех байт. - -Иной случай~--- с кодировкой шрифта. Она определяет, в какой позиции в -пределах шрифта \TeX{} находится каждая буква. Множество входных -кодировок можно отобразить на одну кодировку шрифта, что уменьшает -число необходимых наборов шрифтов. Кодировки шрифтов обрабатываются -пакетом \pai{fontent}:\label{fontenc} -\begin{lscommand} -\ci{usepackage}\verb|[|\emph{кодировка}\verb|]{fontenc}| -\index{кодировка шрифта} -\end{lscommand} -\noindent где \emph{кодировка}~--- требуемая кодировка шрифта. Можно -одновременно загружать несколько кодировок. - -Кодировка \LaTeX{} по умолчанию~--- \fei{OT1}, кодировка оригинального -шрифта \TeX{} Computer Modern. Она содержит только 128 символов -7-битного набора символов ASCII. Когда требуются акцентированные -символы, \TeX{} создает их, комбинируя нормальный символ с акцентом. -Несмотря на то, что результирующая верстка выглядит прекрасно, этот -подход не дает автоматическим переносам работать внутри слов, -использующих акцентированные символы. Кроме того, некоторые знаки -латинских языков не получается создать таким образом, не говоря уже о -буквах не-латинских алфавитов, скажем, греческого или кириллицы. - -Для борьбы с этими ограничениями было создано несколько 8-битных -наборов шрифтов, похожих на CM. \emph{Extended Cork} (EC) шрифты в -кодировке \fei{T1} содержат специальные символы для большинства -акцентированных букв, используемых в европейских языках, основанных на -латинице. Набор шрифтов LH содержит символы языков, основанных на -кириллице. Ввиду большого числа кириллических знаков, они организованы -в четыре кодировки шрифтов: \fei{T2A}, \fei{T2B}, \fei{T2C} и -\fei{X2}.\footnote{Перечень языков, поддерживаемых каждой из этих - кодировок можно найти в \cite{cyrguide}.} Пакет CB содержит шрифты в -кодировке \fei{LGR} для набора греческих текстов. - -Используя эти шрифты, вы можете улучшить или вообще сделать возможными -переносы в не-английских документах. Еще одно преимущество -использования новых CM-подобных шрифтов~--- в том, что они -предоставляют шрифты семейства CM во всех яркостях, формах и оптически -масштабированных размерах шрифта. - -\subsection{Поддержка португальского} -\secby{Demerson Andre Polli}{polli@linux.ime.usp.br} - -Для включения переносов и смены автоматически генерируемого текста на -португальский\index{Португальский}, пользуйтесь командой -\begin{lscommand} -\verb|\usepackage[portuguese]{babel}| -\end{lscommand} -Или, для работы с бразильскими текстами, ставьте в качестве языка -\texttt{brazilian}\index{Бразильский}. - -Поскольку в португальском множество акцентированных букв, вам может -быть удобно использовать -\begin{lscommand} -\verb|\usepackage[latin1]{inputenc}| -\end{lscommand} -для того, чтобы корректно их вводить. Для работы переносов задайте -\begin{lscommand} -\verb|\usepackage[T1]{fontenc}| -\end{lscommand} - -Преамбулу, необходимую для работы с португальским языком, смотрите в -таблице~\ref{portuguese}. Заметьте, что мы здесь используем кодировку -latin1, так что эта преамбула не будет работать на Mac или в -DOS. Просто подставьте кодировку, правильную для вашей системы. - -\begin{table}[btp] -\caption{Преамбула для португальских документов} \label{portuguese} -\begin{lined}{5cm} -\begin{verbatim} -\usepackage[portugese]{babel} -\usepackage[latin1]{inputenc} -\usepackage[T1]{fontenc} -\end{verbatim} -\bigskip -\end{lined} -\end{table} - -\subsection{Поддержка французского} -\secby{Daniel Flipo}{daniel.flipo@univ-lille1.fr} - -Несколько советов для создания в \LaTeX{} -французских\index{Французский} документов. Загрузите поддержку -французского языка командой - -\begin{lscommand} -\verb|\usepackage[frenchb]{babel}| -\end{lscommand} - -Заметьте, что по историческим причинам название опции \pai{babel} для -французского языка~--- \emph{frenchb} или \emph{francais}, а не -\emph{french}. - -Это включит французские переносы, если ваша \LaTeX{}-система правильно -настроена. Кроме того, весь автоматический текст будет тоже -французским: \verb+\chapter+ печатает Chapitre, \verb+\today+ печатает -текущую дату по-французски, и так далее. Становится доступным набор -новых команд, позволяющих легче набирать французские тексты. Для -пояснения смотрите таблицу~\ref{cmd-french}. - -\begin{table}[!htbp] -\caption{Специальные команды для французского языка} \label{cmd-french} -\begin{lined}{9cm} -%%\selectlanguage{french} -\begin{tabular}{ll} -\verb+\og guillemets \fg{}+ \quad &\og guillemets \fg \\[1ex] -\verb+M\up{me}, D\up{r}+ \quad &M\up{me}, D\up{r} \\[1ex] -\verb+1\ier{}, 1\iere{}, 1\ieres{}+ \quad &1\ier{}, 1\iere{}, 1\ieres{}\\[1ex] -\verb+2\ieme{} 4\iemes{}+ \quad &2\ieme{} 4\iemes{}\\[1ex] -\verb+\No 1, \no 2+ \quad &\No 1, \no 2 \\[1ex] -\verb+20~\degres C, 45\degres+ \quad &20~\degres C, 45\degres \\[1ex] -\verb+\bsc{M. Durand}+ \quad &\bsc{M.~Durand} \\[1ex] -\verb+\nombre{1234,56789}+ \quad &\nombre{1234,56789} -\end{tabular} -%%\selectlanguage{english} -\bigskip -\end{lined} -\end{table} - -Вы также заметите изменение вида списков. Чтобы полностью изучить -изменения, вносимые \pai{babel} при работе с французским, прогоните -через \LaTeX{} файл \texttt{frenchb.dtx} и прочтите полученный -\texttt{frenchb.dvi}. - -\subsection{Поддержка немецкого} - -Несколько советов тем, кому нужно создавать в \LaTeX{} -немецкие\index{Немецкий} документы. Загрузите поддержку немецкого -языка командой - -\begin{lscommand} -\verb|\usepackage[german]{babel}| -\end{lscommand} - -Это включит немецкие переносы, если ваша \LaTeX{}-система правильно -настроена. Кроме того, автоматически генерируемый текст станет -немецким, например, ``Chapter'' станет ``Kapitel''. Включается набор -новых команд, ускоряющих набор немецкого текста, даже если не -используется пакет \pai{inputenc}. Для пояснения смотрите -таблицу~\ref{german}. С использованием inputenc все это становится не -нужным, но ваш текст сможет использовать только одну кодировку. - -\begin{table}[!htbp] -\caption{Специальные символы немецкого языка} \label{german} -\begin{lined}{8cm} -%%\selectlanguage{german} -\begin{tabular}{*2{ll}} -\verb|"a| & "a \hspace*{1ex} & \verb|"s| & "s \\[1ex] -\verb|"`| & "` & \verb|"'| & "' \\[1ex] -\verb|"<| or \ci{flqq} & "< & \verb|">| or \ci{frqq} & "> \\[1ex] -\ci{flq} & \flq & \ci{frq} & \frq \\[1ex] -\ci{dq} & " \\ -\end{tabular} -%%\selectlanguage{english} -\bigskip -\end{lined} -\end{table} - -В немецких книгах часто встречаются французские знаки кавычек -(\flqq{}guillemets\frqq). Немецкие типографы, однако, используют их -по-другому. Цитата в немецкой книге обычно выглядит \frqq{}так\flqq. В -немецкоговорящей части Швейцарии типографы используют -\flqq{}guillemets\frqq так же, как и во Франции. - -Большая проблема связана с командами типа \verb+\flq+: в шрифтах OT1 -(а они включаются по умолчанию) эти кавычки выглядят как -математический символ ``$\ll$'', от чего у типографов будет -истерика. Шрифты в кодировке T1, с другой стороны, имеют требуемые -символы. Так что, если вам нужны такие кавычки, убедитесь, что -включили кодировку T1 (\verb|\usepackage[T1]{fontenc}|). - -\subsection[Поддержка корейского]{Поддержка - корейского\footnotemark}\label{support_korean}% -\footnotetext{% -Рассматриваются несколько моментов, касающихся корейских пользователей -\LaTeX{}. Этот раздел написал Karnes Kim от имени корейской команды -переводчиков lshort. Раздел переведен на английский Shun Jungshik и -сокращен Tobi Oetiker.} - -Используя \LaTeX{} для набора корейского языка\index{Корейский}, нам -нужно разрешить три проблемы: - -\begin{enumerate} -\item Нужно научиться редактировать входные файлы на корейском. Они - должны быть в формате плоского текста, но, поскольку символы - корейского языка не входят в набор US-ASCII, они будут странно - выглядеть в стандартных редакторах ASCII. Две самых популярных - кодировки корейских текстовых файлов~--- EUK-KR и ее совместимое - расширение, используемое в корейской системе MS Windows, - CP949/Windows-949/UHC. Эти кодировки включают ASCII как - подмножество, аналогично кодировкам ISO-8859-\textit{x}, EUC-JP, - Shift\_JIS и Big5. С другой стороны, слоги Hangul, знаки Hanjas - (используемые в Корее китайские символы), Hangul Jamos, хиракана, - катакана, греческие, кириллица и прочие символы из KS~X~1001 - представляются двумя байтами. Первый байт имеет установленным - старший бит. До середины 90-х годов установка корейского окружения в - нелокализованной ОС требовала значительных усилий и времени. Вы - можете просмотреть сильно устаревший \url{http://jshin.net/faq}, - чтобы получить представление об этиъ усилиях. В наше время все три - основные операционные системы (Mac OS, Unix, Windows) включают - вполне приличную многоязыковую поддержку и возможности - интернационализации, так что редактирование корейских текстов уже не - является проблемой, даже в нелокализованной системе. - -\item \TeX{} и \LaTeX{} были изначально созданы для письменностей, - имеющих в алфавите не более 256 символов. Для того, чтобы они - работали с языками, где гораздо больше символов, например, - корейским\footnote{Корейский алфавит Hangul~--- буквенная - письменность с 14 основными согласными и 10 основными гласными - (Jamos). В отличие от латиницы или кириллицы, отдельные символы - должны быть размещены в прямоугольных блоках примерно такого же - размера, как и китайские. Каждый блок представляет слог. Из этого - небольшого количества гласных и согласных можно сформировать - бесконечное число слогов. Однако, современные орфографические - стандарты (как в Южной Корее, так и в Северной) налагают некоторые - ограничения на формирование этих блоков. Следовательно, существует - конечное число орфографически правильных слогов. Корейские кодировки - символов определяют индивидуальные коды для каждого из этих слогов - (KS~X~1001:1998 и KS~X~1002:1992). Таким образом, Hangul, будучи - буквенным, трактуется, тем не менее, так же, как письменности Китая - и Японии, с тысячами идеографических знаков. Стандарт - ISO~10646/Unicode предлагает оба способа представления Hangul, - использумых в \emph{современной} Корее, кодируя, в дополнение ко - всем орфографически разрешенным слогам Hangul - (\url{http://www.unicode.org/charts/PDF/UAC00.pdf}), еще и - Conjoining Hangul Jamos (алфавит: - \url{http://www.unicode.org/charts/PDF/U1100.pdf}). Одна из самых - устрашающих задач в наборе корейского текста в \LaTeX{} и - аналогичных системых~--- поддержка средневековых корейских (а, - возможно, и будущих корейских) слогов, которые можно представить - только комбинацией знаков Jamos в Unicode. Есть надежда, что будущие - варианты \TeX, например, $\Omega$ и $\Lambda$ в конце концов - предоставят решение для этой задачи, так что корейские лингвисты и - историки смогут сбежать из MS Word, где уже есть довольно неплохая - поддержка средневекового корейского.} и китайским, был разработан - механизм подшрифтов. Он делит единый шрифт CJK с тысячами или - десятками тысяч знаков на набор подшрифтов с 256 знаками в - каждом. Для корейского языка есть три широко используемых пакета: - \wi{H\LaTeX} (автор Un~Koanghi), \wi{h\LaTeX{}p} (автор - Cha~Jaechoon) и \wi{пакет CJK} (автор Werner~Lemberg).\footnote{% - Их можно получить по адресам \CTANref|language/korean/HLaTeX/|\\ - \CTANref|language/korean/CJK/| и - \texttt{http://knot.kaist.ac.kr/htex/}} -H\LaTeX{} и h\LaTeX{}p специфичны для корейского языка и предлагают - корейскую локализацию, помимо шрифтовой поддержки. Оба они - обрабатывают входные файлы в кодировке EUK-KR. H\LaTeX{} может - обрабатывать файлы в кодировках CP949/Windows-949/UHC и UTF-8, если - используется вместе с $\Lambda$, $\Omega$. - -Пакет CJK не специфичен для корейского языка. Он обрабатывает входные -файлы в UTF-8, а также в различных кодировках CJK, включая EUK-KR и -CP949/Windows-949/UHC. Его можно использовать для набора документов с -многоязычным содержанием (особенно китайским, японским и -корейским). Пакет CJK не содержит корейской локализации, аналогичной -той, что есть в H\LaTeX{}, и также не содержит такого множества -специальных корейских шрифтов. - -\item Конечная цель использования программ набора, включая \TeX{},~--- - получить документы, сверстанные <<эстетически>> - удовлетворительно. Можно утверждать, что наиболее важный элемент - верстки~--- это набор хорошо спроектированных шрифтов. Дистрибутив - H\LaTeX{} включает \index{корейский шрифт!UHC шрифт}UHC \PSi{} - шрифты десяти различных семейств и TrueType шрифты - Munhwabu\footnote{Министерство культуры Кореи} пяти различных - семейств. Пакет CJK работает с набором шрифтов, использовавшихся в - старых версиях H\LaTeX{}, а также может использовать TrueType шрифт - cyberbit компании Bitstream. -\end{enumerate} - -Для загрузки пакета H\LaTeX{} поместите в преамбуле следующее: -\begin{lscommand} -\verb+\usepackage{hangul}+ -\end{lscommand} - -Эта команда включает корейскую локализацию. Заголовки глав, разделов, -подразделов, оглавления и перечня иллюстраций будут переведены на -корейский, и форматирование документа изменится так, чтобы следовать -принятым в Корее правилам. Пакет также предоставляет автоматический -<<выбор частиц>>. В корейском языке существуют пары постфиксных -частиц, грамматически эквивалентных, но отличных по форме. Какая -частица из пары корректна, зависит от того, заканчивается ли -предыдущий слог на гласную или согласную. (На самом деле, правило чуть -сложнее, но общая идея такова.) Корейцам не составляет никакого труда -выбирать правильную частицу, однако невозможно заранее определить, -какую частицу использовать в ссылках и других местах с автоматически -генерируемым текстом, меняющимся при редактировании -документа. Вставлять при каждом изменении текста правильную частицу -везде вручную~--- решение совершенно ужасное. H\LaTeX{} автоматизирует -этот процесс. - -Если вам не нужна корейская локализация, а вы просто хотите набрать -корейский текст, поместите взамен в преамбулу следующее: -\begin{lscommand} -\verb+\usepackage{hfont}+ -\end{lscommand} - -Полная и подробная информация о верстке корейского текста при помощи -H\LaTeX{} приведена в \emph{Руководстве по H\LaTeX}. Смотрите веб-сайт -группы корейских пользователей \TeX{} (KTUG) по адресу -\url{http://www.ktug.or.kr/}. Существует также корейский перевод -настоящего документа. - - -\subsection{Поддержка кириллицы} -\secby{Maksym Polyakov}{polyama@myrealbox.com} - -Пакет \pai{babel}, начиная с версии~3.7, включает поддержку -кодировок~\fei{T2*} и поддержку верстки болгарских, русских и -украинских текстов с использованием кириллических -символов.\index{Болгарский}\index{Русский}\index{Украинский} - -Поддержка кириллицы основана на стандартных механизмах \LaTeX{}: -пакетах \pai{fontenc} и \pai{inputenc}. Но, если вам нужно -использовать кириллицу в математическом режиме, загрузите до пакета -\pai{fontenc} пакет \pai{mathtext}:\footnote{Если вы пользуетесь - пакетами \AmS-\LaTeX{}, загружайте их также до пакетов \pai{fontenc} - и \pai{babel}.} -\begin{lscommand} -\verb+\usepackage{mathtext}+\\ -\verb+\usepackage[+\fei{T1}\verb+,+\fei{T2A}\verb+]{fontenc}+\\ -\verb+\usepackage[+\iei{koi8-r}\verb+]{inputenc}+\\ -\verb+\usepackage[english,bulgarian,russian,ukranian]{babel}+ -\end{lscommand} - -Вообще говоря, \pai{babel} автоматически выберет кодировку шрифтов по -умолчанию. Для трех перечисленных языков это будет \fei{T2A}. Однако, -документы не ограничены только одной кодировкой шрифта. Для -многоязыковых документов, использующих языки, базирующиеся на -кириллице и латинице, имеет смысл явно подключить латинскую кодировку -шрифтов. \pai{babel} позаботится о переключении на правильную -кодировку, когда вы меняете язык в документе. - -В дополнение ко включению переносов, трансляции автоматически -генерируемых строк и активации некоторых специфичных для языка -типографских правил (например, \ci{frenchspacing}), \pai{babel} -предоставляет несколько команд для верстки в соответствии со -стандартами болгарского, русского или украинского языков. - -Для всех трех языков предоставляется специфическая пунктуация: -кириллическое тире для теста (оно слегка \'уже латинского тире и -окружено крошечными пробелами), тире для прямой речи, кавычки и -команды управления переносами. Смотрите таблицу~\ref{Cyrillic}. - -% Table borrowed from Ukrainian.dtx -\begin{table}[htb] - \begin{center} - \index{""-@\texttt{""}\texttt{-}} - \index{""---@\texttt{""}\texttt{-}\texttt{-}\texttt{-}} - \index{""=@\texttt{""}\texttt{=}} - \index{""`@\texttt{""}\texttt{`}} - \index{""'@\texttt{""}\texttt{'}} - \index{"">@\texttt{""}\texttt{>}} - \index{""<@\texttt{""}\texttt{<}} - \caption[Болгарский, русский и украинский]{Дополнительные - определения, вводимые опциями \pai{babel} для болгарского, - русского и украинского языков}\label{Cyrillic} - \begin{tabular}{@{}p{.1\hsize}@{}p{.9\hsize}@{}} - \hline - \verb="|= & запрещает лигатуру в этой позиции. \\ - \verb|"-| & дефис, разрешающий переносить остаток слова. \\ - \verb|"---| & кириллическое тире в обычном тексте. \\ - \verb|"--~| & кириллическое тире в составных фамилиях. \\ - \verb|"--*| & кириллическое тире для обозначения прямой речи. \\ - \verb|""| & как |"-|, но не генерирует знака дефиса - (для составных слов с дефисом, например, |x-""y|.\\ - \verb|"~| & отмечает составное слово без разрыва. \\ - \verb|"=| & отмечает составное слово с разрывом, разрешая перенос в - словах-компонентах. \\ - \verb|",| & пробел для инициалов с разрешением переноса в следующей - за ними фамилии. \\ - \verb|"`| & немецкая левая двойная кавычка - (выглядит так: ,\kern-0.08em,). \\ - \verb|"'| & немецкая правая двойная кавычка (выглядит так: ``). \\%'' - \verb|"<| & французская левая двойная кавычка (выглядит так: $<\!\!<$). \\ - \verb|">| & французская правая двойная кавычка (выглядит так: $>\!\!>$). \\ - \hline - \end{tabular} - \end{center} -\end{table} - -Русская и украинская опции пакета \pai{babel} вводят команды -\ci{Asbuk} и \ci{asbuk}, которые работают аналогично командам -\ci{Alph} и \ci{alph}, но генерируют прописные и строчные буквы -русского или украинского алфавитов (в зависимости от текущего языка -документа). Болгарская опция \pai{babel} вводит команды \ci{enumBul} и -\ci{enumLat} (\ci{enumEng}), которые заставляют \ci{Alph} и \ci{alph} -генерировать буквы либо болгарского, либо латинского (английского) -алфавитов. По умолчанию генерируются болгарские буквы. - -%Finally, math alphabets are redefined and as well as the commands for math -%operators according to Cyrillic typesetting traditions. - -\section{Пробелы между словами} - -Для получения ровного правого края вывода \LaTeX{} вставляет различные -интервалы между словами. В конце предложения он вставляет слегка -больший интервал, делая текст более читабельным.\trfootnote{В - соответствии с традициями верстки, принятыми в английском - языке.} \LaTeX{} предполагает, что -предложения заканчиваются точками, вопросительными или -восклицательными знаками. Если точка следует за буквой в верхнем -регистре, она не считается концом предложения, так как точки после -букв верхнего регистра обычно используются для сокращений. - -Любое исключение из этих предположений должно быть явно оговорено -автором. Знак~<<\verb|\|>> перед пробелом дает в результате пробел, -который не будет увеличен. Знак~<<\verb|~|>> дает пробел, который не -может увеличиться и который, кроме того, запрещает разрыв строки. -Команда \verb|\@| перед точкой указывает, что эта точка заканчивает -предложение, несмотря на то, что стоит за буквой верхнего регистра. -\cih{"@} \index{~@ \verb.~.} \index{тильда@тильда (\verb.~.)} -\index{точка, пробел после} - -\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 которая указывает \LaTeX{} \emph{не} вставлять пробела после -точки более, чем после обычных символов. Это обычно для языков, -отличных от английского, за исключением библиографий. Если вы -используете \ci{frenchspacing}, команда \verb|\@| не нужна. - -\section{Заголовки, главы и разделы} - -Чтобы помочь читателю ориентироваться в вашей работе, вы должны -разделять ее на главы, разделы и подразделы. \LaTeX{} поддерживает это -специальными командами, принимающими в качестве аргумента заголовок -раздела. Ваше дело~--- использовать их в надлежащем порядке. - -Класс \texttt{article} включает следующие команды секционирования: - -\begin{code} -\ci{section}\verb|{...} |\ci{paragraph}\verb|{...}|\\ -\ci{subsection}\verb|{...} |\ci{subparagraph}\verb|{...} |\\ -\ci{subsubsection}\verb|{...}| -\end{code} - -В классах \texttt{report} и \texttt{book} вы можете использовать -дополнительную команду \ci{chapter}\verb|{...}|. - -Если вы хотите разбить ваш документ на части без изменения нумерации -разделов/глав, используйте команду \ci{part}\verb|{...}|. - -Так как глав (chapters) в классе \texttt{article} нет, то -статьи довольно легко добавлять в книгу в качестве глав. Интервалы -между разделами, нумерация и размер шрифта заголовков устанавливаются -\LaTeX{} автоматически. - -Две из команд секционирования~--- особенные: -\begin{itemize} -\item Команда \ci{part} не влияет на последовательность нумерования - глав. -\item Команда \ci{appendix} аргумента не имеет. Она просто начинает - нумеровать главы буквами вместо цифр.\footnote{В классе - \texttt{article} меняется нумерация разделов.} -\end{itemize} - - - -\LaTeX{} создает оглавление, беря заголовки разделов и номера страниц -из предыдущего цикла компиляции документа. Команда -\begin{lscommand} -\ci{tableofcontents} -\end{lscommand} -\noindent вставляет оглавление в то место, где она вызвана. Чтобы -получить правильное \wi{оглавление}, новый документ должен быть -обработан \LaTeX{} дважды. В особых случаях может быть необходим и -третий проход. Когда это потребуется, \LaTeX{} вас предупредит. - -Все вышеперечисленные команды секционирования существуют также в -вариантах со звездочкой. Такой вариант получается добавлением \verb|*| -к имени команды. Они генерируют заголовки разделов, которые не -нумеруются и не включаются в оглавление. Например, команда -\verb|\section{Справка}| становится \verb|\section*{Справка}|.\sloppypar - -Обычно заголовки разделов появляются в оглавлении точно в том же виде, -в каком они вводятся в тексте. Иногда это невозможно из-за того, что -заголовок слишком длинен для оглавления. Элемент оглавления может в -этом случае указываться необязательным аргументом перед собственно -заголовком. -\begin{code} -\verb|\chapter[Заголовок для оглавления]{Это~--- длинный,|\\ -\verb| длинный и очень нудный заголовок, появляющийся в тексте}| -\end{code} - -Титульный лист -\index{лист!титульный}\index{титульный лист} -документа в целом генерируется при помощи команды -\begin{lscommand} -\ci{maketitle} -\end{lscommand} -\noindent Его содержимое должно быть определено командами -\begin{lscommand} - \ci{title}\verb|{...}|, \ci{author}\verb|{...}| и - \ci{date}\verb|{...}| -\end{lscommand} -\noindent до момента вызова \verb|\maketitle|. Аргумент команды -\ci{author} может содержать несколько имен, разделенных командами -\ci{and}. - -Пример некоторых из упомянутых команд может быть найден на -иллюстрации~\ref{document} на странице~\pageref{document}. - -Помимо описанных выше команд секционирования, \LaTeXe{} вводит три -дополнительных команды для использования с классом \texttt{book}. -Они полезны для деления вашей публикации. Команды изменяют заголовки -глав и нумерацию страниц так, как это ожидается от -книги: - -\begin{description} -\item[\ci{frontmatter}] должна быть самой первой командой после - \verb|\begin{document}|. Она переключает нумерацию страниц на - использование римских цифр. Для вводной части часто используют - команды секционирования со звездочками (например, - \verb|\chapter*{Предисловие}|), чтобы \LaTeX{} не нумеровал эти - разделы. - \item[\ci{mainmatter}] указывается сразу перед первой главой - книги. Она включает нумерацию страниц цифрами и сбрасывает счетчик - страниц. - \item[\ci{appendix}] отмечает начало дополнительного материала в - вашей книге. После этой команды главы будут нумероваться буквами. - \item[\ci{backmatter}] указыватеся перед самыми последними частями - книги, например, перед библиографией и предметным указателем. В - стандартных классах документов видимого эффекта она не имеет. -\end{description} - -\section{Перекрестные ссылки} - -В книгах, отчетах и статьях часто встречаются \wi{перекрестные ссылки} -на иллюстрации, таблицы и отдельные части текста. Для этого \LaTeX{} -предоставляет следующие команды: -\begin{lscommand} -\ci{label}\verb|{|\emph{метка}\verb|}|, \ci{ref}\verb|{|\emph{метка}\verb|}| -и \ci{pageref}\verb|{|\emph{метка}\verb|}| -\end{lscommand} -\noindent где \emph{метка}~--- выбранный пользователем -идентификатор. \LaTeX{} заменяет \verb|\ref| номером раздела, -подраздела, иллюстрации, таблицы или уравнения, где была использована -соответствующая команда \verb|\label|. \verb|\pageref| печатает номер -страницы, соответствующей команде \verb|\label|.\footnote{Заметьте, что - эти команды не знают, на что именно они ссылаются. \ci{label} просто - сохраняет последний автоматически генерируемый номер.} Так же, как -и в случае с заголовками разделов, здесь также используются номера из -предыдущего прохода. - -\begin{example} -Ссылка на этот -раздел~\label{sec:this} -выглядит так: <<см. -раздел~\ref{sec:this} на -стр.~\pageref{sec:this}.>> -\end{example} - -\section{Сноски} - -Команда -\begin{lscommand} -\ci{footnote}\verb|{|\emph{текст сноски}\verb|}| -\end{lscommand} -\noindent печатает сноску внизу текущей страницы. Сноски всегда должны -помещаться после слова или предложения, к которым они относятся. В -русском языке сноски, относящиеся к предолжению, должны ставиться -сразу перед точкой или запятой\footnote{Заметьте, что сноски отвлекают - читателя от основного текста документа. Все всегда читают сноски, - потому что мы~--- любопытные создания. Поэтому старайтесь включать - все, что вы хотите сказать, в основной текст документа.}. -%не понял юмора. BT. - -\begin{example} - Пользователи \LaTeX{} - часто употребляют - сноски.\footnote{% - Это~--- сноска.} -\end{example} - - -\section{Выделенные слова} - -В рукописи, напечатанной на машинке, \texttt{важные слова выделяются - \underline{подчеркиванием}}: - -\begin{lscommand} -\ci{underline}\verb|{|\emph{текст}\verb|}| -\end{lscommand} - -В печатных изданиях, однако, эти слова выделяются \emph{курсивом}. Команда для -переключения на шрифт \emph{выделения} называется -\begin{lscommand} -\ci{emph}\verb|{|\emph{текст}\verb|}| -\end{lscommand} -\noindent Ее аргументом является текст для -выделения\index{выделение}. Что на самом деле делает эта команда, -зависит от контекста: - -\begin{example} -Если вы используете -\emph{выделение в уже -выделенном тексте, то -\LaTeX{} использует -\emph{прямой} шрифт.} -\end{example} - -Отметьте отличие между командами \emph{выделения} и смены -\emph{шрифта}: - -\begin{example} -\textit{Вы можете также - \emph{выделить} текст, - набрав его курсивом,} -\textsf{шрифтом без - \emph{засечек}} -\texttt{или в стиле - \emph{пишущей машинки}.} -\end{example} - -\section{Окружения} \label{env} - -Для верстки специальных видов текста \LaTeX{} определяет множество -\index{окружение}окружений для разных типов форматирования: -\begin{lscommand} -\ci{begin}\verb|{|\emph{название}\verb|}|\quad - \emph{текст}\quad -\ci{end}\verb|{|\emph{название}\verb|}| -\end{lscommand} -\noindent где \emph{название} определяет окружение. Окружения можно -вызывать внутри окружений, соблюдая порядок вызова и возврата: -\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 Вы можете как угодно -смешивать окружения списков: -\begin{itemize} -\item Но это может смотреться -глупо. -\item[-] С минусом. -\end{itemize} -\item Поэтому помните: -\begin{description} -\item[Глупые] вещи не станут -умнее от помещения в список. -\item[Умные] вещи, однако, -вполне можно представить -списком. -\end{description} -\end{enumerate} -\end{example} - -\subsection{Выравнивание влево, вправо и по центру} - -Окружения \ei{flushleft} и \ei{flushright} форматируют абзацы, -выровненные влево или вправо.\index{выравнивание!вправо или влево} -Окружение \ei{center} дает центрированный текст. Если вы не -используете \ci{\bs} для указания разрывов строк, \LaTeX{} определит -их автоматически. - -\begin{example} -\begin{flushleft} - Этот текст\\ выровнен влево. - \LaTeX{} не старается сделать - все строки одинаковой длины. -\end{flushleft} -\end{example} - -\begin{example} -\begin{flushright} - Этот текст\\ выровнен вправо. - \LaTeX{} не старается сделать - все строки одинаковой длины. -\end{flushright} -\end{example} - -\begin{example} -\begin{center} - В центре\\Земли -\end{center} -\end{example} - -\subsection{Цитаты и стихи} - -Окружение \ei{quote} полезно для цитат, важных фраз и примеров. - -\begin{example} -Типографское правило для -длины строки: -\begin{quote} - Обычно строки должны - содержать не больше - 66~символов. -\end{quote} - -Поэтому \LaTeX{} делает такими -широкими поля страниц. Поэтому -в газетах часто применяют набор -в несколько колонок. -\end{example} - -Существуют еще два похожих окружения: \ei{quotation} и \ei{verse}. -Окружение \texttt{quotation} полезно для более длинных цитат, -охватывающих несколько абзацев, потому что оно начинает абзацы с -красной строки. Окружение \texttt{verse} используют для стихов, где -важны разрывы строк. Строки разделяются при помощи \ci{\bs} в конце -строки и пустой строки после каждой строфы. - -\begin{example} -Я знаю только одно английское -стихотворение наизусть: про -Шалтая-Болтая: -\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{Буквальное воспроизведение} - -Текст, заключенные между \verb|\begin{|\ei{verbatim}\verb|}| и -\verb|\end{verbatim}| будет напрямую напечатан, как набранный на -пишущей машинке, со всеми пробелами и возвратами каретки, без -выполнения каких бы то ни было команд \LaTeX{}. - -Внутри абзаца аналогичную функцию выполняет команда -\begin{lscommand} -\ci{verb}\verb|+|\emph{текст}\verb|+| -\end{lscommand} -\noindent Здесь <<\verb|+|>>~--- это только пример -символа-ограничителя. Вы можете использовать любой символ, кроме букв, -<<\verb|*|>> или пробела. Многие примеры на \LaTeX{} в этом буклете -набраны этой командой. - -\begin{example} -Команда \verb|\ldots| \ldots - -\begin{verbatim} -10 PRINT "HELLO WORLD "; -20 GOTO 10 -\end{verbatim} -\end{example} - -\begin{example} -\begin{verbatim*} -вариант окружения -verbatim со -звездочкой выделяет -пробелы в тексте -\end{verbatim*} -\end{example} - -Команду \ci{verb} тоже можно использовать аналогичным образом со -звездочкой: - -\begin{example} -\verb*|вот так :-) | -\end{example} - -Окружение \texttt{verbatim} и команду \verb|\verb| нельзя использовать -внутри параметров других команд. - - -\subsection{Таблицы} - -Окружение \ei{tabular} используют для верстки таблиц, возможно, с -горизонтальными и вертикальными линиями. \LaTeX{} автоматически -определяет ширину столбцов. - -Аргумент \emph{спецификация} команды -\begin{lscommand} -\verb|\begin{tabular}[|\emph{позиция}\verb|]{|\emph{спецификация}\verb|}| -\end{lscommand} -\noindent определяет формат таблицы. Используйте \texttt{l} для -столбца текста, выровненного влево, \texttt{r} для текста, -выровненного вправо и \texttt{c} для центрированного текста, -\verb|p{|\emph{ширина}\verb|}| для столбца, содержащего выровненный -текст с переносом строк, и \verb.|. для вертикальной линии. - -\emph{Позиция} определяет вертикальное положение всего табличного -окружения: \texttt{t}, \texttt{b} и \texttt{c} означают выравнивание -по верхнему краю, нижнему краю или по центру окружения. - -Внутри окружения \texttt{tabular} знак~<<\verb|&|>> переходит к -следующему столбцу, команда~\ci{\bs} начинает новую строку, а -\ci{hline} вставляет горизонтальную линию.\index{"|@\verb."|.} Вы -можете добавлять неполные линии при помощи команды -\ci{cline}\verb|{j-i}|, где \texttt{j} и \texttt{i}~--- номера -столбцов, над которыми должна проходить линия. - -\begin{example} -\begin{tabular}{|r|l|} -\hline -7C0 & шестнадцатеричное \\ -3700 & восьмеричное \\ \cline{2-2} -11111000000 & двоичное \\ -\hline \hline -1984 & десятичное \\ -\hline -\end{tabular} -\end{example} - -\begin{example} -\begin{tabular}{|p{4.7cm}|} -\hline -Добро пожаловать в абзац в -рамочке. Надеемся, вам всем -тут понравится.\\ -\hline -\end{tabular} -\end{example} - -Разделитель столбцов можно задать конструкцией \verb|@{...}|. Эта -команда удаляет пробел между столбцами и заменяет его на то, что -включено в фигурные скобки. Одно из частых использований этой команды -показано ниже, при рассказе о проблеме выравнивания по десятичной -точке. Другое возможно использование~--- для подавления ведущего -пробела в таблице при помощи \verb|@{}|: - -\begin{example} -\begin{tabular}{@{} l @{}} -\hline -нет ведущего пробела\\ -\hline -\end{tabular} -\end{example} - -\begin{example} -\begin{tabular}{l} -\hline -ведущий пробел слева и справа\\ -\hline -\end{tabular} -\end{example} - -% -% This part by Mike Ressler -% - -\index{выравнивание!по десятичной точке} Поскольку встроенный способ -выровнять числовые столбцы по десятичной точке -отсутствует,\footnote{Если на вашей системе установлен комплект - `tools', обратите внимание на пакет \pai{dcolumn}.} мы можем -<<обмануть>> \TeX{} и добиться этого при помощи двух столбцов: -выровненной вправо целой части и выровненной влево дробной. Команда -\verb|@{.}| в строке \verb|\begin{tabular}| заменяет нормальный пробел - между столбцами просто на <<.>>, давая эффект одного столбца, - выровненного по десятичной точке. Не забудьте заменить в ваших - числах точку на разделитель столбцов (\verb|&|)! Метку столбца можно - поместить над нашим числовым <<столбцом>> командой \ci{multicolumn}: - -\begin{example} -\begin{tabular}{c r @{.} l} -Выражение с $\pi$ & -\multicolumn{2}{c}{Значение} \\ -\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} - -Материал, набираемый в окружении \texttt{tabular}, всегда верстается -на одной странице. Если вам нужно набирать длинные таблицы, -используйте окружения \pai{supertabular} или \pai{longtable}. - -\section{Плавающие объекты} -Большинство публикаций в наши дни содержат множество иллюстраций и -таблиц. Эти элементы нуждаются в специальном обращении с ними, так как -они не могут быть разбиты между страницами. Одним из выходов было бы -начинать новую страницу каждый раз, когда встречается иллюстрация или -таблица, слишком большая, чтобы поместиться на текущей странице. Этот -подход привел бы к тому, что страницы оставались бы частично пустыми, -что смотрится очень плохо. - -Для решения этой проблемы любая иллюстрация или таблица, не умещающаяся -на текущей странице, может `плавать', перемещаясь на следующую -страницу в процессе заполнения текстом текущей. \LaTeX{} предлагает -для плавающих объектов\index{плавающие объекты} два окружения, одно для таблиц и одно для -иллюстраций. Чтобы полностью использовать их преимущества, важно -примерно представлять, как \LaTeX{} обрабатывает плавающие -объекты. Иначе они могут стать источником разочарования из-за того, -что \LaTeX{} помещает их не туда, куда вы хотите. - -Давайте вначале рассмотрим команды, предоставляемые \LaTeX{} для -плавающих объектов. - -Любой материал, включенный в окружения \ei{figure} или \ei{table}, -трактуется как плавающий. Оба окружения имеют необязательный -параметр -\begin{lscommand} -\verb|\begin{figure}[|\emph{спецификация размещения}\verb|]| или\\ -\verb|\begin{table}[|\emph{спецификация размещения}\verb|]| -\end{lscommand} -\noindent называемый \emph{спецификацией размещения}. Этот параметр -используется для указания \LaTeX{}, куда можно перемещать плавающий -объект. \emph{Спецификация размещения} конструируется путем собирания -в строчку \emph{ключей размещения плавающего объекта}. См. -таблицу~\ref{tab:permiss}. - -\begin{table}[!bp] -\caption{Ключи размещения плавающего объекта}\label{tab:permiss} -\noindent \begin{minipage}{\textwidth} -\medskip -\begin{center} -\begin{tabular}{@{}cp{10cm}@{}} -Ключ&Разрешает помещать объект \ldots\\ -\hline -\rule{0pt}{1.05em}\texttt{h} & \emph{здесь же}, в том самом месте -текста, где он появился. Обычно используется для маленьких объектов.\\[0.3ex] -\texttt{t} & \emph{наверху} страницы\\[0.3ex] -\texttt{b} & \emph{внизу} страницы\\[0.3ex] -\texttt{p} & на \emph{специальной странице}, содержащей только -плавающие объекты.\\[0.3ex] -\texttt{!} & не рассматривать большинство внутренних -параметров,\footnote{Таких, как максимальное число плавающих объектов, - разрешенных на одной странице} которые могут предотвратить -размещение этого объекта. -\end{tabular} -\end{center} -\end{minipage} -\end{table} - -Замечание: \texttt{0pt} и \texttt{1.05em}~--- единицы измерения длин -\TeX{}. Подробности о единицах и размерностях смотрите в -таблице~\ref{units} на странице~\pageref{units}. - - -Например, таблицу можно начать следующей строкой: -\begin{code} -\verb|\begin{table}[!hbp]| -\end{code} -\noindent Спецификация размещения \index{спецификация размещения} \verb|[!hbp]| позволяет -\LaTeX{} разместить таблицу прямо по месту (\texttt{h}), или внизу той -же страницы (\texttt{b}), или на выделенной странице (\texttt{p}), и -все это~--- даже если это будет смотреться не так уж хорошо -(\texttt{!}). Если никакой спецификации размещения не задано, -стандартные классы предполагают \verb|[tbp]|. - -\LaTeX{} размещает каждый встреченный плавающий объект в соответствии -с заданной автором спецификацией. Если объект нельзя поместить на -текущей странице, он откладывается, помещаясь в очередь -иллюстраций\index{иллюстрации} или в очередь -таблиц.\index{таблицы}\footnote{Эти очереди подчиняются дисциплине - \emph{fifo}: `первым вошел~--- первым вышел'.} Когда начинается -новая страница, \LaTeX{} проверяет, можно ли заполнить специальную -страницу плавающими объектами из очередей. Если нет, то первый объект -из каждой очереди считается только что встретившимся в тексте: -\LaTeX{} снова пытается разместить их в соответствии с их -спецификациями (за исключением `h', что уже невозможно). Новые -встреченные в тексте плавающие объекты помещаются в соответствующие -очереди. \LaTeX{} сохраняет порядок, в котором встретились плавающие -объекты соответствующего типа. Поэтому иллюстрация, которую не удается -разместить, отталкивает все дальнейшие иллюстрации к концу документа. -Следовательно: - -\begin{quote} - Если \LaTeX{} не размещает плавающие объекты, как вы этого ожидаете, - то часто это только один объект устроил затор в одной из очередей. -\end{quote} - -Хотя и возможно задавать в \LaTeX{} конкретную спецификацию размещения -плавающего объекта, это может вызвать проблемы. Если объект не -помещается в указанном месте, он <<застревает>>, блокируя последующие -плавающие объекты. В частности, никогда не используйте ключ -\texttt{[h]}; это настолько плохо, что в современных версиях \LaTeX{}, -он автоматически заменяется \texttt{[ht]}. - -\bigskip -\noindent После объяснения этих механизмов остается еще несколько -замечания про окружения \ei{table} и \ei{figure}. Командой - -\begin{lscommand} -\ci{caption}\verb|{|\emph{текст заголовка}\verb|}| -\end{lscommand} - -\noindent вы можете задать заголовок для объекта. Увеличивающийся -номер и строка <<Рисунок>> или <<Таблица>> добавляются \LaTeX{}. - -Две команды - -\begin{lscommand} -\ci{listoffigures} и \ci{listoftables} -\end{lscommand} - -\noindent работают аналогично команде \verb|\tableofcontents|, печатая -список иллюстраций или таблиц, соответственно. В этих списках -заголовки повторяются целиком. Если вы используете длинные заголовки, -то вы должны предоставить их краткий вариант для включения в списки. -Это делается помещением краткого варианта в квадратные скобки после -команды \verb|\caption|. -\begin{code} -\verb|\caption[Короткий]{Дддддллллллиииинннннныыыыыыыыыыыыыыййй}| -\end{code} - -При помощи \verb|\label| и \verb|\ref| можно делать ссылки из вашего -текста на плавающий объект. - -Следующий пример рисует квадрат и вставляет его в документ. Подобную -технику можно использовать, чтобы оставить в документе место под -изображения, которые вы вставите позже. - -\begin{code} -\begin{Verbatim} -Рисунок~\ref{white} является примером Поп-Арта. -\begin{figure}[!hbp] -\makebox[\textwidth]{\framebox[5cm]{\rule{0pt}{5cm}}} -\caption{Пять на пять сантиметров} \label{white} -\end{figure} -\\\end{Verbatim} -\end{code} - -\noindent В этом примере \LaTeX{} будет \emph{очень сильно}~(\texttt{!}) стараться -разместить иллюстрацию прямо \emph{по - месту}~(\texttt{h}).\footnote{Предполагая, что очередь иллюстраций - пуста} Если это невозможно, он попытается разместить ее \emph{внизу - страницы}~(\texttt{b}). Если ему не удастся поместить иллюстрацию на -текущей странице, он выяснит, можно ли создать страницу плавающих -объектов, содержащую эту иллюстрацию и, возможно, некоторые таблицы из -очереди таблиц. Если для отдельной страницы материала еще не -накопилось, \LaTeX{} начинает новую страницу и снова рассматривает -иллюстрацию, как если бы она только что появилась в тексте. - -В определенных случаях может быть необходимо использовать команду -\begin{lscommand} -\ci{clearpage} или даже \ci{cleardoublepage} -\end{lscommand} - -\noindent Она указывает \LaTeX{} немедленно разместить все плавающие -объекты, остававшиеся в очередях, и затем начать новую страницу. -\ci{cleardoublepage}, помимо этого, начинает новую правостороннюю -страницу. - -Позже вы узнаете, как включать в ваши документы \LaTeX{} рисунки в -формате \textsc{PostScript}. - - -\section{Защита хрупких команд} - -Текст, заданный в аргументах команд наподобие \ci{caption} или -\ci{section}, появляется в документе больше одного раза (например, в -оглавлении, в колонтитулах и в теле документа). Некоторые команды не -работают, будучи использованы в аргументах команд типа \ci{section}. -Их называют хрупкими командами\index{команды!хрупкие}. В частности, -хрупкими являются команды \ci{footnote} или \ci{phantom}. Для того, -чтобы они работали как предполагается, необходимо перед ними поставить -команду \ci{protect}. - -Команда \ci{protect} относится только к команде, непосредственно -следующей за ней; даже не к ее аргументам. В большинстве случаев -лишняя команда \ci{protect} не повредит. - -\begin{code} -\verb|\section{Я внимателен|\\ -\verb| \protect\footnote{и защищаю свои сноски}}| -\end{code} - -%%% Local Variables: -%%% mode: latex -%%% TeX-master: "lshort" -%%% End: diff --git a/Master/tlpkg/tlpsrc/lshort-russian.tlpsrc b/Master/tlpkg/tlpsrc/lshort-russian.tlpsrc index 1c581d6c025..dff693e4ae6 100644 --- a/Master/tlpkg/tlpsrc/lshort-russian.tlpsrc +++ b/Master/tlpkg/tlpsrc/lshort-russian.tlpsrc @@ -1,2 +1,2 @@ name lshort-russian -category Documentation +category Package -- cgit v1.2.3