Basilio
|
GreenOne
|
|
|
|
Рег.: 14.10.2002
|
Сообщений: 13749
|
Из: Москва
|
Рейтинг: 3476
|
|
TeX FAQ: установка, настройка, использование (21.10.2007)
27.05.2006 15:09
|
|
|
|
Basilio
|
GreenOne
|
|
|
|
Рег.: 14.10.2002
|
Сообщений: 13749
|
Из: Москва
|
Рейтинг: 3476
|
|
1. Установка и настройка пакета MikTeX
[re: Basilio]
27.05.2006 15:04
|
|
|
В FAQ собраны основные вопросы, задававшиеся в форуме по ТеХу. Большая благодарность KOHTPA, Lynn, Axc, green, cepesh, чьи сообщения послужили основой создания этого FAQ. (Ну и я приложил к этому руку)
Про названия и назначение (La)TeX - это как некий компилятор. Вы пишиете для него программу (ваш текст) в обычном текстовом редакторе. Мы же не набираем программы на С в Ворде? В этой программе на некотором птичьем языке (кстати, наиболее употребительные комманды я недавно в FAQ раздела поместил) вы пишете свой текст и формулы. далее "компилируете" - запускаете (La)Tex на свою программу. на выходе получается некий бинарный файл с расширением .dvi (вроде как от device independant). Этот файл можно перевести в PDF или в PostScript (см. ниже) Наиболее распространенный дистрибутив под Windows - MikTeX
Терминология: TeX - это "движок", (он один для всех TeX-ов) LaTeX - надстройка над движком - набор макросов + небольшие изменения в движке, (как CounterStrike в HalfLife ). Есть и другие надстройки, например AmsTex(не путать с пакетом ams* в LaTex) и другие.. MikTeX - дистрибутив: TeX + всякие к нему расширения
Установка 0. Необходимые программы для работы:
эти программы бесплатны. GhostScript бесплатен полностью, GhostView просит регистрации. Без регистрации он просто при каждом запуске выводит окошко, о том что он незарегистрирован (можно просто нажать ОК). Других бонусов регистрация не дает. Используемые редакторы:
Далее предполагается, что вы скачали дистрибутив MikTeX-a с ftp://green и он лежит в каталоге D:\Distr\miktex
1. Устанавливается MiKTeX в минимальном варианте. Запускатся D:\Distr\miktex\setup.exe
 Жмем Next, все интуитивно-очевидно.


 Если пакеты скачаны в другую директорию, ее можно указать при помощи кнопки "Browse"
 Выбираем путь, куда надо установить MikTeX. Необходимое место ~90Mb
 Как назвать группу в меню "Пуск"
 Если имелась предыдущая установка MikTeX-а имеет смысл использовать его временные файлы (из каталога c:\localtexmf). Если ТеХ устанавливается впервые, рекомендуется выбрать "Create local TEXMF tree" и "Don't integrate.."
 Подтвердить выбранную конфигурацию:
 Жмем "Next" и ждем, пока установится.

 После этого выбираем в меню "Пуск->Программы->MikTeX->MikTeX options":
 На вкладке Packages выбраем всю ветку Languages->Cyrillic:
 Доустанавливаем другие нужные пакеты (я для себя устанавливаю Applications->Graphics->eepic Documentation->Comprehensive LaTeX symbol list Formats->LaTeX->LaTeX Contrib->extsizes Uncategorized->psfig) Жмем "Apply", ждем, пока установятся пакеты:
 На вкладке Languages выбираем russian, можно снять с german, french, ngerman.
 Далее на вкладке "General" выбираем Refresh, затем Update:
 ждем..
 
В такой конфигурации MikTeX у меня занял 93Mb (не включая localtexmf). Версия Total занимает около 500Мб. В каком виде ставить ТеХ - решать вам. Если не жалко места на диске и лень возиться с настройками, можно поставить Total (не забудьте только выставить russian на вкладке Languages в MikTex Options).
Проверка работоспособности Набираем такой файл (a.tex) :
code:
\documentclass{article}
\usepackage[cp1251]{inputenc} % inputenc всегда включается ДО babel
\usepackage[russian]{babel}
\begin{document}
Привет, Мир!
{\tt Тест шрифта tt}
\end{document}
компилируем:
code:
c:\test> latex a.tex
На экран при этом должно выдаться примерно следующее:
code:
C:\test>latex a.tex
This is TeX, Version 3.14159 (MiKTeX 2.2)
(a.tex
LaTeX2e <2001/06/01>
Babel <v3.7h> and hyphenation patterns for english, french, german, ngerman, ru
ssian, dumylang, nohyphenation, loaded.
(C:\texmf\tex\latex\base\article.cls
Document Class: article 2001/04/21 v1.4e Standard LaTeX document class
(C:\texmf\tex\latex\base\size10.clo)) (C:\texmf\tex\latex\base\inputenc.sty
(C:\texmf\tex\latex\cyrillic\cp1251.def)) (C:\texmf\tex\generic\Babel\babel.sty
(C:\texmf\tex\generic\Babel\russianb.ldf (C:\texmf\tex\generic\Babel\babel.def)
(C:\texmf\tex\latex\cyrillic\t2aenc.def)))
No file a.aux.
(C:\texmf\tex\latex\cyrillic\t2acmr.fd) (C:\texmf\tex\latex\cyrillic\t2acmtt.fd
) [1] (a.aux) )
Output written on a.dvi (1 page, 324 bytes).
Transcript written on a.log.
в результате появится файл a.dvi, который можно просмотреть при помощи встроенного в MikTeX просмотрщика yap:
code:
c:\test> yap a.dvi
выглядит это примерно так:
 Примечания:
- встречаются битые дистрибутивы без шрифта tt
или неправильно настроенные.
- после того, как yap был единожды запущен, он автоматически регистрирует в Windows просмотр *.dvi файлов на себя. т.е. до первого запуска yap у этих файлов нет "просмотрщика по умолчанию"
- Yap = yet another previewer
Редактировал Basilio (21.06.2009 02:38)
|
|
Basilio
|
GreenOne
|
|
|
|
Рег.: 14.10.2002
|
Сообщений: 13749
|
Из: Москва
|
Рейтинг: 3476
|
|
|
Создание .ps файлов dvips a.dvi Создание .pdf файлов dvipdfm a.dvi или pdflatex a.tex (результат обычно несколько хуже) или ps2pdf a.ps (самый правильный вариант) для работы последнего способа нужно прописать пути к каталогу установки ghostscript. Например, для gs8.14 надо добавить такие пути: C:\gs\gs8.14\lib;C:\gs\gs8.14\bin
Преамбула и заготовка для написания статей в LaTeX
code:
% -*- mode: LaTeX; coding: cyrillic-alternativnyj-dos; -*- \documentclass[a4paper,14pt,titlepage,draft]{extarticle} \usepackage{amsmath} \usepackage{amssymb} \usepackage[T2A]{fontenc} \usepackage[cp866]{inputenc} \usepackage{indentfirst}
\usepackage{epic} \usepackage{eepic}
\usepackage[russian]{babel}
Этого, вроде, достаточно для физико-химика. extarticle - класс для шрифта в 14 пунктов. Обычный article поддерживает только 10,11,12 пунктов. indentfirst - пакет для автоматического создания абзацного отступа в первых абзацах. Некоторые использовали \quad - это дурной тон. a4paper,14pt - указание размера бумаги (по умолчанию принимается американский стандартный размер letter<>a4) и размер основного шрифта текст draft - "черновой" вариант. Будут видны все overfull-ы в виде черных прямоугольников, рисунки не будут вставлятся, ну и еще по мелочи.. titlepage - будет применено специальное оформление для титульной страницы, задаваемой в \begin{titlepage}...\end{titlepage}
Более привычные начертания букв и символов (по умолчанию ):
code:
\renewcommand\phi\varphi \renewcommand\kappa\varkappa
\renewcommand\leq{\leqslant} \renewcommand\geq{\geqslant}
Этого не хватало:
code:
\renewcommand\lg{\mathop{\rm lg}\nolimits} \renewcommand\ln{\mathop{\rm ln}\nolimits} \newcommand\sign{\mathop{\rm sign}\nolimits}
// а также tg, ctg
code:
\newcommand\lp{\left(} \newcommand\rp{\right)} \newcommand\pdv[2]{\frac {\partial #1}{\partial #2}} \newcommand\pddv[2]{\frac {\partial^2 #1}{\partial #2^2}}
Так устанавливаются поля:
code:
\usepackage{geometry} \geometry{a4paper,top=2cm,bottom=3cm,left=3cm,right=1.5cm}
Более правильный способ нумерации разделов (точки после номеров):
code:
\makeatletter \renewcommand{\@biblabel}[1]{#1.\hfill}
\renewcommand{\thesection}{\arabic{section}.} \renewcommand{\thesubsection}{\thesection\arabic{subsection}.} \renewcommand{\thesubsubsection}{\thesubsection\arabic{subsubsection}.}
\long\def\@makecaption#1#2{% \vskip\abovecaptionskip \sbox\@tempboxa{#1. #2}% \ifdim \wd\@tempboxa >\hsize #1. #2\par \else \global \@minipagefalse \hb@xt@\hsize{\hfil\box\@tempboxa\hfil}% \fi \vskip\belowcaptionskip}
\makeatother
Увеличенный интервал:
code:
\renewcommand{\baselinestretch}{1.2}
Редактировал Basilio (27.05.2006 15:15)
|
|
Basilio
|
GreenOne
|
|
|
|
Рег.: 14.10.2002
|
Сообщений: 13749
|
Из: Москва
|
Рейтинг: 3476
|
|
3. Вставка картинок в ТеХ
[re: Basilio]
27.05.2006 15:05
|
|
|
Вставка картинок в ТеХ Наиболее правильным и удобным форматом для вставки является Encapsulated Postscript - *.eps Но MikTeX поддерживает и другие форматы вставляемых картинок. Предположим, у вас есть картинка a.eps, которую вы хотите вставить в файл. для этого в преамбуле нужно написать:
code:
\usepackage{graphicx}
В тексте использовать такую команду:
code:
\includegraphics[width=1cm,height=2cm,angle=-45]{a.eps}
Про параметры лучше всего почитать в документации - здесь приведены наиболее часто используемые. Например, если файл a.eps содержит такую картинку:
 а в тексте написано:
code:
... а теперь мы получим такой бантик \includegraphics[width=12pt,height=12pt,angle=90]{a.eps} , который можем ...
то на печати это будет выглядеть так:
 (текст набран шрифтом в 10 пунктов)
Аналогичным образом можно подключать картинки в формате .ps и .pdf
Для подключения картинок в растровых форматах (*.bmp, *.jpg, *.png, etc), необходимо указать еще один параметр:
code:
\includegraphics[width=5cm,height=5cm,angle=90,bb=0 0 200 200]{a.png}
В параметре bb=... нужно указать размеры картинки в пикселях.
Вниманию пользователей Photoshop При сохранении картинки как eps, отключите сохранение preview:
 в противном случае ваша картинка не будет правильно воспринята ТеХ-ом
Редактировал Basilio (27.05.2006 15:16)
|
|
Basilio
|
GreenOne
|
|
|
|
Рег.: 14.10.2002
|
Сообщений: 13749
|
Из: Москва
|
Рейтинг: 3476
|
|
4. Документация по TeX-у
[re: Basilio]
27.05.2006 15:07
|
|
|
Во-первых Документация идет в комплекте с MikTeX-ом, расположена в каталоге C:\texmf\doc (вместо С: подставить букву, куда вы ставили MikTeX) Вся документация на английском языке (очень редко попадается немецкий и французский) Список всех символов ТеХа: C:\texmf\doc\guides\symbols\symbols-a4.pdf c:\texmf\doc\latex\comprehensive\symbols-a4.pdf (в новом дистрибутиве) Во-вторых Львовский В-третьих Очень рекомендую книгу М. Гуссенс, Ф. Миттельбах, А. Самарин "Путеводитель по пакету LaTeX и его расширению LaTeX2e" Издательство "МИР", 1999 г, 606 страниц. У этих авторов есть другие книги по ТеХу, но они мне показались менее хорошими (в частности, в этой книге описан пакет indentfirst, а в других - нет) Гуссенс
http://elib.hackers/book.php?id=2538 - Гуссенс http://elib.hackers/book.php?id=2476 - Львовский Еще книги http://elib.hackers/catalogue.php?dir=4_2#4_2 Спасибо cepesh
Редактировал Basilio (27.05.2006 15:16)
|
|
Basilio
|
GreenOne
|
|
|
|
Рег.: 14.10.2002
|
Сообщений: 13749
|
Из: Москва
|
Рейтинг: 3476
|
|
|
Ниже приведена краткая выдержка из документации по пакету beamer и некоторые соображения из личного опыта.
1. Почему LaTeX, а не PowerPoint? Приведу основные аргументы, они примерно те же, что и LaTeX vs MsWord: * Более гибкая и удобная настройка класса/стиля/темы всего документа. * Корректная работа с формулами (с большим количеством формул!). * Дистрибутивы TeX-а бесплатны.
2. Что такого есть в PowerPoint, чего нельзя сделать в LaTeX? * Интерактивность - в PowerPoint можно использовать VBA, в LaTeX - нет.
3. Создание презентации. Используется класс beamer. Необходимо уставить пакеты beamer, xcolor, pgf и cm-super
Проще всего обучится на примерах. Тексты всех примеров в архиве: http://forum.local/user/upload/file2078.zip Документация на пакет beamer: <texmf>\doc\latex\beamer\doc <texmf>\doc\latex\beamer\examples <texmf>\tex\latex\beamer\solutions
Итак, пример ?1 - общая структура - ex1.tex:
code:
\documentclass[unicode]{beamer} % параметр unicode обеспечивает нормальные русские названия в % "оглавлении PDF" - см. картинку http://forum.local/user/upload/file3123.png
\usepackage[cp1251]{inputenc} \usepackage[russian]{babel} % более-менее стандартная преамбула
\begin{document}
\section{Первая секция}
\begin{frame} \frametitle{Первый слайд первой секции} Тест Тест Тест Бла-бла-бла \end{frame} \begin{frame} \frametitle{Второй слайд первой секции} Тест Тест Тест Бла-бла-бла \end{frame} \section{Вторая секция} \begin{frame} \frametitle{Первый слайд второй секции} Тест Тест Тест Бла-бла-бла \end{frame} \end{document}
Компилировать: pdflatex ex1.tex, на выходе - файл ex1.pdf - готовая презентация.
Пример ?2 - титульный лист, заголовки, подзаголовки и т.п.:
code:
\documentclass[unicode]{beamer}
\usepackage[cp1251]{inputenc} \usepackage[russian]{babel}
\mode<presentation> { \usetheme{Dresden} % темы оформления - default,... % советую попробовать - Warsaw, Dresden, Madrid }
\title[Короткое название] % {Длинное название презентации}
\subtitle {Небольшая подпись к названию}
\author[Петров, Васечкин] % [] - только если авторов много: >3 {И.~Петров\inst{1} \and А.~Васечкин\inst{2}} % \inst - указывает, из каких организаций авторы. % имеет смысл указывать, если они из разных организаций
\institute[Организация Петрова и Васечкина] % { \inst{1}% Первый Отдел \\ АО "МММ" \and \inst{2}% Факультет \\ MTv}
\date[ФЛ:Study 2006] % Короткая информация типа "Дата" % - обычно аббревиатура конференции. Правило хорошего тона указывать конференцию - % не столько для участников, сколько для людей, которые будут читать эту презентацию % с компьютера {Форум.Локал, Study - \LaTeX{} FAQ, 2006}
\subject{\LaTeX FAQ: презентации} \begin{document}
\begin{frame} \titlepage \end{frame}
\section{Первая секция} \label{sec:sec1} \begin{frame}[label=s1] \frametitle{Первый слайд первой секции} Тест Тест Тест Бла-бла-бла \end{frame} \begin{frame}[label=s2] \frametitle{Второй слайд первой секции} Тест Тест Тест Бла-бла-бла \end{frame} \section{Вторая секция} \label{sec:sec2} \begin{frame}[label=s3] \frametitle{Первый слайд второй секции} Тест Тест Тест Бла-бла-бла \end{frame}
\end{document}
Наконец, немного глянца: окрывание элементов, список литературы, графики.. ex2.tex:
code:
\documentclass[unicode]{beamer} \DeclareGraphicsRule{*}{mps}{*}{} \usepackage[cp1251]{inputenc} \usepackage[russian]{babel} \usepackage{pause}
\mode<presentation> { \usetheme{Warsaw} % темы оформления - default,... % советую попробовать - Warsaw, Dresden, Madrid \setbeamercovered{transparent} % or whatever (possibly just delete it) }
\title[Короткое название] % {Длинное название презентации}
\subtitle {Небольшая подпись к названию}
\author[Петров, Васечкин] % [] - только если авторов много: >3 {И.~Петров\inst{1} \and А.~Васечкин\inst{2}} % \inst - указывает, из каких организаций авторы. % имеет смысл указывать, если они из разных организаций
\institute[Организация Петрова и Васечкина] % { \inst{1}% Первый Отдел \\ АО "МММ" \and \inst{2}% Факультет \\ MTv}
\date[ФЛ:Study 2006] % Короткая информация типа "Дата" % - обычно аббревиатура конференции. Правило хорошего тона указывать конференцию - % не столько для участников, сколько для людей, которые будут читать эту презентацию % с компьютера {Форум.Локал, Study - \LaTeX{} FAQ, 2006}
\subject{\LaTeX FAQ: презентации} \begin{document}
\begin{frame} \titlepage \end{frame}
\section{Первая секция} \label{sec:sec1} \begin{frame}[label=s1] \frametitle{Первый слайд первой секции} \begin{itemize} \item<1-3> Тест \item<2-4> Тест \item<3-5> Тест \begin{itemize} \item Бла \item<-2> бла \item<3-> бла \end{itemize} \item Последняя \end{itemize} \end{frame} \begin{frame}[label=s2] \frametitle{Второй слайд первой секции} \begin{enumerate} \item Тест \pause \item Тест \pause \item Тест \pause \begin{enumerate} \item Бла \item бла \item бла \end{enumerate} \end{enumerate} \end{frame} \section{Вторая секция} \label{sec:sec2} \begin{frame}[label=s3] \frametitle{Первый слайд второй секции}
\includegraphics[width=5cm]{eff.1} \includegraphics[width=5cm]{ris.6}
\end{frame}
\appendix \section<presentation>*{\appendixname} \subsection<presentation>*{Прочее}
\begin{frame}[allowframebreaks] \frametitle<presentation>{Список литературы} \begin{thebibliography}{10} \beamertemplatebookbibitems % книжки-книжки-книжки
\bibitem{Author1990} A.~Author. \newblock {\em Handbook of Everything}. \newblock Some Press, 1990. \beamertemplatearticlebibitems % статьи-статьи-статьи
\bibitem{Someone2000} S.~Someone. \newblock On this and that. \newblock {\em Journal of This and That}, 2(1):50--100, 2000. \end{thebibliography} \end{frame}
\end{document}
выглядит третий пример примерно так:



Редактировал Basilio (27.05.2006 15:17)
|
|
Basilio
|
GreenOne
|
|
|
|
Рег.: 14.10.2002
|
Сообщений: 13749
|
Из: Москва
|
Рейтинг: 3476
|
|
6. Рисование рисунков в METAPOST
[re: Basilio]
27.05.2006 15:08
|
|
|
Рисование схематических рисунков в MetaPost.
METAPOST - это программа, входящая в комплект MikTeX (mpost.exe) и TeTeX (mp).
Назначение - создание векторных рисунков, которые можно было бы удобно вставлять в документы TeX.
Основной цикл функционирования: У вас есть файл doc.tex, в который вы хотите вставить рисунок.
Рисунок вы описываете на некотором языке программирования в файле, скажем ris.mp
После этого вы "компилируете" файл ris.mp при помощи программы METAPOST:
code:
mpost ris.mp
в результате чего получаются файлы с рисунками (если их несколько), которые обычно называются ris.1, ris.2 и т.д.
На самом деле эти файлы являются PS-файлами с некоторым оговорками. В частности, в эти файлы не включается информация о шрифтах. То есть, если вы использовали надписи в картинках то посмотреть их "отдельно от документа" не получится. Если же использовались только линии-фигуры то рисунок можно просматривать обычной PS-смотрелкой (gsview32 для win32 или ghostview для unix).
Далее, в файле doc.tex в то место, в которое вы хотите вставить рисунок пишете обычную для таких целей команду:
code:
\includegraphics{ris.1}
Компилируете файл doc.tex, получаете doc.dvi. Yap (про xdvi информации нет) не всегда может корректно отобразить рисунок из METAPOST-а, поэтому рекомендуется оценивать результат из просмотрщика PS-файлов, предварительно переведя doc.dvi в ps-файл при помощи команды
code:
dvips doc.dvi
На unix такая команда обычно сразу посылает документ на принтер, поэтому надо запускать так: dvips doc.dvi -o doc.ps
В полученном файле doc.ps картинки из METAPOST-а должны смотрется уже нормально.
Как всегда, документация идет в комлекте с TeX-ом и расположена в каталоге c:\texmf\doc\metapost\ (в c:\texmf\doc\metapost\base расположено описание базовых возможностей)
Краткое описание языка METAPOST Разберем на примерах:
code:
% Первый рисунок beginfig(1) pair shift;
u:=1mm;
shift:=(1,0)*u; for i:=1 upto 10: draw fullcircle scaled (2*i*u) shifted (shift*i) withcolor (red*i/10); endfor;
endfig;
% Второй рисунок beginfig(2)
u:=3cm; pair v[];
drawarrow (-1.2,0)*u--(1.2,0)*u; drawarrow (0,-1.2)*u--(0,1.2)*u; draw fullcircle scaled (u*2);
for i=0 upto 2: v[i]:=(cosd(i*120+35), sind(i*120+35))*u; endfor;
ahlength:=0.1*u; ahangle:=15;
drawarrow (0,0)--v[0]; drawarrow (0,0)--v[1]; drawarrow (0,0)--v[2]; draw v[0]--v[1]--v[2]--v[0];
label.llft(btex $O$ etex,(0,0)); label.top (btex $x$ etex,(1.1,0)*u); label.rt (btex $y$ etex,(0,1.1)*u);
label.urt (btex $\omega_1$ etex,v[0]); label.ulft(btex $\omega_2$ etex,v[1]); label.bot (btex $\omega_3$ etex,v[2]);
endfig;
end;
Первый пример

Структура файла ris.mp: Комментарии - строки, начинающиеся со знака '%' - игнорируются. Отдельные рисунки выделяются командами
code:
beginfig(suffix) ... endfig;
где suffix - это некий номер, позволяющий различать рисунки, полученные из одного mp-файла.
Переменные появляются в момент обращения к ним - обычно нет надобности явно объявлять переменные (как в языках подобных FORTRAN, BASIC).
Однако правилом хорошего тона является явное объявление переменных, не являющихся целыми и вещественными.
В первом рисунке задается "единица масштаба" u равной 1мм. А также заводится переменная типа "пара вещественных чисел" - pair с именем "shift". shift инициализируется значением (1мм, 0мм).
Следует обратить внимание на две различные операции: ":=" и "=". При помощи первой происходит явное присвоение значения переменной, в то время как вторая используется для решения уравнений. Например:
code:
x:=3; x=3*y;
В первом случае происходит запись значения "3" в переменную "x". Во втором случае (поскольку значение "х" известно) METAPOST пытается "решить" уравнение x=3*y и вычислить необходимое значение для переменной "y".
Далее организуется простой цикл для 10 шагов 1..10, в котором рисуется (draw) полная окружность (fullcircle) выбранным диаметром (scaled (2*i*u)) со сдвигом (shifted (shift*i)) с цветом (withcolor (red*i/10)).
draw рисует "линии" - "paths". Это такой тип. Можно объявить переменную типа path, определить ее каким-то образом и рисовать:
code:
path p; p:=...; a:=30; % угол в 30 градусов draw p; draw p scaled S; draw p shifted s1; draw p shifted s2; draw p rotated a;
Цвет указывается при помощи "withcolor COLOR". COLOR - это тройка (в отличии от пары) чисел, можно считать "вектор" в трехмерном пространстве. С цветом можно делать интуитивно-очевидные операции:
code:
color c; c:=white*0.5; % серый 50% c:=white*0.1; % серый 10% - почти черный c:=red*0.5 + green*0.4; % смешивание цветов - красного и зеленого ... draw ... withcolor c;
Второй пример

Определяется масштаб, объявляется массив пар v (="точки на плоскости").
Рисуются координатные оси. drawarrow рисует линию со стрелкой на конце. Если линия кривая, то и стрелка будет кривая:

Рисуется большой круг (draw fullcircle..).
Определяются три точки. cosd sind - функции косинуса и синуса, аргумент измеряется в градусах.
ahlength, ahangle - регулируется форма головы у стрелки: соответственно, длина и угол (насколько стрелка "острая").
Далее, рисуются три вектора из начала координат в три вершины (это можно было сделать и в цикле, но что так три строки, что с циклом три строки).
Рисуется ломаная при помощи draw ()--()--()--(). Можно рисовать "гладкую кривую" при помощи draw ()..()..()..()
Расставляются метки: label.POS(text, coord);
coord - координата привязки метки. text - рисуемый текст (можно использовать tex-тэги, что и продемонстрировано).
POS - позиция надписи относительно координаты: lft - слева от координаты llft - слева снизу (lower-left) lrt - справа снизу bot - снизу rt - справа urt - справа сверху (upper-right) top - сверху ulft - слева сверху
Особенности METAPOST с надписями на русском языке
для того, чтобы делать надписи на русском языке при помощи команд label необходимо: 1. в самом начале файла написать такую "преамбулу":
code:
% +MP-ADDITIONAL-HEADER verbatimtex %&latex \documentclass{article} \usepackage[cp1251]{inputenc} \usepackage[russian]{babel} \begin{document} etex % -MP-ADDITIONAL-HEADER
2. METAPOST запускать следующим образом:
code:
mpost rist.mp --tex=latex
Редактировал Basilio (27.05.2006 15:17)
|
|
Basilio
|
GreenOne
|
|
|
|
Рег.: 14.10.2002
|
Сообщений: 13749
|
Из: Москва
|
Рейтинг: 3476
|
|
7. Использование базы списка литературы в формате *.bib
[re: Basilio]
27.05.2006 15:09
|
|
|
BibTeX: Список литературы Обычно в крупных научных сообществах циркулирует своя база литературы. Чтобы ссылки на одни и те же книги были оформлены одинаково, рекомендуется использовать эту базу. Для этого используется специальная программа "bibtex", которая автоматически собирает из документа ссылки на литературу и в список литературы вставляет только то, на что ссылается автор. Вот один пример такой базы: http://forum.local/user/upload/file4990.zip (более 100 наименований) - взят с кафедры механики композитов мехмата. Если у вас есть своя база - можете выслать и она будет размещена здесь.
Далее идет описание использования этой базы. В том месте, где нужно вставить список литературы в документе поставить (предполагается, что база литературы лежит в файле lit.bib):
code:
\bibliographystyle{unsrt}
\bibliography{lit}
стиль списка литературы смотреть в документации - в частности, unsrt будет формировать список литературы в порядке цитирования. Другие могут использовать другие способы сортировки/оформления списков. Например, в алфавитном порядке по автору.
Далее - посмотреть на список литературы - файл lit.bib. Он должен содержать нечто типа:
code:
% ------------------------------------------------------------------------
% BIBLIOGRAPHY FILE
% ------------------------------------------------------------------------
@ARTICLE{Bahvalov:1975,
author = "Бахвалов Н.С.",
title = {Осреднение дифференциальных уравнений с частными производными с
быстро осцилирующими коэффициентами},
journal = {ДАН СССР},
volume = {221},
number = {3},
year = {1975},
pages = {516-519},
language = "russian"
}
@BOOK{BZHK:2001,
author = "Бахвалов, Н. С. and Жидков, Н. П. and Кобельков, Г. М.",
title = {Численные методы},
publisher = {Физматлит},
year = {2001},
address = {Москва -- Санкт-Петербург},
pages = {630},
language = "russian"
}
....
Запомнить-записать метки и ссылаться на них следующим образом:
code:
... как это показано в статье \cite{Bahvalov:1975}, ...
Далее, запустить latex на основной файл (пусть он называется main.tex):
code:
latex main.tex
В результате ТеХ должен дать некоторое количество предупреждений про неопределенные ссылки на литературу. далее, нужно запустить BibTex:
code:
bibtex main
Обратите внимание на то, что main без расширения. В результате будет создан файл main.bbl. После этого снова запустить latex, два раза:
code:
latex main.tex
latex main.tex
Русский язык в BibTeX
При использовании стиля unsrt (сортировка списка в порядке цитирования), язык документа не влияет на порядок сортировки списка литературы.
Однако в большинстве крупных работ (диссертация, монография и т.п.), где библиография насчитывает 100+ источников, требуется чтобы список литературы был отсортирован по автору. Проблема bibtex-а в том, что он работает только с латиницей, поэтому список из русских авторов сортируется непредсказуемым способом.
Используемые инструменты: bibtex8 (адаптированная версия bibtex-а для однобайтных кодировок - cp866, 1251, koi-8. к сожалению, с utf-8 видимо не судьба), babelbib, патч для русского языка.
Итак, первое: Нужно правильно оформить авторов в списке литературы. Авторы должны выглядеть так:
code:
author = "Бахвалов, Н. С. and Жидков, Н. П. and Кобельков, Г. М.",
В двойных кавычках, "Фамилия, И.О." или "И.О. Фамилия"; несколько авторов разделяются словом "and". Подробнее смотреть в документации (на английском языке) и в Гуссенсе-Миттельбахе-Самарине (на русском)
Второе. Установить пакет babelbib. скачать указанный патч, распаковать в каталог, где лежат исходники babelbib-а, у меня это P:\texmf\source\babelbib\latex\babelbib. в этом каталоге среди прочего должны быть файлы:
code:
babelbib.dtx
babelbib.ins
Применить патч:
code:
patch < rus.patch
patch.exe - это стандартная утилита из unix, для windows есть пакет http://unxutils.sourceforge.net - содержит многие полезные утилиты (awk, sed, patch, grep - перечислять долго). Как пользоваться patch-ем - читайте документацию, например тут: http://www.freebsd.org/cgi/man.cgi?query=patch
Третье. Переустановнить babelbib: запустить latex babelbib.ins затем latex babelbib.dtx затем texhash (или в Пуск-...-MikTex-MikTex Options, кнопка "refresh database") Все, система готова.
Подключаем нужный пакет: \usepackage{babelbib} В качестве стиля литературы используем \bibliographystyle{babplain}
Процедура запуска слегка отличается, но в целом такая же:
code:
latex main.tex
bibtex8.exe --huge --csfile "cp1251.csf" main
latex main.tex
latex main.tex
bibtex8 - работает с 8-битными кодировками. --huge - использовать больше памяти, --csfile - явное указание используемой кодировки. (см. поддерживаемые кодировки в каталоге texmf\bibtex\csf )
Чтобы bibtex8 правильно вызывался из WinEdt-а, нужно установить переменную среды (Мой компьютер - свойства - дополнительно - переменные среды) с именем bibtex и значением
code:
bibtex8.exe --huge --csfile "cp1251.csf"
Напоследок: Описанная схема дает список только используемой литературы. В этом и весь смысл bibtex-а: есть база на 1000 элементов, а в статью/диплом/курсовую/итд идут только те, на которые имеются ссылки. Если хочется сгенерировать список литературы, содержащий всю базу, нужно в документе написать:
code:
\nocite{*}
Редактировал Basilio (09.09.2007 23:11)
|
|
Basilio
|
GreenOne
|
|
|
|
Рег.: 14.10.2002
|
Сообщений: 13749
|
Из: Москва
|
Рейтинг: 3476
|
|
6.1 Дополнительная информация по METAPOST
[re: Basilio]
15.10.2006 00:53
|
|
|
|
Shurick
|
Bad Man
|
|
|
|
Рег.: 30.08.2002
|
Сообщений: 6379
|
|
Рейтинг: 303
|
|
8. Микротипографика в TEX
[re: Basilio]
15.04.2007 14:51
|
|
|
Микротипографика - специальная техника размещения текста на странице для улучшения общего восприятия с помощью небольшой корректировки расположения отдельных символов. Одна из наиболее интересных возможностей - кернинг букв текста с границами документа для компенсации оптических неровностей, возникающих при стандартном наборе.
Несмотря на кажущуюся практическую бесполезность, документы, сверстанные с использованием этих методов, выглядят намного приятнее.
Подробнее можно ознакомиться в следующей литературе: - http://www.tex.ac.uk/tex-archive/macros/latex/contrib/microt... - http://www.pragma-ade.com/pdftex/thesis.pdf - http://www.artlebedev.ru/kovodstvo/120/
В TEX встроены необходимые алгоритмы для использования микротипографики, однако в стандартном комплекте отсутствует конфигурация для кириллических шрифтов. Предлагается следующее решение: 1) в преамбулу документа добавляется строка
code:
\usepackage{microtype}
2) в рабочем каталоге создается документ microtype.cfg, архив (1930 байт): http://forum.local/user/upload/file4428.zip
Данный конфигурационный файл получен из входящего в комплект добавлением упоминания о кодировке T2A. Числа в квадратных скобках задают величину смещения символов относительно границы набора слева и справа соответственно в десятых долях процента от ширины символа.
Редактировал Basilio (15.04.2007 16:43)
|
|
Joe_Bishop
|
Carpal Tunnel
|
|
|
|
Рег.: 05.09.2005
|
Сообщений: 5597
|
|
Рейтинг: 154
|
|
9. Оформление титульных листов.
[re: Shurick]
28.04.2007 09:56
|
|
|
Титульный лист должен быть заключен в окружение titlepage Для оформления титульных листов нужно уметь делить лист на части, примерно так, как показано на рисунке.
 Чтобы указать компилятору, что нужно отступить на N частей, используется команда code: \vspace* {\stretch {N}}
Наш пример будет записываться так: (N=3, M=3, K=2) code: \begin{titlepage}
\vspace*{\stretch{3}}
\noindent \center{первая метка}
\vspace*{\stretch{3}}
\newline
\noindent \center{вторая метка}
\vspace*{\stretch{2}}
\newline
\end{titlepage}
Пример титульного листа: code: \begin{titlepage}
\center{ \large Московский Государственный Университет им.\,М.\,В.\,Ломоносова\\
Механико-математический факультет\\
Кафедра вычислительной математики\\
\vspace*{\stretch{3}}
{\Huge \textbf {Курсовая работа}}\\
студента 999 группы\\
{\large Иванова Ивана Ивановича}\\
\begin{center}
\Large Декомпиляция программ из машинного кода в язык программирования C
\end{center}
\vspace*{\stretch{2}}}
\flushright { \large Научный руководитель:}
\flushright { \large д.\, ф.-м.\, н., \, профессор Петров Петр Петрович }
\vspace*{\stretch{1}}
\begin{center}
\large Москва, 2007
\end{center}
\end{titlepage}
Редактировал Basilio (21.10.2007 20:14)
|
|
Stepank
|
newbie
|
|
|
|
Рег.: 17.10.2005
|
Сообщений: 25
|
Из: *****
|
Рейтинг: 5
|
|
6.2. Редактор картинок для Metapost: MetaGraf
[re: Basilio]
26.09.2007 01:59
|
|
|
|
Basilio
|
GreenOne
|
|
|
|
Рег.: 14.10.2002
|
Сообщений: 13749
|
Из: Москва
|
Рейтинг: 3476
|
|
9. Окружение [math] на форум.локал
[re: Basilio]
21.10.2007 20:25
|
|
|
Реализована новая фича: окружение [mаth]..[/math] например:
code:
[math][res=200]{\begin{equation*}
A = \begin{pmatrix}
a_{11} & \ldots & a_{1n} \\
\vdots & \ddots & \vdots \\
a_{m1} & \ldots & a_{mn}
\end{pmatrix}
\end{equation*}}
[/math]
результат:
![[math][res=200]$ A = \begin{pmatrix} a_{11} & \ldots & a_{1n} \\ \vdots & \ddots \vdots \\ a_{m1} & \ldots & a_{mn} \end{pmatrix} $[/math]](mathimg.php?math=[res%3D200]%24%20A%20%3D%20%5Cbegin%7Bpmatrix%7D%20a_%7B11%7D%20%26%20%5Cldots%20%26%20a_%7B1n%7D%20%5C%5C%20%20%5Cvdots%20%26%20%5Cddots%20%20%5Cvdots%20%5C%5C%20%20a_%7Bm1%7D%20%26%20%5Cldots%20%26%20a_%7Bmn%7D%20%20%5Cend%7Bpmatrix%7D%20%24)
Параметр [res=200] управляет размером изображения. чем больше число - тем крупнее картинка.
|
|
Storm_Trooper
|
Имперский штурмовик
|
|
|
|
Рег.: 11.03.2008
|
Сообщений: 66
|
Из: Корусант
|
Рейтинг: 71
|
|
|
|
Polyastrida
|
original rags
|
|
|
|
Рег.: 29.04.2005
|
Сообщений: 946
|
Из: Moscow
|
Рейтинг: 47
|
|
Re: TeX FAQ: установка, настройка, использование (21.10.2007)
[re: Basilio]
02.04.2008 01:39
|
|
|
|
Emacs
|
Carpal Tunnel
|
|
|
|
Рег.: 19.06.2008
|
Сообщений: 4873
|
|
Рейтинг: 1683
|
|
Re: TeX FAQ: установка, настройка, использование (21.10.2007)
[re: Basilio]
31.10.2008 00:10
|
|
|
То, что я сейчас опишу относится к электронной форме документа. На печать оно не должно оказывать никакого влияния Подсветка ссылок в тексте, генерация древовидной структуры текста. Кроме того, щелчок по ссылке (пункт оглавления, номер формулы, url) будет приводить к перемещению на соотв. часть в тексте (ну, или открытию браузера, почтового клиента, т.п.) Всего нужно добавить: \usepackage[unicode,colorlinks=true]{hyperref}. Будет выглядеть примерно так:

|
Ein Gemeinschaft, Ein Platform, Ein Emacs А что за тема с белым кошаком? |
|
|
|