mirror of
https://github.com/eddyem/small_tel.git
synced 2025-12-06 02:35:14 +03:00
add common description
This commit is contained in:
parent
3a649661b8
commit
80acfc949b
11
Docs/Common_descrription/arcunits.sty
Normal file
11
Docs/Common_descrription/arcunits.sty
Normal file
@ -0,0 +1,11 @@
|
||||
\def\rmpt@#1.#2{#1#2}
|
||||
\def\put@pt#1#2.#3{\ifx#3\empty#2#1\else #2.\kern-.25em\relax#1\rmpt@#3\fi}
|
||||
% magnitude
|
||||
\def\m#1{\ensuremath{\put@pt{^m}#1.\empty}}
|
||||
% degrees
|
||||
\def\arcdeg#1{\ensuremath{\put@pt{^\circ}#1.\empty}}
|
||||
% arc minutes
|
||||
\def\arcmin#1{\ensuremath{\put@pt{'}#1.\empty}}
|
||||
% arc seconds
|
||||
\def\arcsec#1{\ensuremath{\put@pt{''}#1.\empty}}
|
||||
\def\Ang{\mbox{\,\AA}}
|
||||
BIN
Docs/Common_descrription/common.pdf
Normal file
BIN
Docs/Common_descrription/common.pdf
Normal file
Binary file not shown.
551
Docs/Common_descrription/common.tex
Normal file
551
Docs/Common_descrription/common.tex
Normal file
@ -0,0 +1,551 @@
|
||||
\documentclass[a4paper,12pt]{extarticle}
|
||||
\usepackage{/home/eddy/ed, arcunits}
|
||||
\nocolon
|
||||
\title{Общее описание первой версии системы управления телескопами комплекса <<АстроМ>>}
|
||||
\author{Емельянов Эдуард Владимирович\\ \small\itshape Лаборатория физики оптических транзиентов САО РАН}
|
||||
\begin{document}
|
||||
\maketitle
|
||||
\tableofcontents
|
||||
|
||||
\section{Состав комплекса}
|
||||
В данный момент комплекс представлен тремя независимыми телескопами на экваториальных монтировках в составе:
|
||||
\begin{enumerate}
|
||||
\item Панорамный купол <<Baader AllSky Dome 4.5-m>> с метеостанцией (не работают датчики влажности и
|
||||
атмосферного давления); телескоп <<Astrosib RC-500>> на монтировке <<10Micron GM4000HPS>>; компьютер системы
|
||||
управления \url{robotel1.sao.ru}; управляемая розетка \url{robosock1.sao.ru} на основе одноплатного компьютера
|
||||
<<Orange Pi zero>>; фотометр в составе ПЗС <<Fli ProLine PL16801>>, турели с фильтрами~B, V, R и~r', фокусера
|
||||
<<FLI Atlas>>. Фотометр установлен в ньютоновском фокусе телескопа. На внутренней стенке купола размещен
|
||||
осветитель <<плоского поля>> размером $60\times60\,$см.
|
||||
\item Панорамный купол <<Astrosib ASD-4.5>>; телескоп <<Astrosib RC-500>> на монтировке <<10Mic\-ron GM4000HPS>>;
|
||||
компьютер системы управления \url{robotel2.sao.ru}; управляемая розетка \url{robosock2.sao.ru} на основе
|
||||
одноплатного компьютера <<Orange Pi zero>>; фотометр в составе ПЗС <<Fli ProLine PL16801>> и турели с
|
||||
фильтрами~B, V, R и~r'. Фотометр установлен в кассегреновском фокусе телескопа (используется штатный
|
||||
фокусер вторичного зеркала телескопа).
|
||||
\item Панорамный купол <<Astrosib ASD-4.5>>; телескоп <<Astrosib RC-500>> на вилочной монтировке <<Астросиб
|
||||
ВМ-700>> (управляемой контроллером <<SiderealServo-II>>); ПЗС <<Fli ProLine PL16801>> для технических нужд
|
||||
установлена в фокусе Кассегрена.
|
||||
\end{enumerate}
|
||||
|
||||
Одноплатники управляемых розеток функционируют на основе ОС Armbian Linux (на основе Ubuntu), все остальные
|
||||
компьютеры (управляющие телескопами и сервер)~--- на основе ОС Gentoo Linux.
|
||||
|
||||
Кроме того, комплекс оснащен (неработающей) системой пожарной и охранной сигнализации; системой
|
||||
видеонаблюдения, подключенной к (неработающему) серверу-видеоре\-гис\-тра\-то\-ру, а также опрашиваемой
|
||||
установленным на \url{roboserv.sao.ru} ПО Zoneminder, позволяющим осуществить мониторинг всех видеокамер.
|
||||
|
||||
Характеристики телескопов <<Astrosib RC-500>> с ПЗС FLI.
|
||||
\begin{itemize}
|
||||
\item Среднее качество изображения: $\arcsec{1.5}\div\arcsec{2}$.
|
||||
\item Масштаб в прямом фокусе: $\arcsec{1.35}$ на пиксель 9\,мкм.
|
||||
\item Поле зрения в прямом фокусе: $\arcdeg{1.53}\times\arcdeg{1.55}$.
|
||||
\item Масштаб в фокусе Кассегрена: $\arcsec{0.46}$ на пиксель.
|
||||
\item Поле зрения в фокусе Кассегрена: $\arcmin{32.1}\times\arcmin{31.9}$.
|
||||
\item Вращение поля вследствие ошибок юстировки полярной оси: $<\arcsec{20}/$мин.
|
||||
\item Фотометрическая точность\footnote{2021GCN.29277....1M,
|
||||
2021ATel14459....1V}: до $\m{0.1}$ для звезд $\m{19}$.
|
||||
\end{itemize}
|
||||
Грубый механизм юстировки монтировок 10Micron не позволяет выставить полярную ось достаточно
|
||||
точно, в результате чего наблюдается небольшое остаточное вращение поля.
|
||||
|
||||
Монтировки 10Micron имеют встроенную систему коррекции наведения (СКН), однако, список точек с данными
|
||||
коррекции ограничен всего лишь 100~парами координат. Без этой системы точность наведения составляет не лучше
|
||||
$1..\arcdeg{2}$, а точность сопровождения объекта хуже~$\arcsec{15}$ за десять минут. В режиме включенной СКН
|
||||
точность наведения составляет не хуже~$\arcsec{15}$, точность сопровождения~--- не хуже~$\arcsec{3}$ за
|
||||
10~минут экспозиции.
|
||||
|
||||
Обнаружен значительный (до 0.1\,мм за ночь~--- $\arcsec{5.5}$!) температурный дрейф фокуса, что приводит к
|
||||
необходимости выполнения дополнительных фокусировок в течение наблюдательной ночи.
|
||||
|
||||
Телескоп \No\,1 введен в режим регулярной опытной эксплуатации в феврале~2020\,г., \No\,2 эксплуатируется в
|
||||
опытном режиме с января~2021\,г (изначально фотометр так же, как и на телескопе~\No\,1 был установлен в
|
||||
ньютоновском фокусе, с апреля~2022\,г перенесен в фокус Кассегрена). Телескоп \No\,3 нуждается в разработке
|
||||
специальной системы управления (т.к. имеет примитивный контроллер монтировки, в отличие от~\No\,1 и~\No\,2),
|
||||
кроме того, не завершены монтажные и пусконаладочные работы в башне этого телескопа (в т.ч. прокладка линий
|
||||
электропитания и связи; установка системы осушения воздуха в подкупольном пространстве).
|
||||
|
||||
Также в состав комплекса входит сервер обработки данных \url{roboserv.sao.ru}, дисковый накопитель
|
||||
\url{robonas.sao.ru} и второстепенное оборудование. Для удобства проведения примитивных операций (включить
|
||||
питание, открыть купол и т.д.) в куполе телескопа~\No\,1 установлен wifi-роутер.
|
||||
|
||||
Для организации наблюдений в полуавтоматическом режиме (решение о возможности начать наблюдения, а также
|
||||
начальную фокусировку проводит человек) разработан ряд демонов с сетевым доступом, позволяющих осуществлять
|
||||
управление узлами комплекса. Дальнейшее выполнение наблюдений производится по сценарию, например, в виде
|
||||
bash-скрипта.
|
||||
|
||||
\section{Состав предварительной системы управления телескопами}
|
||||
\subsection{Метеорологические параметры}
|
||||
Для получения доступа к метеорологическим параметром на \url{robotel1.sao.ru} работает утилита
|
||||
\texttt{weatherdaemon}\footnote{\url{https://github.com/eddyem/small_tel/tree/master/Daemons/weatherdaemon}},
|
||||
ее параметры:
|
||||
\begin{description}
|
||||
\item[-P, -{}-pidfile=arg] полный путь к PID-файлу (по умолчанию \texttt{/tmp/weatherdaemon.pid});
|
||||
\item[-b, -{}-baudrate=arg] скорость работы с последовательным портом, к которому подключена локальная
|
||||
метеостанция (по умолчанию: 9600);
|
||||
\item[-d, -{}-device=arg] полный путь к устройству последовательного порта;
|
||||
\item[-e, -{}-emulation] эмуляция последовательного порта для тестов (регулярно выдается одно и то же
|
||||
сообщение);
|
||||
\item[-h, -{}-help] отображение справки;
|
||||
\item[-l, -{}-logfile=arg] файл для сохранения логов (по умолчанию отсутствует);
|
||||
\item[-p, -{}-port=arg] номер порта сокета, в который будут выдаваться полученные метеоданные (по умолчанию
|
||||
12345);
|
||||
\item[-v, -{}-verb] каждый \verb'-t' увеличивает уровень детализации сообщений и логгирования.
|
||||
\end{description}
|
||||
|
||||
Утилита один раз в 10~секунд опрашивает локальную метеостанцию, откуда берется информация о температуре
|
||||
воздуха, скорости ветра и наличии осадков. Также опрашивается СУ~БТА на предмет метеоданных. При подключении к
|
||||
сокету на заданном порту выдается информация (далее она повторяется каждые 10~секунд~--- сразу после получения
|
||||
новых данных с местной метеостанции), например:
|
||||
\begin{verbatim}
|
||||
Rain=1
|
||||
Clouds=0.0
|
||||
Exttemp=10.7
|
||||
Wind=1.4
|
||||
BTAExttemp=12.1
|
||||
BTAPres=597.2
|
||||
BTAWind=0.9
|
||||
BTAHumid=98.9
|
||||
Time=1658239138
|
||||
\end{verbatim}
|
||||
Поля с префиксом <<BTA>> содержат информацию с метеостанции БТА. Форсировать получение данных можно,
|
||||
передав любой символ в сокет (при этом будет отображен последний пакет информации). Поле <<Time>> содержит
|
||||
UNIX-time последнего измерения. Поле <<Clouds>> содержит данные датчика, измеряющего условную температуру неба
|
||||
(чем больше его значение, тем лучше качество изображения; оптимальным для начала наблюдений является значение
|
||||
не меньше~2500).
|
||||
|
||||
Для упрощения использования метеоданных в файлах-сценариях разработан bash-скрипт
|
||||
\texttt{chkweather}\footnote{\url{https://github.com/eddyem/small_tel/blob/master/Daemons/weatherdaemon/chkweather}},
|
||||
который производит разбор полученных из сокета (при помощи утилиты \texttt{netcat}) данных и, помимо того, что
|
||||
выводит их в stdout, завершается с кодом ошибки в случае, если погодные условия не позволяют проводить наблюдения
|
||||
(Clouds меньше~1700, наличие осадков, либо ветер свыше 15\,м/с). В случае, если в течение пяти минут скрипт
|
||||
возвращает ошибку, необходимо прекратить наблюдения, припарковать телескоп и закрыть створки телескопа и купола.
|
||||
|
||||
\subsection{Управление телескопом}
|
||||
Полностью управление узлами телескопа еще не реализовано (т.е. нет возможности получить величину температуры
|
||||
его узлов, включить вентиляторы охлаждения главного зеркала или нагрев вторичного), есть лишь возможность
|
||||
работать со створками телескопа (открыть/закрыть), для чего на телескопе~\No\,1 работает утилита
|
||||
\texttt{teldaemon}\footnote{\url{https://github.com/eddyem/small_tel/tree/master/Daemons/teldaemon}}. Ее
|
||||
аргументы:
|
||||
\begin{description}
|
||||
\item[-d, -{}-device=arg] полный путь к устройству последовательного порта;
|
||||
\item[-e, -{}-echo] <<эхо>> команды пользователя;
|
||||
\item[-h, -{}-help] отображение справки;
|
||||
\item[-l, -{}-logfile=arg] файл для сохранения логов (по умолчанию отсутствует);
|
||||
\item[-p, -{}-port=arg] номер порта сокета, по которому будут приниматься команды (по умолчанию
|
||||
4444);
|
||||
\item[-t, -{}-terminal] работать в режиме терминала, передавая все пользовательские данные в порт и
|
||||
выдавая обратно ответ.
|
||||
\end{description}
|
||||
|
||||
Посылать команды (open, close и status) можно как напрямую в сокет при помощи \texttt{netcat}, так и из
|
||||
адресной строки браузера или запросом \texttt{curl}, например:\\
|
||||
\centerline{\texttt{curl localhost:4444/status}}
|
||||
|
||||
На телескопе~\No\,2 управление производится иначе: т.к. он работает в кассегреновском фокусе, задавать
|
||||
положение фокуса и открывать/закрывать створки необходимо прямыми командами в порт. Для этой цели используются
|
||||
скрипты \texttt{Chfocus}\footnote{\url{https://github.com/eddyem/small_tel/blob/master/Daemons/astrosib/Chfocus}}
|
||||
(задание положения фокусера; кроме того, этот скрипт заполняет файл FOCUS.hdr в локальной директории данными
|
||||
для FITS-заголовка с информацией о текущем отсчете фокусера),
|
||||
\texttt{OpenScope}\footnote{\url{https://github.com/eddyem/small_tel/blob/master/Daemons/astrosib/OpenScope}}
|
||||
и \texttt{CloseScope}\footnote{\url{https://github.com/eddyem/small_tel/blob/master/Daemons/astrosib/CloseScope}} (открыть и
|
||||
закрыть створки телескопа).
|
||||
|
||||
\subsection{Управление монтировкой <<10Micron>>}
|
||||
Сетевой взаимосвязью пользователя с монтировкой является утилита
|
||||
\texttt{stellariumdaemon}\footnote{\url{https://github.com/eddyem/small_tel/tree/master/Daemons/10micron_stellarium}},
|
||||
имеющая следующие аргументы:
|
||||
\begin{description}
|
||||
\item[-D, -{}-dbgport=arg] сетевой порт, позволяющий работать напрямую с терминалом управления
|
||||
монтировкой (для
|
||||
ввода команд напрямую);
|
||||
\item[-P, -{}-pidfile=arg] PID-файл (по умолчанию \texttt{/tmp/stellariumdaemon.pid});
|
||||
\item[-W, -{}-wname=arg] имя или IP-адрес компьютера, на котором запущен <<погодный демон>>;
|
||||
\item[-d, -{}-device=arg] полный путь к устройству последовательного порта;
|
||||
\item[-e, -{}-emulation] работа в режиме эмуляции (только для клиента Stellarium);
|
||||
\item[-h, -{}-help] отображение справки;
|
||||
\item[-l, -{}-logfile=arg] файл для сохранения логов (по умолчанию отсутствует);
|
||||
\item[-p, -{}-port=arg] номер порта сокета, по которому будут приниматься команды от Stellarium (по
|
||||
умолчанию 10000);
|
||||
\item[-w, -{}-wport=arg] номер порта сервера <<погодного демона>>.
|
||||
\end{description}
|
||||
|
||||
Утилита позволяет задавать положение телескопа из виртуального планетария Stellarium, а также вводить любые
|
||||
команды напрямую. Например, так можно навести телескоп на точку $A=90\degr$, $Z=45\degr$:
|
||||
\begin{verbatim}
|
||||
#!/bin/bash
|
||||
|
||||
A="90:00:00"
|
||||
H="45:00:00"
|
||||
|
||||
function sendcmd(){
|
||||
echo $1 | nc 192.168.70.33 10001 -q10
|
||||
}
|
||||
|
||||
sendcmd ":Sz${A}#"
|
||||
sendcmd ":Sa${H}#"
|
||||
sendcmd ":MS#"
|
||||
while true; do
|
||||
ANS=$(sendcmd ":Gstat#")
|
||||
echo $ANS
|
||||
[ $ANS == "0#" ] && break
|
||||
sleep 2
|
||||
done
|
||||
\end{verbatim}
|
||||
|
||||
Скрипт
|
||||
\texttt{GetCoords}\footnote{\url{https://github.com/eddyem/small_tel/blob/master/Auxiliary_utils/bash_scripts/GetCoords}}
|
||||
позволяет получить текущие координаты телескопа. Также для этих целей служит утилита
|
||||
\verb'send_coords'\footnote{\url{https://github.com/eddyem/small_tel/tree/master/Daemons/send_coordinates}}, позволяющая
|
||||
работать с монтировкой через интерфейс Stellarium. Ее аргументы:
|
||||
\begin{description}
|
||||
\item[-H, -{}-host=arg] имя или IP-адрес хоста, где запущен демон <<10Micron>> (по умолчанию:
|
||||
localhost);
|
||||
\item[-P, -{}-port=arg] порт сокета на этом хосте (умолчание: 10000);
|
||||
\item[-d, -{}-dec=arg] склонение цели (DD:MM:SS.SS);
|
||||
\item[-h, -{}-help] отображение справки;
|
||||
\item[-m, -{}-monitor] мониторинг координат (утилита не завершается, пока пользователь не прервет
|
||||
ее);
|
||||
\item[-q, -{}-quiet] подавлять любой вывод в терминал;
|
||||
\item[-r, -{}-ra=arg] прямое восхождение цели (HH:MM:SS.SS).
|
||||
\end{description}
|
||||
|
||||
\subsection{Управление куполами}
|
||||
Управление куполами так же реализовано в виде сетевого сервиса. Купол <<Baader>> управляется сервисом
|
||||
\texttt{domedaemon}\footnote{\url{https://github.com/eddyem/small_tel/tree/master/Daemons/domedaemon}}.
|
||||
Вспомогательная задача этого сервиса~--- не дать куполу закрыться во время наблюдений по таймауту watchdog'а.
|
||||
Аргументы:
|
||||
\begin{description}
|
||||
\item[-d, -{}-device=arg] полный путь к устройству последовательного порта;
|
||||
\item[-e, -{}-echo] <<эхо>> команды пользователя;
|
||||
\item[-h, -{}-help] отображение справки;
|
||||
\item[-l, -{}-logfile=arg] файл для сохранения логов (по умолчанию отсутствует);
|
||||
\item[-p, -{}-port=arg] номер порта сокета, по которому будут приниматься команды (по умолчанию
|
||||
55555);
|
||||
\item[-t, -{}-terminal] работать в режиме терминала, передавая все пользовательские данные в порт и
|
||||
выдавая обратно
|
||||
ответ.
|
||||
\end{description}
|
||||
Команды управления аналогичны командам телескопа.
|
||||
|
||||
Подобным же образом устроен сервис управления куполом
|
||||
<<Astrosib>>\footnote{\url{https://github.com/eddyem/small_tel/tree/master/Daemons/domedaemon-astrosib}}. При
|
||||
работе с этим куполом отмечена проблема: сбой управляющего компьютера в случае ручного (при помощи кнопок на
|
||||
панели контроллера) перемещения створок купола в промежуточное положение между полностью открытым и полностью
|
||||
закрытым состоянием (например, частично приоткрыть купол). Этот сбой чреват аварией с физическим разрушением
|
||||
купола, поэтому крайне не рекомендуется пользоваться кнопками на панели.
|
||||
|
||||
При эксплуатации куполов <<Baader>> и <<Astrosib>> в зимнее время отмечена проблема в них обоих: в случае,
|
||||
если створка купола упирается в лед или плотный снег так, что привод двигателя входит в состояние ошибки по
|
||||
превышению рабочего тока, сброс ошибки возможен исключительно вручную путем снятия и подачи питания снова. При
|
||||
этом с большой вероятностью у купола <<Astrosib>> возможна вышеуказанная поломка. Купол <<Baader>> же можно
|
||||
оснастить магнитным пускателем, разрывающим цепи питания приводов в случае такой проблемы.
|
||||
|
||||
Для купола <<Astrosib>> требуется полная переработка системы управления (приводы допускают управление по
|
||||
RS-485, в т.ч. диагностику и сброс ошибок) с полной заменой управляющей логики. Возможно, установка дешевых
|
||||
многооборотных абсолютных энкодеров на валы двигателей упростит и значительно обезопасит процесс управления
|
||||
куполом.
|
||||
|
||||
\subsection{Управление питанием аппаратуры}
|
||||
На телескопах~\No\,1 и~\No\,2 в роли управляемых розеток выступают одноплатные компьютеры Orange Pi
|
||||
Zero, к которым подключены релейно-симисторные модули на основе микроконтроллера
|
||||
STM8S003\footnote{\url{https://github.com/eddyem/STM8_samples/tree/master/220controlled_socket}}.
|
||||
Помимо двух силовых коммутационных узлов модули имеют один выход на p-канальном MOSFET с открытым
|
||||
стоком, два выхода с открытым стоком на n-канальных MOSFET, один логический вход без развязки,
|
||||
один вход с развязкой через оптопару и два выхода с развязкой через оптопары. Один из выходов обоих
|
||||
контроллеров питания (выход~1) используется для включения системы управления монтировкой
|
||||
<<10Micron>>.
|
||||
|
||||
Модуль управления питанием подключается к управляющему одноплатнику по USB через преобразователь USB--UART,
|
||||
скорость 9800\,бод, 8N1. Протокол управления текстовый. Началом является символ двоеточия, концом~--- символ
|
||||
решетки. Между ними помещается один из управляющих символов:
|
||||
\begin{description}
|
||||
\item[A] выключить симистор канала~0;
|
||||
\item[B] выключить симистор канала~1;
|
||||
\item[c/C] проверить входы 0/1;
|
||||
\item[i/I] отобразить амплитуду тока в канале~0;
|
||||
\item[k/K] включить/выключить ключ~P0;
|
||||
\item[l/L] включить/выключить ключ~N0;
|
||||
\item[m/M] включить/выключить ключ~N1;
|
||||
\item[n/o] активировать выход~0/1;
|
||||
\item[N/O] деактивировать выход~0/1;
|
||||
\item[s/S] отобразить текущее состояние входов и выходов;
|
||||
\item[y/Y] включить/выключить реле~0;
|
||||
\item[z/Z] включить/выключить реле~1.
|
||||
\end{description}
|
||||
|
||||
Команды отсылаются в модули напрямую из
|
||||
bash-скриптов\footnote{\url{https://github.com/eddyem/small_tel/tree/master/Daemons/netsocket}}. На
|
||||
управляющих телескопами машинах настроен ssh-вход на <<розетки>> по ключам, что позволяет при помощи
|
||||
простейших сценариев выполнять включение-выключение\footnote{например,
|
||||
\url{https://github.com/eddyem/small_tel/blob/master/Auxiliary_utils/bash_scripts/HWoff}}.
|
||||
|
||||
На телескопе~\No\,1 также установлена подсветка подкупольного пространства и светильник <<плоского поля>>,
|
||||
подключенные через двухканальный USB-модуль реле. Модуль управляется посредством утилиты
|
||||
\verb'relay_manage'\footnote{\url{https://github.com/eddyem/eddys_snippets/tree/master/USBrelay}}. На нулевом
|
||||
канале установлено освещение подкупольного, а на первом~--- <<плоского поля>>. Аргументы командной строки:
|
||||
\begin{description}
|
||||
\item[-d, -{}-device=arg] полный путь к файлу устройства (если к компьютеру подключено несколько
|
||||
реле, udev-скрипт создает в директории \verb'/dev' файлы \texttt{relayX}, где X~-- номер
|
||||
устройства);
|
||||
\item[-h, -{}-help] отобразить справку;
|
||||
\item[-q, -{}-quiet] не отображать в терминал информацию;
|
||||
\item[-r, -{}-reset=arg] выключить реле с заданным номером;
|
||||
\item[-s, -{}-set=arg] включить реле с заданным номером.
|
||||
\end{description}
|
||||
Аргументы \verb'-s' и \verb'-r' могут встречаться в любом количестве (т.е. сразу можно
|
||||
включить\slash выключить несколько каналов).
|
||||
|
||||
|
||||
\subsection{Управление узлами фотометра}
|
||||
Для управления всеми узлами FLI используется утилита
|
||||
\verb'fli_control'\footnote{\url{https://github.com/eddyem/mytakepic/tree/master/fli_control}}
|
||||
(рекомендуется заменить ее на более современную
|
||||
\verb'ccd_capture'\footnote{\url{https://github.com/eddyem/CCD_Capture}}).
|
||||
Аргументы:
|
||||
\begin{description}
|
||||
\item[-8, -{}-8bit] работа в восьмибитном режиме (если доступна);
|
||||
\item[-A, -{}-author=arg] значение поля AUTHOR FITS-заголовка;
|
||||
\item[-D, -{}-display] отобразить полученное изображение в псевдоцветах в окне OpenGL;
|
||||
\item[-F, -{}-fast] быстрый режим считывания;
|
||||
\item[-I, -{}-instrument=arg] значение поля INSTRUME FITS-заголовка;
|
||||
\item[-N, -{}-obsname=arg] значение поля OBSERVER FITS-заголовка;
|
||||
\item[-O, -{}-object=arg] значение поля OBJECT FITS-заголовка;
|
||||
\item[-P, -{}-prog-id=arg] значение поля PROGRAM FITS-заголовка;
|
||||
\item[-V, -{}-verbose] увеличение уровня подробности сообщений;
|
||||
\item[-Y, -{}-objtype=arg] значение поля OBJTYPE FITS-заголовка;
|
||||
\item[-a, -{}-addsteps=arg] относительное перемещение фокусера на заданное количество шагов;
|
||||
\item[-c, -{}-conf-ioport=arg] конфигурация порта I/O (1~-- выход, 0~-- вход для каждого бита);
|
||||
\item[-d, -{}-dark] снимать <<темновые>> кадры;
|
||||
\item[-f, -{}-nflushes=arg] сделать N~засветок матрицы перед экспозицией (не работает для PL16801);
|
||||
\item[-g, -{}-goto=arg] переместить фокусер в заданную абсолютную позицию (количество шагов);
|
||||
\item[-h, -{}-hbin=arg] горизонтальный биннинг;
|
||||
\item[-i, -{}-get-ioport] получить состояние порта I/O;
|
||||
\item[-n, -{}-nframes=arg] количество кадров в серии;
|
||||
\item[-p, -{}-pause=arg] пауза (в секундах) между кадрами серии;
|
||||
\item[-r, -{}-addrec] внести в FITS-заголовок записи из указанного файла (таких файлов может быть
|
||||
несколько);
|
||||
\item[-s, -{}-set-ioport=arg] установить значение порта I/O;
|
||||
\item[-t, -{}-set-temp=arg] установить температуру чипа ПЗС;
|
||||
\item[-v, -{}-vbin=arg] вертикальный биннинг;
|
||||
\item[-w, -{}-wheel-set=arg] установить заданную позицию колеса турели фильтров (начиная с нуля);
|
||||
\item[-x, -{}-exptime=arg] установить время экспозиции (\textbf{милли}секунд);
|
||||
\item[-{}-X0=arg] а также -{}-X1, -{}-Y0 и -{}-Y1~-- установить координаты части фрейма (в случае
|
||||
значения $-1$ выбирается минимальная или максимальная величина, включая область оверскана);
|
||||
\item[-{}-async] асинхронное (без ожидания окончания) движение шагового двигателя турели\slash
|
||||
фо\-ку\-се\-ра;
|
||||
\item[-{}-close-shutter] закрыть затвор;
|
||||
\item[-{}-help] отобразить справку;
|
||||
\item[-{}-open-shutter] открыть затвор;
|
||||
\item[-{}-rewrite] перезаписать выходной файл, если он существует (иначе будет выдано сообщение об
|
||||
ошибке и файл записан не будет);
|
||||
\item[-{}-shutter-on-high] затвор откроется и экспозиция начнется при наличии высокого сигнала на
|
||||
контакте~5 порта~I/O;
|
||||
\item[-{}-shutter-on-low] затвор откроется и экспозиция начнется при наличии низкого сигнала на
|
||||
контакте~5 порта~I/O.
|
||||
\end{description}
|
||||
|
||||
При проведении первых технических наблюдений было замечено, что данные модели ПЗС не оснащены ИК-засветкой,
|
||||
гарантирующей повторяемость результатов измерений. В итоге на снимках появлялись <<д\'ухи>> (особенно от ярких
|
||||
объектов). ПЗС были модифицированы: зазор между покровным стеклом ПЗС и затвором увеличен до 0.8\,мм, а по
|
||||
периметру крышки вокруг затвора установлено четыре ИК-светодиода (850\,нм). Управление светодиодами подключено
|
||||
к каналу~8 порта~I/O ПЗС. Для организации preflash в данном случае необходимо использовать сценарий:
|
||||
\begin{verbatim}
|
||||
#!/bin/bash
|
||||
|
||||
echo "Wait, pre-flashing is in process"
|
||||
fli_control -c8 >/dev/null
|
||||
fli_control -s0 >/dev/null
|
||||
fli_control -x2000 -d -F
|
||||
fli_control -s8 >/dev/null
|
||||
fli_control -c0 >/dev/null
|
||||
fli_control -F -x1 -v32 -h32 -n2 -d >/dev/null
|
||||
fli_control -x1 -v32 -h32 -d >/dev/null
|
||||
fli_control -x1 -v2 -h2 -d
|
||||
\end{verbatim}
|
||||
В данном случае выполняется настройка контакта~8 порта~I/O на выход, значение контакта устанавливается в нуль (что
|
||||
включает светодиоды, чьи аноды подтянуты к питанию через токозадающий резистор), далее выполняется
|
||||
двухсекундная экспозиция с закрытым затвором в режиме быстрого считывания. После чего светодиоды отключаются и
|
||||
порт переконфигурируется обратно в режим входа. Последующие четыре чтения в разных режимах полностью снимают
|
||||
<<д\'ухи>> от засветки, выводя уровень сигнала на средний уровень bias. Рекомендуется делать preflash перед каждым
|
||||
научным кадром и кадром <<плоского поля>>. В случае съемки темновых и bias'ов этого не требуется.
|
||||
|
||||
Отмечено, что при работе в быстром режиме считывания следующий кадр в обычном режиме получается испорченным.
|
||||
Поэтому при переходе между разными скоростями считывания необходимо делать тестовый промежуточный кадр. Для
|
||||
ускорения считывания можно использовать биннинг (\verb'-v32' \verb'-h32').
|
||||
|
||||
\subsection{Вспомогательные утилиты}
|
||||
Для запуска наблюдений рекомендуется использовать скрипт
|
||||
\texttt{STARTobs}\footnote{\url{https://github.com/eddyem/small_tel/blob/master/Auxiliary_utils/bash_scripts/STARTobs}},
|
||||
который включает питание аппаратуры,
|
||||
открывает створки телескопа и купола, устанавливает температуру светоприемника фотометра в~$-45\degr$C.
|
||||
Скрипт
|
||||
\texttt{STOPobs}\footnote{\url{https://github.com/eddyem/small_tel/blob/master/Auxiliary_utils/bash_scripts/STOPobs}}
|
||||
выполняет указанные действия в обратном порядке, закрывая створки и отключая питание.
|
||||
Обратите внимание на то, что этот скрипт не паркует телескоп перед отключением питания, запарковать необходимо
|
||||
скриптом \verb'park_telescope'. В случае телескопа~\No\,1 парковочным положением является наведение телескопа на
|
||||
осветитель <<плоского поля>>.
|
||||
|
||||
При наблюдении в режиме автоматического сценария без участия человека необходимо выполнить следующую базовую
|
||||
последовательность действий.
|
||||
\begin{enumerate}
|
||||
\item Проверить состояние погоды (\texttt{chkweather}). Если скрипт завершен с ошибкой, запускать наблюдения нельзя.
|
||||
\item Включить питание и открыть телескоп и купол (\texttt{STARTobs}).
|
||||
\item\label{cycle} В цикле проверять состояние погоды и выполнять наблюдения по программе (менять фильтры в турели,
|
||||
менять фокусное расстояние на поправку к фильтру, выполнять экспозицию перенаводить телескоп).
|
||||
\item Проверить состояние телескопа при помощи \verb'send_coords' (если оно не равно~0, перенавести телескоп на
|
||||
объект). Также, чтобы не потерять экспозиций, можно проверять командой \verb':Gmte#', отправляемой в отладочный
|
||||
порт \texttt{stellariumdaemon} время (в минутах) до перекладки (если оно меньше времени экспозиции плюс две--три
|
||||
минуты, вызвать \verb'send_coords' для перенаведения телескопа с перекладкой).
|
||||
\item В случае неблагоприятных условий погоды в течение более, чем 3--5 минут, либо окончании ночи, припарковать
|
||||
телескоп и закрыть купол, иначе~--- вернуться к п.\,\ref{cycle}.
|
||||
\item\label{flats} При необходимости выполнить съемки <<плоских полей>> и прочих калибровочных данных.
|
||||
\item Выполнить \texttt{STOPobs} для полного завершения наблюдений.
|
||||
\end{enumerate}
|
||||
|
||||
В случае переменчивой погоды допускается парковку телескопа и пункт~\ref{flats} отложить до
|
||||
наступления утра, а при закрытом куполе мониторить погоду: в случае, если состояние вернется в
|
||||
нормальное и будет таковым свыше 15~минут, можно открыть купол и продолжить наблюдения.
|
||||
|
||||
Для упрощения определения времени начала и окончания наблюдений можно воспользоваться утилитой
|
||||
noon\footnote{\url{https://github.com/eddyem/small_tel/tree/master/Auxiliary_utils/Sun}}.
|
||||
По умолчанию эта утилита отображает время прохода видимого диска Солнца через небесный меридиан
|
||||
(т.е. истинный солнечный полдень). Время~--- в секундах UNIX-time.
|
||||
В случае, если утилита запущена под именем \verb'sunrise', отображается время ближайшего восхода
|
||||
Солнца с пересечением заданного угла под горизонтом (аргумент утилиты).
|
||||
Запуск под именем \verb'sunset' дает время захода. Без аргументов вычисляется время окончания или
|
||||
начала астрономических сумерек (для определения времени начала или окончания наблюдений). Помимо
|
||||
значения угла аргументом может быть <<standard>> (пересечение горизонта), <<civil>>~-- граница
|
||||
гражданской ночи, <<nautic>>~-- граница навигационной ночи или <<astro>>~-- граница астрономической
|
||||
ночи.
|
||||
|
||||
\section{Юстировка полярной оси и коррекция системы наведения}
|
||||
Юстировка полярной оси производится механически при помощи ручного пульта управления телескопом.
|
||||
Для точной коррекции понадобится также переносной компьютер (чтобы иметь возможность выставить
|
||||
звезду в центр кадра). Юстировка производится итеративно путем последовательных наведений на
|
||||
Полярную звезду и звезду вдалеке от полюса (ближе к югу). Вначале коррекцией с пульта южная звезда
|
||||
устанавливается в центр кадра ПЗС, далее телескоп наводится на Полярную и при помощи шестигранных
|
||||
ключей необходимо выставить ось телескопа так, чтобы звезда находилась в центре кадра. Посредством
|
||||
небольшого количества итераций ось выставляется с точностью до десятка угловых секунд.
|
||||
|
||||
Для расчета данных системы коррекции наведения (СКН) необходимо получить астрометрические поля
|
||||
минимум в сотне равномерно распределенных по полусфере точках. Координаты точек рассчитываются при
|
||||
помощи octave-функции \verb'angdist':
|
||||
\begin{verbatim}
|
||||
num_pts = 100;
|
||||
indices=[0:num_pts/2-1]+0.5;
|
||||
phi = acos(1 - 2*indices/num_pts);
|
||||
theta = pi * (1 + sqrt(5)) * indices;
|
||||
phi=pi/2-phi; % Zd -> H
|
||||
lowest=20*pi/180;
|
||||
idx=find(phi<lowest);
|
||||
phi(idx)=[];
|
||||
theta(idx)=[];
|
||||
|
||||
s=size(phi,2);
|
||||
|
||||
A=[]; H=[];
|
||||
for i = 1:s; A=[A 180-mod(theta(i), 2*pi)*180/pi]; H=[H phi(i)*180/pi]; endfor
|
||||
[~,idx]=sort(A);
|
||||
As=A(idx); Hs=H(idx);
|
||||
|
||||
f=fopen("azimuth-altitude", "w");
|
||||
for i = 1:s
|
||||
Az = As(i);
|
||||
if (Az < 0); Az += 360.; endif
|
||||
fprintf(f, "%s\t%s\n", ang(Az), ang(Hs(i)));
|
||||
printf("%s\t%s\n", ang(Az), ang(90-Hs(i)));
|
||||
endfor
|
||||
fclose(f);
|
||||
\end{verbatim}
|
||||
Она использует функцию \verb'ang', преобразующую угловую меру в строковый вид:
|
||||
\begin{verbatim}
|
||||
function s=ang(a)
|
||||
% convert angle (in degr) into a string DD:MM:SS
|
||||
sgn = "";
|
||||
if(a < 0) sgn = "-"; a = -a; endif
|
||||
d = floor(a);
|
||||
a = (a-d)*60.;
|
||||
m = floor(a);
|
||||
a = (a-m)*60.;
|
||||
s = sprintf("%s%02d:%02d:%02d", sgn, d, m, round(a));
|
||||
endfunction
|
||||
\end{verbatim}
|
||||
В итоге генерируется файл, который отправляется на вход скрипта, выполняющего наведения телескопа
|
||||
на все точки в альт-азимутальных координатах:
|
||||
\begin{verbatim}
|
||||
#!/bin/bash
|
||||
# ./sendcmds < azimuth_altitude
|
||||
|
||||
function sendcmd(){
|
||||
echo $1 | nc 192.168.70.33 10001 -q10
|
||||
}
|
||||
|
||||
badweather=0
|
||||
|
||||
while read A H; do
|
||||
chkweather 1600 > lastweather && badweather=0 || badweather=$((badweather+1))
|
||||
[ $badweather -gt 5 ] && break
|
||||
echo "badweather=$badweather"
|
||||
sendcmd ":Sz${A}#"
|
||||
sendcmd ":Sa${H}#"
|
||||
sendcmd ":MS#"
|
||||
while true; do
|
||||
ANS=$(sendcmd ":Gstat#")
|
||||
echo $ANS
|
||||
[ $ANS == "0#" ] && break
|
||||
sleep 2
|
||||
done
|
||||
/usr/bin/fli_control -r /tmp/10micron.fitsheader -x20000 field
|
||||
done
|
||||
\end{verbatim}
|
||||
|
||||
После запускается скрипт \verb'solve_all', выполняющий астрометрию:
|
||||
\begin{verbatim}
|
||||
#!/bin/bash
|
||||
for f in *; do
|
||||
solve-field --use-sextractor --no-remove-lines --uniformize 0 --radius 2 \
|
||||
-p -L 1.3 -H 1.4 -u arcsecperpix $f
|
||||
done
|
||||
rm -f *.axy *.corr *.xyls *.match *.rdls *.solved *.wcs
|
||||
\end{verbatim}
|
||||
Астрометрия производится при помощи пакета astrometry.net\footnote{\url{http://astrometry.net/}},
|
||||
установленного локально (с локально развернутыми индексными файлами необходимого масштаба). В итоге получается
|
||||
набор файлов с суффиксом \verb'.new', использующихся далее. Для окончательных расчетов таблицы ошибок
|
||||
используется
|
||||
утилита \verb'PCS_create'\footnote{\url{https://github.com/eddyem/small_tel/tree/master/Auxiliary_utils/PCS_create}} (к
|
||||
сожалению, разработчики монтировки 10Micron не позаботились об автоматическом или полуавтоматическом
|
||||
выполнении подобных работ):
|
||||
\begin{verbatim}
|
||||
PCS_create -Hd --ha > PCS_list
|
||||
PCS_create -HDd --ha > PCS_listHAdelta
|
||||
PCS_create -t > PCS_list_10micron
|
||||
\end{verbatim}
|
||||
В результате получается список ошибок в удобочитаемом человеком виде (для исключения выбросов) и в
|
||||
виде, согласно протоколу монтировки <<10Micron>>. Можно скорректировать выходной файл
|
||||
\verb'PCS_list_10micron', оставив 100~объектов без выбросов погрешностей наведения (монтировка не
|
||||
принимает более ста значений). Далее этот файл передается в монтировку при помощи скрипта:
|
||||
\begin{verbatim}
|
||||
#!/bin/bash
|
||||
|
||||
function sendcmd(){
|
||||
echo "Send $*"
|
||||
echo "$*" | nc localhost 10001 -q10
|
||||
}
|
||||
|
||||
sendcmd "pause"
|
||||
sendcmd ":newalig#"
|
||||
while read str; do
|
||||
sendcmd $str
|
||||
done < PCS_list_10micron
|
||||
sendcmd ":endalig#"
|
||||
sendcmd ":getalst#"
|
||||
sendcmd "continue"
|
||||
|
||||
echo "Well done"
|
||||
\end{verbatim}
|
||||
Команды <<pause>> и <<continue>> дают понять утилите \verb'stellariumdaemon', что необходимо
|
||||
прервать или продолжить прием внешних команд наведения (для обеспечения безопасности передачи
|
||||
данных). Далее каждая вычисленная точка отклонений передается в монтировку и дается команда
|
||||
пересчитать коэффициенты СКН.
|
||||
|
||||
|
||||
\end{document}
|
||||
778
Docs/ed.sty
Normal file
778
Docs/ed.sty
Normal file
@ -0,0 +1,778 @@
|
||||
\usepackage[koi8-r]{inputenc} % ëÌÁÓÓÉÞÅÓËÁÑ ËÏÄÉÒÏ×ËÁ
|
||||
\usepackage[english,russian]{babel} % ðÒÁ×ÉÌÁ ÒÁÚÂÉÅÎÉÑ ÓÌÏ×
|
||||
%\usepackage{floatflt} % ðÌÁ×ÁÀÝÉÅ ËÁÒÔÉÎËÉ É ÔÁÂÌÉÃÙ
|
||||
\usepackage{wrapfig} % ïÂÔÅËÁÅÍÙÅ ÏÂßÅËÔÙ
|
||||
\usepackage{multicol} % ðÅÒÅËÌÀÞÅÎÉÅ ÍÅÖÄÕ ÍÎÏÇÏ- É ÏÄÎÏËÏÌÏÎÏÞÎÙÍ ÒÅÖÉÍÁÍÉ ×ÎÕÔÒÉ ÓÔÒÁÎÉÃÙ
|
||||
\usepackage{cite} % ëÒÁÓÉ×ÏÅ ÏÆÏÒÍÌÅÎÉÅ ÃÉÔÁÔ
|
||||
\usepackage{xspace} % ÏÐÃÉÏÎÁÌØÎÙÊ ÐÒÏÂÅÌ × ËÏÎÃÅ ËÏÍÁÎÄÙ
|
||||
\usepackage{ifpdf} % ÐÒÏ×ÅÒËÁ pdflatex/latex
|
||||
%\usepackage[warn]{mathtext} % òÕÓÓËÉÊ × ÍÁÔÅÍÁÔÉÞÅÓËÉÈ ÆÏÒÍÕÌÁÈ
|
||||
\ifpdf
|
||||
\usepackage[pdftex]{graphicx}
|
||||
\usepackage{cmap} % ðÒÁ×ÉÌØÎÁÑ ËÏÄÉÒÏ×ËÁ × pdf
|
||||
\ExecuteOptions{pdftex}
|
||||
% \DeclareGraphicsExtensions{.eps,.png,.jpg,.pdf}
|
||||
% \DeclareGraphicsRule{.eps}{jpg}{.bb}{`convert #1 jpg:-}
|
||||
\else
|
||||
\usepackage[dvips]{graphicx} % ëÁÒÔÉÎËÉ
|
||||
% \DeclareGraphicsExtensions{.eps,.jpg}
|
||||
% \DeclareGraphicsRule{.jpg}{eps}{.bb}{`convert #1 eps:-}
|
||||
\fi
|
||||
\usepackage{xcolor} % ã×ÅÔÏ×ÙÄÅÌÅÎÉÅ
|
||||
\usepackage{longtable} % äÌÉÎÎÙÅ ÔÁÂÌÉÃÙ
|
||||
\usepackage[intlimits]{amsmath} % íÁÔ. ËÏÍÁÎÄÙ
|
||||
\usepackage{amsfonts} % ûÒÉÆÔÙ
|
||||
\usepackage{amssymb} % óÐÅÃ. ÓÉÍ×ÏÌÙ
|
||||
\usepackage{bm} % bold math
|
||||
\usepackage{mathtools} % usefull math definitions
|
||||
\usepackage{wasysym} % äÌÑ ÁÓÔÒÏÎÏÍÉÞÅÓËÉÈ ÓÉÍ×ÏÌÏ× ÔÉÐÁ ÚÎÁËÏ× ÚÏÄÉÁËÁ
|
||||
\usepackage{array} % ÐÏÚ×ÏÌÑÅÔ m{}, b{}, >{}, <{} É !{}
|
||||
|
||||
\def\No{\textnumero} % ÞÉÎÉÍ ÐÏÌÏÍÁÎÙÊ \No
|
||||
|
||||
\def\daterussian{ % fix for iÀÎÑ and iÀÌÑ
|
||||
\def\today{\number\day~\ifcase\month\or
|
||||
\cyrya\cyrn\cyrv\cyra\cyrr\cyrya\or
|
||||
\cyrf\cyre\cyrv\cyrr\cyra\cyrl\cyrya\or
|
||||
\cyrm\cyra\cyrr\cyrt\cyra\or
|
||||
\cyra\cyrp\cyrr\cyre\cyrl\cyrya\or
|
||||
\cyrm\cyra\cyrya\or
|
||||
\cyri\cyryu\cyrn\cyrya\or
|
||||
\cyri\cyryu\cyrl\cyrya\or
|
||||
\cyra\cyrv\cyrg\cyru\cyrs\cyrt\cyra\or
|
||||
\cyrs\cyre\cyrn\cyrt\cyrya\cyrb\cyrr\cyrya\or
|
||||
\cyro\cyrk\cyrt\cyrya\cyrb\cyrr\cyrya\or
|
||||
\cyrn\cyro\cyrya\cyrb\cyrr\cyrya\or
|
||||
\cyrd\cyre\cyrk\cyra\cyrb\cyrr\cyrya\fi
|
||||
\space \number\year~\cyrg.}}
|
||||
|
||||
|
||||
|
||||
\numberwithin{equation}{section}% îÏÍÅÒ ÆÏÒÍÕÌÙ × ×ÉÄÅ (2.3)
|
||||
\pagestyle{headings} % ëÏÌÏÎÔÉÔÕÌÙ
|
||||
%\batchmode % ëÏÍÐÉÌÉÍ ÂÅÚ ×ÏÐÒÏÓÏ×
|
||||
\textwidth=17.5cm
|
||||
\oddsidemargin=-.3cm
|
||||
\evensidemargin=-1.2cm
|
||||
\topmargin=-1cm
|
||||
\textheight=24cm
|
||||
%\emergencystretch=10pt
|
||||
%\sloppy % îÁÐÌÅ×ÁÔØ ÎÁ ÐÅÒÅ- ÉÌÉ ÎÅÄÏÐÏÌÎÅÎÉÅ ÂÏËÓÏ×
|
||||
|
||||
\newcommand{\thisyear}{\number\year} % õÄÏÂÎÏÅ ÓÏËÒÁÝÅÎÉÅ ÄÌÑ ÔÅËÕÝÅÇÏ ÇÏÄÁ
|
||||
\newcommand{\page}[1]{\c@page=#1} % ðÒÉÎÕÄÉÔÅÌØÎÏ ÓÍÅÎÉÔØ ÎÏÍÅÒ ÓÔÒÁÎÉÃÙ
|
||||
|
||||
\newsavebox{\hght}\savebox{\hght}{\strut}\newlength{\kegle}
|
||||
\setlength{\kegle}{\ht\hght} % ÷ÙÓÏÔÁ ÛÒÉÆÔÁ (ÄÌÑ ÐÅÒÅÍÅÎÎÙÈ ÒÁÚÍÅÒÏ×)
|
||||
|
||||
% ðÌÁ×ÁÀÝÉÅ ÏÂßÅËÔÙ 1 - ÇÄÅ ÐÌÁ×ÁÔØ (l,r,o,i; ÅÓÌÉ ÂÕË×Ù ÂÏÌØÛÉÅ - ÎÅ ÏÂÑÚÁÔÅÌØÎÏ
|
||||
% ×ÔÉÓËÉ×ÁÔØ × ÐÅÒ×ÙÊ ÖÅ ÁÂÚÁÃ; 2 - ÏÂßÅËÔ
|
||||
\newsavebox{\myfloat}
|
||||
\newlength{\myflt}
|
||||
\newcommand{\float}[2]{
|
||||
\sbox{\myfloat}{#2}
|
||||
\setlength{\myflt}{\wd\myfloat}
|
||||
\begin{wrapfigure}{#1}{\myflt}
|
||||
\vspace*{-\baselineskip}
|
||||
#2%\usebox{\myfloat}
|
||||
\vspace*{-\baselineskip}
|
||||
\end{wrapfigure}}
|
||||
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
%%%%%%%%%%%% âÏÌØÛÁÑ ÂÕË×Á × ÎÁÞÁÌÅ ÁÂÚÁÃÁ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\newfont{\initial}{wcmr17 at 48pt}
|
||||
\newcommand{\frstltr}[1]{
|
||||
\newbox{\litera}
|
||||
\savebox{\litera}{\hbox{\initial #1}}
|
||||
\vspace*{.2\ht\litera}\par\noindent
|
||||
\begin{wrapfigure}{l}{.8\wd\litera}
|
||||
\vbox to .05\ht\litera{\vss\usebox{\litera}\vspace*{-.2\ht\litera}}
|
||||
\vspace*{-.2\ht\litera}
|
||||
\end{wrapfigure}}
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
%%%%%%%%%%%% óÞÅÔÞÉËÉ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
%\renewcommand{\thechapter}{\Roman{chapter}}
|
||||
\newcounter{sect}[section]%[chapter]
|
||||
\newcounter{subsect}[sect]
|
||||
\newcounter{subsubsect}[subsect]
|
||||
\renewcommand{\thesect}{\arabic{sect}.}
|
||||
\renewcommand{\thesubsect}{\thesect\arabic{subsect}.}
|
||||
\renewcommand{\thesubsubsect}{\thesubsect\arabic{subsubsect}.}
|
||||
\newcounter{myitem}[subsect]
|
||||
\newcounter{lst}[myitem]
|
||||
\newcounter{sblst}[lst]
|
||||
\newcounter{sbitem}[lst]
|
||||
\newcounter{sub}[lst]
|
||||
\renewcommand{\thesbitem}{\thelst.\arabic{sbitem}.}
|
||||
\newcommand{\minput}[1]{\input{#1}}
|
||||
\newcounter{zadacha}[section]
|
||||
\renewcommand{\thezadacha}{\arabic{zadacha}}
|
||||
\renewcommand{\thesub}{\asbuk{sub})}
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
%%%%%%%%%%%%%%%%%%% ôÉÐ ÔÅËÓÔÁ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\newcommand{\Ö}{\bf}
|
||||
\newcommand{\Ô}{\tt}
|
||||
\newcommand{\Î}{\rmfamily\mdseries\upshape}
|
||||
\newcommand{\Ë}{\it}
|
||||
\renewcommand{\t}[1]{\texttt{#1}}
|
||||
\newcommand{\bi}{\bfseries\itshape} % öÉÒÎÙÊ ËÕÒÓÉ×
|
||||
\newcommand{\red}[1]{\textcolor{red}{#1}}
|
||||
\newcommand{\green}[1]{\textcolor{green}{#1}}
|
||||
\newcommand{\blue}[1]{\textcolor{blue}{#1}}
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
%%%%%%%%%%%%%%%%%%% íÁÔÅÍÁÔÉËÁ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
% ÐÅÒÅÎÏÓÙ ÚÎÁËÏ× × ÆÏÒÍÕÌÁÈ
|
||||
% (ÄÏÂÁ×ÉÔØ ×ÔÏÒÏÊ ÓÔÒÏËÏÊ ÐÒÅÁÍÂÕÌÙ \EQDIS)
|
||||
\def\EQDIS{
|
||||
\gdef\cplus{+\discretionary{}{\hbox{$+$}}{}}
|
||||
\gdef\cminus{-\discretionary{}{\hbox{$-$}}{}}
|
||||
\let\scdot=\cdot
|
||||
\gdef\cdot{\scdot\discretionary{}{\hbox{$\scdot$}}{}}
|
||||
\let\ctimes=\times
|
||||
\gdef\times{\ctimes\discretionary{}{\hbox{$\ctimes$}}{}}
|
||||
\catcode`\+=\active
|
||||
\catcode`\-=\active
|
||||
\catcode`\*=\active
|
||||
\let+=\cplus
|
||||
\let-=\cminus
|
||||
\let*=\cdot
|
||||
}
|
||||
%\catcode`\=\active
|
||||
%\def\ceq{=\discretionary{}{\hbox{$=$}}{}}
|
||||
%\let=\ceq
|
||||
%\catcode`\==12}
|
||||
|
||||
% õÄÏÂÎÅÊÛÉÅ ÓÏËÒÁÝÅÎÉÑ:
|
||||
\let˜=\leqslant
|
||||
\let™=\geqslant
|
||||
\newcommand{\Ang}{\mbox{\rm\AA}} % áÎÇÓÔÒÅÍ
|
||||
\newcommand{\arr}{\ensuremath{\,\rightarrow\,}} % óÔÒÅÌËÁ ×ÐÒÁ×Ï
|
||||
\newcommand{\Arr}{\ensuremath{\,\Rightarrow\,}} % ÖÉÒÎÁÑ -//-
|
||||
\newcommand{\aver}[1]{\mathopen{\bm{<}}#1\mathclose{\bm{>}}} % average
|
||||
%\newcommand{\B}[1]{\ensuremath{\mathbf{#1}}} % öÉÒÎÙÊ ÛÒÉÆÔ (ÍÁÔÒÉÃÙ É Ô.Ð.)
|
||||
\newcommand{\B}[1]{\ensuremath{\bm{#1}}} % öÉÒÎÙÊ ÛÒÉÆÔ (ÍÁÔÒÉÃÙ É Ô.Ð.)
|
||||
%\newcommand{\bra}[1]{\ensuremath{\langle #1|}} % âÒÁ-×ÅËÔÏÒ
|
||||
\DeclarePairedDelimiter{\bra}{\langle}{\rvert}
|
||||
\newcommand{\bracket}[1]{\ensuremath{\langle #1|#1\rangle}} % ë×ÁÄÒÁÔ ÍÏÄÕÌÑ ×ÅËÔÏÒÁ ÓÏÓÔÏÑÎÉÑ
|
||||
\newcommand{\cket}[1]{\ensuremath{#1\rangle}} % ëÜÔ ×ÅËÔÏÒ, ÅÓÌÉ ÕÍÎÏÖÁÅÔÓÑ ÎÁ ÂÒÁ-
|
||||
\newcommand{\const}{\ensuremath{\mathfrak{const}}} % ÐÏÓÔÏÑÎÎÁÑ
|
||||
\renewcommand{\C}{\ensuremath{\mathfrak{C}}} % ðÏÓÔÏÑÎÎÁÑ ÉÎÔÅÇÒÉÒÏ×ÁÎÉÑ
|
||||
\newcommand{\D}{\ensuremath{\mathfrak{D}}} % ëÏÍÐÌÅËÓÎÏÅ ÜÌÅËÔÒÉÞÅÓËÏÅ ÓÍÅÝÅÎÉÅ
|
||||
\newcommand{\ddotvec}[1]{%\ddot{\vec{#1}}} % ×ÔÏÒÁÑ ÐÒÏÉÚ×ÏÄÎÁÑ ×ÅËÔÏÒÁ ÐÏ ×ÒÅÍÅÎÉ
|
||||
\savebox{\hght}{$\vec{#1}$}\ddot{\raisebox{0pt}[.8\ht\hght]{$\vec{#1}$}}} % 2Ñ ÐÒÏÉÚ×ÏÄÎÁÑ ×ÅËÔÏÒÁ
|
||||
\newcommand{\degr}{\ensuremath{^\circ}} % çÒÁÄÕÓ
|
||||
\newcommand{\diam}{\ensuremath{\varnothing\,}} % äÉÁÍÅÔÒ
|
||||
\newcommand{\diver}{\mathop{\mathrm{div}}\nolimits} % äÉ×ÅÒÇÅÎÃÉÑ
|
||||
\newcommand{\dotvec}[1]{% % ðÒÏÉÚ×ÏÄÎÁÑ ×ÅËÔÏÒÁ ÐÏ ×ÒÅÍÅÎÉ
|
||||
\savebox{\hght}{$\vec{#1}$}\dot{\raisebox{0pt}[.8\ht\hght]{$\vec{#1}$}}}
|
||||
\newcommand{\dpartder}[2]{\dfrac{\partial^2 #1}{\partial #2^2}} % ×ÔÏÒÁÑ ÞÁÓÔÎÁÑ ÐÒÏÉÚ×ÏÄÎÁÑ
|
||||
\newcommand{\e}{\mathop{\mathrm e}\nolimits} % üËÓÐÏÎÅÎÔÁ
|
||||
\newcommand{\E}{\mathcal{E}} % üäó
|
||||
\renewcommand{\epsilon}{\varepsilon} % ëÒÁÓÉ×ÙÊ ÜÐÓÉÌÏÎ
|
||||
\newcommand{\frc}[2]{\raisebox{2pt}{$#1$}\big/\raisebox{-3pt}{$#2$}} % a/b, a ×ÙÛÅ, b ÎÉÖÅ
|
||||
\newcommand{\F}{\ensuremath{\mathop{\mathfrak F}}\nolimits} % ëÒÁÓÉ×ÁÑ æ
|
||||
%\newcommand{\FT}[1]{\mathop{\mathcal{F}}\nolimits\left(#1\right)} % æÕÒØÅ-ÐÒÅÏÂÒÁÚÏ×ÁÎÉÅ
|
||||
%\newcommand{\IFT}[1]{\mathop{\mathcal{F}^{-1}}\nolimits\left(#1\right)} % ïÂÒÁÔÎÏÅ æð
|
||||
\newcommand{\FT}[1]{\mathcal{F}(#1)} % æÕÒØÅ-ÐÒÅÏÂÒÁÚÏ×ÁÎÉÅ
|
||||
\renewcommand{\H}{\ensuremath{\mathfrak{H}}} % ëÏÍÐÌÅËÓÎÁÑ ÎÁÐÒÑÖÅÎÎÏÓÔØ üð
|
||||
\newcommand{\IFT}[1]{\mathcal{F}^{-1}(#1)} % ïÂÒÁÔÎÏÅ æð
|
||||
\renewcommand{\ge}{\geqslant} % âÏÌØÛÅ ÉÌÉ ÒÁ×ÎÏ (\equiv - ÔÏÖÄÅÓÔ×ÅÎÎÏ, Á ÎÅ ÒÁ×ÎÏ !)
|
||||
\newcommand{\grad}{\mathop{\mathrm{grad}}\nolimits} % çÒÁÄÉÅÎÔ
|
||||
\newcommand{\I}{\ensuremath{\mathfrak{I}}} % éÎÔÅÇÒÁÌ
|
||||
\newcommand{\ind}[1]{_{\text{\scriptsize #1}}} % îÉÖÎÉÊ ÉÎÄÅËÓ ÒÕÓÓ. ÂÕË×ÁÍÉ
|
||||
\newcommand{\indfrac}[2]{\raisebox{2pt}{$\frac{\mbox{\small $#1$}}{\mbox{\small $#2$}}$}}
|
||||
\newcommand{\ILT}[1]{\mathop{\mathfrak{L}}\nolimits^{-1}(#1)} % ïÂÒÁÔÎÏÅ ÐÒÅÏÂÒ. ìÁÐÌÁÓÁ
|
||||
\newcommand{\Infint}{\int\limits_{-\infty}^\infty} % éÎÔÅÇÒÁÌ ÐÏ ×ÓÅÊ R
|
||||
\newcommand{\Int}{\int\limits} % âÏÌØÛÏÊ ÉÎÔÅÇÒÁÌ (ÍÏÖÎÏ ÐÏÍÅÎÑÔØ \int ÎÁ \varint)
|
||||
\newcommand{\IInt}{\mathop{{\int\!\!\!\int}}\limits} % ä×ÏÊÎÏÊ ÂÏÌØÛÏÊ ÉÎÔÅÇÒÁÌ
|
||||
\renewcommand{\kappa}{\varkappa} % ëÒÁÓÉ×ÁÑ ËÁÐÐÁ
|
||||
%\newcommand{\ket}[1]{\ensuremath{|#1\rangle}} % ëÜÔ-×ÅËÔÏÒ
|
||||
\DeclarePairedDelimiter{\ket}{\lvert}{\rangle}
|
||||
\renewcommand{\le}{\leqslant} % íÅÎØÛÅ ÉÌÉ ÒÁ×ÎÏ
|
||||
\newcommand{\ltextarrow}[1]{\ensuremath{\stackrel{#1}\leftarrow}} % óÔÒÅÌËÁ ×ÌÅ×Ï Ó ÐÏÄÐÉÓØÀ Ó×ÅÒÈÕ
|
||||
\newcommand{\lvec}{\overrightarrow} % äÌÉÎÎÙÊ ×ÅËÔÏÒ
|
||||
\newcommand{\LT}[1]{\mathop{\mathfrak{L}}\nolimits(#1)} % ðÒÅÏÂÒÁÚÏ×ÁÎÉÅ ìÁÐÌÁÓÁ
|
||||
\newcommand{\M}{\ensuremath{\mathop{\mathfrak M}\nolimits}} % íÁÓÓÁ Ú×ÅÚÄÙ
|
||||
\newcommand{\mean}[1]{\overline{#1}} % óÒÅÄÎÅÅ ÁÒÉÆÍÅÔÉÞÅÓËÏÅ
|
||||
\newcommand{\med}[1]{\mathop{\mathrm{med} #1}\nolimits} % óÒÅÄÎÅÅ ÁÒÉÆÍÅÔÉÞÅÓËÏÅ
|
||||
\newcommand{\Oint}{\oint\limits} % âÏÌØÛÏÊ ÉÎÔÅÇÒÁÌ
|
||||
\renewcommand{\P}{\ensuremath{\mathfrak{P}}} % ëÏÍÐÌÅËÓÎÁÑ ÐÏÌÑÒÉÚÏ×ÁÎÎÏÓÔØ
|
||||
\newcommand{\partder}[2]{\dfrac{\partial #1}{\partial #2}} %þÁÓÔÎÁÑ ÐÒÏÉÚ×ÏÄÎÁÑ
|
||||
\renewcommand{\phi}{\varphi} % ëÒÁÓÉ×ÁÑ ÆÉ
|
||||
\newcommand{\R}{\ensuremath{\mathbb{R}}} % ÒÁÃÉÏÎÁÌØÎÙÅ ÞÉÓÌÁ
|
||||
\newcommand{\rev}[1]{\frac{1}{#1}} % ïÂÒÁÔÎÁÑ ×ÅÌÉÞÉÎÁ
|
||||
\newcommand{\rot}{\mathop{\mathrm{rot}}\nolimits} % òÏÔÏÒ
|
||||
\newcommand{\rtextarrow}[1]{\ensuremath{\stackrel{#1}\rightarrow}} % óÔÒÅÌËÁ ×ÐÒÁ×Ï Ó ÐÏÄÐÉÓØÀ
|
||||
\newcommand{\Sum}{\sum\limits}
|
||||
\newcommand{\sinc}{\mathop{\mathrm{sinc}}\nolimits} % éÎÔÅÇÒÁÌØÎÙÊ ÓÉÎÕÓ
|
||||
\newcommand{\Tr}{\mathop{\mathrm{Tr}}\nolimits} % óÌÅÄ ÍÁÔÒÉÃÙ
|
||||
\newcommand{\veci}{{\vec\imath}} % i-ÏÒÔ
|
||||
\newcommand{\vecj}{{\vec\jmath}} % j-ÏÒÔ
|
||||
\newcommand{\veck}{{\vec{k}}} % k-ÏÒÔ
|
||||
\newcommand{\when}[2]{\settowidth{\myflt}{\scriptsize $#2$}% ÷ÅÒÔ. ÌÉÎÉÑ Ó ÎÉÖÎÉÍ ÉÎÄÅËÓÏÍ
|
||||
\ensuremath{\left.{#1}\right|_{#2}\hspace{-\myflt}\,}}
|
||||
\newcommand{\ZT}[1]{\mathop{\mathcal{Z}}\nolimits(#1)} % Z-ÐÒÅÏÂÒÁÚÏ×ÁÎÉÅ
|
||||
\newcommand{\IZT}[1]{\mathop{\mathcal{Z}}\nolimits^{-1}(#1)} % ïÂÒÁÔÎÏÅ -//-
|
||||
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
%%%%%%%%%%%%%%%%%%% òÁÚÎÏÅ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
% ëÏÍÁÎÄÁ \Ins ÐÏÍÅÝÁÅÔ × ÔÅËÓÔ ËÒÁÓÎÕÀ ÒÁÍËÕ, × ËÏÔÏÒÏÊ ÌÉÂÏ ÐÕÓÔÏ (ÅÓÌÉ
|
||||
% ËÏÍÁÎÄÁ ÂÅÚ ÁÒÇÕÍÅÎÔÏ×) ÌÉÂÏ #1; ÎÁ ÐÏÌÑÈ ×ÓÔÁ×ÌÑÅÔÓÑ ËÒÁÓÎÙÊ Ë×ÁÄÒÁÔÉË
|
||||
\def\InsTxt@#1{\red{\fbox{#1}}\marginpar{\red{\Square}}\xspace}
|
||||
\def\Ins{\futurelet\next\Ins@i}
|
||||
\def\Ins@i{\ifx\next\bgroup\expandafter\Ins@ii\else\expandafter\Ins@end\fi}
|
||||
\def\Ins@ii#1{\InsTxt@{#1}} %One arg
|
||||
\def\Ins@end{\InsTxt@{\phantom{text}}} %None args
|
||||
|
||||
|
||||
\newcommand{\look}[1]{(ÓÍ.~ÒÉÓ.~\ref{#1})}
|
||||
\newcommand{\mybox}[1]{\parbox[c]{10cm}{\hangindent=5mm\parindent=.6cm\noindent #1\strut}}
|
||||
\newcommand{\mymbox}[1]{\parbox[c]{8cm}{\hangindent=5mm\parindent=.6cm\noindent #1\strut}}
|
||||
\newcommand{\book}[1]{%
|
||||
\usepackage[print,largetypeblock]{booklet}
|
||||
\pagespersignature{#1}%
|
||||
\pdfoutput=1
|
||||
\setpdftargetpages
|
||||
% \setdvipstargetpages
|
||||
\special{!TeXDict begin <</Tumble true>> setpagedevice end}
|
||||
\relax
|
||||
}
|
||||
\newcommand{\Ì}{Linux}
|
||||
\newcommand{\answer}{\smallskip\par\hspace{1cm}{\bfseries\itshape ïÔ×ÅÔØÔÅ ÎÁ ×ÏÐÒÏÓ(Ù):}\nopagebreak\par}
|
||||
\newcommand{\zad}{\smallskip\refstepcounter{zadacha}\par%
|
||||
\hbox{\hspace{1cm}\bf ÷ÙÐÏÌÎÉÔÅ ÚÁÄÁÎÉÅ (\thezadacha):}%
|
||||
\nopagebreak\smallskip\nopagebreak\par}
|
||||
\newenvironment{zadanie}{\refstepcounter{zadacha}\begin{longtable}{||p{\textwidth}}%
|
||||
\underline{\bf ÷ÙÐÏÌÎÉÔÅ ÚÁÄÁÎÉÅ \thezadacha:}\endfirsthead%
|
||||
\underline{\bf (ÐÒÏÄÏÌÖÅÎÉÅ ÚÁÄÁÎÉÑ \thezadacha)}\endhead}
|
||||
{\\\end{longtable}}
|
||||
\newcommand{\Tab}{\raisebox{-.1\kegle}{\raisebox{.4\kegle}{\hbox to 0pt{\rule[.04\kegle]{.4pt}{.52\kegle}%
|
||||
\hspace{-.06\kegle}$\leftarrow$}}\hbox{$\rightarrow$\hspace{-.06\kegle}\rule[.04\kegle]{.4pt}{.52\kegle}}}}% óÉÍ×ÏÌ ÔÁÂÕÌÑÃÉÉ
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
%%%%%%%%%%%%%%%%%%% ëÏÌÏÎÔÉÔÕÌÙ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\def\FDL{\gdef\@FDL{}}
|
||||
%\def\mycopyright{\ifx\FDL\@undefined\hbox to 0pt{\vbox{\hrule\hbox{\strut\copyright\;\number\year\;
|
||||
%åÍÅÌØÑÎÏ× ü.÷.}}}\fi}
|
||||
\renewcommand{\@evenhead}{\vbox{\hbox to \textwidth%
|
||||
{\hfil\leftmark\strut}\hrule}}
|
||||
%{\thepage\hfil\leftmark\strut}\hrule}}
|
||||
\renewcommand{\@oddhead}{\vbox{\hbox to \textwidth%
|
||||
{\rightmark\hfil\strut}\hrule}}
|
||||
%{\rightmark\hfil\thepage\strut}\hrule}}
|
||||
\renewcommand{\@evenfoot}%
|
||||
%{\hfil\vbox{\hrule\hbox{\small \copyright{}åÍÅÌØÑÎÏ× ü.÷.\strut}}}
|
||||
%{\hfil\thepage\hfil\mycopyright}
|
||||
{\thepage\hfil\hbox to 0pt{\hss\ifx\@FDL\@undefined\vbox{\hrule\hbox{
|
||||
\strut\copyright\; åÍÅÌØÑÎÏ× ü.÷., \number\year}}\else\small\sl äÁÎÎÙÊ
|
||||
ÄÏËÕÍÅÎÔ ÒÁÓÐÒÏÓÔÒÁÎÑÅÔÓÑ ÎÁ ÏÓÎÏ×Å ÌÉÃÅÎÚÉÉ FDL\fi}}
|
||||
\renewcommand{\@oddfoot}%
|
||||
%{\vbox{\hrule\hbox{\small\strut\number\year\, ÇÏÄ }}\hfil}
|
||||
%{\hfil\thepage\hfil}
|
||||
{\hbox to 0pt{\ifx\@FDL\@undefined\vbox{\hrule\hbox{
|
||||
\strut\copyright\; åÍÅÌØÑÎÏ× ü.÷., \number\year}}\else\small\sl äÁÎÎÙÊ
|
||||
ÄÏËÕÍÅÎÔ ÒÁÓÐÒÏÓÔÒÁÎÑÅÔÓÑ ÎÁ ÏÓÎÏ×Å ÌÉÃÅÎÚÉÉ FDL\fi}\hfil\thepage}
|
||||
\newcommand{\nofoot}{\renewcommand{\@oddfoot}{\vbox{\hbox to\textwidth{\hfil\thepage}}}%
|
||||
\renewcommand{\@evenfoot}{\vbox{\hbox to\textwidth{\thepage\hfil}}}}
|
||||
% \newcommand{\nocolon}{%
|
||||
% \renewcommand{\@oddhead}{\vbox{\hbox to \textwidth%
|
||||
% {\hfil\sl\rightmark\hfil\strut}}}
|
||||
% \renewcommand{\@oddfoot}%
|
||||
% {\vbox{\hbox to \textwidth{\hfil\thepage\hfil}}}}
|
||||
\newcommand{\nocolon}{
|
||||
\renewcommand{\@oddhead}{}\renewcommand{\@evenhead}{}
|
||||
\renewcommand{\@oddfoot}{\vbox{\hbox to \textwidth{\hfil\thepage\hfil}}}
|
||||
\renewcommand{\@evenfoot}{\vbox{\hbox to \textwidth{\hfil\thepage\hfil}}}
|
||||
}
|
||||
\newcommand{\disscol}{%
|
||||
\renewcommand{\@oddhead}{\vbox{\hbox to \textwidth{\hfil\thepage\hfil}}}
|
||||
\renewcommand{\@evenhead}{\vbox{\hbox to \textwidth{\hfil\thepage\hfil}}}
|
||||
\renewcommand{\@oddfoot}{}
|
||||
\renewcommand{\@evenfoot}{}}
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
%%%%%%%%%%%%%%%% óÏÄÅÒÖÁÎÉÅ, ÎÁÞÁÌÏ É ËÏÎÅÃ ÔÅËÓÔÁ %%%%%%%%%%%%%%
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\newcommand{\l@mytoc}[2]{\vspace{8pt}\hbox to\textwidth%
|
||||
{\hspace{.5cm}\parbox[b]{15cm}{#1 \hrulefill}\hrulefill\, #2}}
|
||||
\newcommand{\l@headtoc}[2]{\vspace{12pt}\hbox to\textwidth%
|
||||
{\hspace{8mm}\parbox[b]{15cm}{\bf #1}\hfil\bf #2}\vspace{4pt}}
|
||||
%\renewcommand{\tableofcontents}%
|
||||
% {\vbox{\vspace{1cm}\Large\bf ïÇÌÁ×ÌÅÎÉÅ\hfil\par\vspace{1.5cm}}\@starttoc{toc}}
|
||||
\renewcommand{\title}[1]{\gdef\@title{#1}\gdef\@bktitle{#1}}
|
||||
\def\booktitle{\@bktitle}
|
||||
\renewcommand{\author}[1]{\gdef\@author{#1}\gdef\@bkauthor{#1}}
|
||||
\author{\it åÍÅÌØÑÎÏ× üÄÕÁÒÄ ÷ÌÁÄÉÍÉÒÏ×ÉÞ}
|
||||
\newcommand{\beg}%
|
||||
{\relax\ifx\@bktitle\@undefined
|
||||
\def\@bktitle{USE title\{name\}}
|
||||
\def\@title{\@bktitle}\fi%
|
||||
\maketitle\thispagestyle{empty}\cleardoublepage\tableofcontents\clearpage\relax}%\markboth{ïÇÌÁ×ÌÅÎÉÅ}{ïÇÌÁ×ÌÅÎÉÅ}
|
||||
\def\tir@zh{1}
|
||||
\newcommand{\tirazh}[1]{\def\tir@zh{#1}}
|
||||
\def\back{
|
||||
\newpage
|
||||
\pagestyle{empty}
|
||||
\ \vfill
|
||||
\begin{center}
|
||||
% \bf åÍÅÌØÑÎÏ× üÄÕÁÒÄ ÷ÌÁÄÉÍÉÒÏ×ÉÞ\rm\par
|
||||
\bf\@bkauthor\rm\par
|
||||
% (ÒÅÄÁËÔÏÒ, ÔÅÈÎÉÞÅÓËÉÊ ËÏÒÒÅËÔÏÒ, ËÏÒÒÅËÔÏÒ --
|
||||
% åÍÅÌØÑÎÏ× üÄÕÁÒÄ ÷ÌÁÄÉÍÉÒÏ×ÉÞ.)
|
||||
\vspace{3mm}\par
|
||||
\bf\@bktitle\par\rm\small
|
||||
\vspace*{10pt}\hrule\vspace*{3pt}
|
||||
ðÏÄÐÉÓÁÎÏ × ÐÅÞÁÔØ~\today\quad çÁÒÎÉÔÕÒÁ Computer Modern.\\
|
||||
æÏÍÁÔ $60\times80\,\,1/16$.
|
||||
ôÉÒÁÖ \raisebox{-2pt}{\rule{30pt}{1pt}}\hspace{-30pt}\hbox to 30pt{\hss\tir@zh\hss} ÜËÚ.
|
||||
ãÅÎÁ ÄÏÇÏ×ÏÒÎÁÑ.\vspace*{3pt}\hrule
|
||||
\medskip
|
||||
ïÔÐÅÞÁÔÁÎÏ × ÄÏÍÁÛÎÅÊ ÔÉÐÏÇÒÁÆÉÉ åÍÅÌØÑÎÏ×Á ü.÷.\\
|
||||
\vbox to 0pt{\includegraphics{/Data/documents/LaTeX_Templates/My_podp}}\hfill
|
||||
\ifx\@FDL\@undefined\copyright\else{\sl (FDL)}\fi\quad åÍÅÌØÑÎÏ× ü.÷., \thisyear\par
|
||||
\end{center}}
|
||||
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
%%%%%%%%%%%%%%% òÁÚÄÅÌÙ ÄÏËÕÍÅÎÔÁ %%%%%%%%%%%%%%%%%%%%%%%
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\newcommand{\sect}[1]{\refstepcounter{sect}\par\vspace{1.5cm plus 1cm minus .5cm}
|
||||
{\Huge\bf\begin{center}\thesect #1\end{center}}%
|
||||
\addcontentsline{toc}{headtoc}{\thesect #1}\markboth{\thesect #1}{\thesect #1}%
|
||||
\nopagebreak\bigskip\par}
|
||||
\newcommand{\subsect}[1]{\refstepcounter{subsect} \par\vspace{.9cm plus .5cm minus .2cm}\noindent%
|
||||
{\Large\bf\thesubsect\hspace{.5cm}#1}\par%
|
||||
\addcontentsline{toc}{mytoc}{\hspace{1cm}\thesubsect \, #1}%
|
||||
\markright{\thesubsect #1}
|
||||
\nopagebreak\medskip\par\nopagebreak}
|
||||
\newcommand{\subsubsect}[1]{\refstepcounter{subsubsect}\par\vspace{.5cm plus .3cm minus .2cm}\noindent%
|
||||
{\large\bf\thesubsubsect #1}\par%
|
||||
\addcontentsline{toc}{mytoc}{\hspace{2.5cm}\thesubsubsect #1}%
|
||||
% \markright{\thesubsect #1}
|
||||
\nopagebreak\par\nopagebreak}
|
||||
\newcommand{\intro}[1]{\clearpage
|
||||
\addcontentsline{toc}{headtoc}{#1}\markright{#1}
|
||||
{\Huge\bf\begin{center}#1\end{center}}\nopagebreak\par\bigskip\nopagebreak}
|
||||
\newcommand{\myitem}[1]{\refstepcounter{myitem}\smallskip\par\noindent{\bf\themyitem.}%
|
||||
\hfil\parbox[t]{16.5cm}{\parindent=.6cm\noindent #1}\smallskip\par}
|
||||
\def\sbitem{\smallskip\par\refstepcounter{sbitem}\thesbitem%
|
||||
\hspace*{5pt}}
|
||||
\newcommand{\myitcont}[1]{\hfil\parbox[t]{16.5cm}{\parindent=.6cm\noindent%
|
||||
#1}\smallskip\par}
|
||||
%\newcommand{\mar}[1]{\par\noindent $\blacktriangleright$ \hfill%
|
||||
%\parbox[t]{0.9\columnwidth}{#1}\smallskip\par}
|
||||
\newcommand{\mar}[1]{%
|
||||
\begin{list}{\hbox to 0pt{\hspace{-7mm}$\blacktriangleright$}}{%
|
||||
\parsep=0mm\topsep=0mm\partopsep=0mm\leftmargin=\parindent%
|
||||
\rightmargin=\parindent\item}#1%
|
||||
\setlength{\myflt}{-\parskip}\addtolength{\myflt}{\textwidth}
|
||||
\vspace{-\baselineskip}\par
|
||||
\hbox to \myflt{\hfill$\blacktriangleleft$}\smallskip
|
||||
\end{list}}
|
||||
\newcommand{\reshenie}{\nopagebreak\bigskip\par\nopagebreak\hbox to \textwidth%
|
||||
{\hfill\large\bf òÅÛÅÎÉÅ:\hfill}\nopagebreak\medskip\nopagebreak\par}
|
||||
\def\sub{\smallskip\par\refstepcounter{sub}\thesub%
|
||||
\hspace*{5pt}}
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
%%%%%
|
||||
%%%%%%%%%%%%%% ïËÒÕÖÅÎÉÑ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\newcommand{\cn}[1]{\begin{center} #1 \end{center}} % ãÅÎÔÒÉÒÏ×ÁÎÎÙÊ ÏÂßÅËÔ
|
||||
\newcommand{\cbox}[1]{\hbox to 0pt{\hss #1\hss}} % ôÏ ÖÅ, ÎÏ ÎÅ ÚÁÎÉÍÁÀÝÅÅ ÍÅÓÔÁ ÐÏ ÇÏÒÉÚÏÎÔÁÌÉ
|
||||
% ÐÅÒÅÏÐÒÅÄÅÌÑÅÍ itemize, enumerate É description
|
||||
% + ÏÓÔÁ×ÌÑÅÍ ÐÒÏÓÔÕÀ ×ÏÚÍÏÖÎÏÓÔØ ÉÚÍÅÎÉÔØ ÉÈ
|
||||
% ÕËÒÁÄÅÎÏ ÏÔÓÀÄÁ:
|
||||
% http://dcwww.camd.dtu.dk/~schiotz/comp/LatexTips/tweaklist.sty
|
||||
\def\enumhook{\setlength{\itemsep}{0cm}% ÏÂÝÉÅ ËÏÍÁÎÄÙ ×ÎÕÔÒÉ enumerate
|
||||
\setlength{\parsep}{0cm}\setlength{\topsep}{2mm}}
|
||||
\def\enumhooki{} % ËÏÍÁÎÄÙ ×ÎÕÔÒÉ 1 ÕÒÏ×ÎÑ ×ÌÏÖÅÎÎÏÓÔÉ
|
||||
\def\enumhookii{} % ËÏÍÁÎÄÙ ×ÎÕÔÒÉ 2 É ÐÏÓÌÅÄÕÀÝÉÈ ÕÒÏ×ÎÅÊ
|
||||
\def\enumhookiii{}
|
||||
\def\enumhookiv{}
|
||||
\def\itemhook{\enumhook} % ÔÏ ÖÅ ÓÁÍÏÅ ÄÌÑ itemize
|
||||
\def\itemhooki{}
|
||||
\def\itemhookii{}
|
||||
\def\itemhookiii{}
|
||||
\def\itemhookiv{}
|
||||
\def\descripthook{} % É ÄÌÑ description
|
||||
\def\enumerate{%
|
||||
\ifnum \@enumdepth >\thr@@\@toodeep\else
|
||||
\advance\@enumdepth\@ne
|
||||
\edef\@enumctr{enum\romannumeral\the\@enumdepth}%
|
||||
\expandafter
|
||||
\list
|
||||
\csname label\@enumctr\endcsname
|
||||
{\usecounter\@enumctr\def\makelabel##1{\hss\llap{##1}}%
|
||||
\enumhook \csname enumhook\romannumeral\the\@enumdepth\endcsname}%
|
||||
\fi}
|
||||
\def\itemize{%
|
||||
\ifnum \@itemdepth >\thr@@\@toodeep\else
|
||||
\advance\@itemdepth\@ne
|
||||
\edef\@itemitem{labelitem\romannumeral\the\@itemdepth}%
|
||||
\expandafter
|
||||
\list
|
||||
\csname\@itemitem\endcsname
|
||||
{\def\makelabel##1{\hss\llap{##1}}%
|
||||
\itemhook \csname itemhook\romannumeral\the\@itemdepth\endcsname}%
|
||||
\fi}
|
||||
\renewenvironment{description}
|
||||
{\list{}{\labelwidth\z@ \itemindent-\leftmargin
|
||||
\let\makelabel\descriptionlabel\descripthook}}
|
||||
{\endlist}
|
||||
|
||||
\newenvironment{myitemize}%
|
||||
{\begin{list}{$\gg$}{\setlength{\itemsep}{0cm}%
|
||||
\setlength{\parsep}{0cm}\setlength{\topsep}{2mm}}}{\end{list}}
|
||||
\newenvironment{pict}%
|
||||
{\begin{figure}[!ht]\vspace*{-6pt}\begin{center}\noindent}{\end{center}
|
||||
\vspace*{-18pt}
|
||||
\end{figure}}
|
||||
\newenvironment{tbl}%
|
||||
{\begin{table}\vspace*{-6pt}\begin{center}\noindent}{\end{center}\vspace*{-18pt}
|
||||
\end{table}}
|
||||
\newenvironment{poetry}[1]{\vspace{8mm plus 14mm minus 2mm}\par%
|
||||
\addcontentsline{toc}{mytoc}{\it #1}%\hbox to \textwidth{\hss\Large\bf #1\hss}\nopagebreak\par%
|
||||
\begin{verse}\centerline{\Large\bf #1}\vspace{1em}}{\end{verse}}
|
||||
\newenvironment{re}{\begin{verse}\bf ðÒÉÐÅ×:\rm\\}{\end{verse}}
|
||||
\newenvironment{mylist}{\begin{list}{}{\leftmargin=1in\itemsep=0in}}{\end{list}}
|
||||
\newenvironment{answ}{\answer\nopagebreak\begin{quote}}{\end{quote}\medskip}
|
||||
\newenvironment{zadacha}{\vspace{12pt plus 12pt minus 7pt}\par\noindent\bf
|
||||
\refstepcounter{zadacha}\hspace{-\parindent}\hbox to 0pt{$\blacktriangleright$}%
|
||||
\hspace{1.5\parindent}úÁÄÁÞÁ \thezadacha.\rm\nopagebreak\smallskip\par
|
||||
\nopagebreak}{\medskip\par}
|
||||
\newenvironment{subenumerate}%
|
||||
{\begin{list}{\arabic{sblst}.}{\usecounter{sblst}\setlength{\itemsep}{0cm}%
|
||||
\setlength{\parsep}{0cm}\setlength{\topsep}{1mm}\item[]}}{\end{list}}
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
%%%%%%%%%%%%%% áÓÔÒÏÎÏÍÉÞÅÓËÉÅ ÖÕÒÎÁÌÙ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\def\aa{{Astron.~\& Astrophys}}
|
||||
\def\aaa{{Astron.~\& Astrophys}}
|
||||
\def\ao{{Applied Optics}} %{{Astron.~\& Opt. }}
|
||||
\def\araa{{Annu.~Rev. Astron.~Astrophys}}
|
||||
\def\aj{{Astron.~J}}
|
||||
\def\azh{{áÓÔÒÏÎÏÍ.~öÕÒÎÁÌ}}
|
||||
\def\aas{{Astron.~Astrophys. Suppl}}
|
||||
\def\aar{{Astron.~Astrophys. Rev}}
|
||||
\def\apj{{Astrophys.~J}}
|
||||
\def\apjs{{Astrophys.~J. Suppl}}
|
||||
\def\apss{{Astrophys. Space~Sci}}
|
||||
\def\baas{{Bull. Amer.~Astron.~Soc}}
|
||||
\def\bsao{{Bull. Spec.~Astrophys.~Obs}}
|
||||
\def\izvsao{{éÚ×ÅÓÔÉÑ óáï~òáî}}
|
||||
\def\jaa{{J.~of Astron. Astrophys}}
|
||||
\def\josa{{J.~of the Opt. Soc. of~America}}
|
||||
\def\jrasc{{J.~of Royal Astron.~Soc. of~Canada}}
|
||||
\def\mnras{{Mon.~Not.~ of Royal Astron.~Soc}}
|
||||
\def\pazh{{ðÉÓØÍÁ ×~áÓÔÒÏÎ. öÕÒÎÁÌ}}
|
||||
\def\pasp{{Publ. Astron.~Soc. Pacific}}
|
||||
\def\pasj{{Publ. Astron.~Soc. Japan}}
|
||||
\def\soros{{óÏÒÏÓÏ×ÓËÉÊ ÏÂÒÁÚÏ×ÁÔÅÌØÎÙÊ ÖÕÒÎÁÌ}}
|
||||
\def\sovast{{óÏ×ÅÔÓËÁÑ ÁÓÔÒÏÎÏÍÉÑ}}
|
||||
\def\sca{{Scient.~Am}}
|
||||
\def\skytel{{Sky~\& Telesc}}
|
||||
\def\spsrev{{Space Sci.~Rev}}
|
||||
\def\psao{{ðÒÅÐÒÉÎÔ óáï~òáî.}}
|
||||
\def\vnksf{{÷ÓÅÒÏÓÓÉÊÓËÁÑ îÁÕÞÎÁÑ ëÏÎÆÅÒÅÎÃÉÑ óÔÕÄÅÎÔÏ×-æÉÚÉËÏ× É ÍÏÌÏÄÙÈ ÕÞÅÎÙÈ}}
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
%%%%%%%%%%%%%%%% äÏÐÏÌÎÉÔÅÌØÎÁÑ ÂÉÂÌÉÏÇÒÁÆÉÑ %%%%%%%%%%%%%%%%%%
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\newenvironment{mybibliography}[1]
|
||||
{\list{\@biblabel{\@asbuk\c@enumiv}}%
|
||||
{\settowidth\labelwidth{\@biblabel{#1}}%
|
||||
\leftmargin\labelwidth
|
||||
\advance\leftmargin\labelsep
|
||||
\@openbib@code
|
||||
\usecounter{enumiv}%
|
||||
\let\p@enumiv\@empty
|
||||
\renewcommand\theenumiv{\@asbuk\c@enumiv}}%
|
||||
\sloppy
|
||||
\clubpenalty4000
|
||||
\@clubpenalty \clubpenalty
|
||||
\widowpenalty4000%
|
||||
\sfcode`\.\@m}
|
||||
{\endlist}
|
||||
\newenvironment{biblio}[1]
|
||||
{\list{\@biblabel{\@arabic\c@enumiv}}%
|
||||
{\settowidth\labelwidth{\@biblabel{#1}}%
|
||||
\leftmargin\labelwidth
|
||||
\advance\leftmargin\labelsep
|
||||
\itemsep=0pt plus 1pt
|
||||
\@openbib@code
|
||||
\usecounter{enumiv}%
|
||||
\let\p@enumiv\@empty
|
||||
\renewcommand\theenumiv{\@arabic\c@enumiv}}%
|
||||
\sloppy
|
||||
\clubpenalty4000
|
||||
\@clubpenalty \clubpenalty
|
||||
\widowpenalty4000%
|
||||
\sfcode`\.\@m}
|
||||
{\endlist}
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
%%%% òÁÂÏÞÉÅ ÐÒÏÇÒÁÍÍÙ, ÔÅÈÚÁÄÁÎÉÑ É ÐÒ.%%%%%%%%%%%%%%%%%%%%%%
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\newcommand{\workprtitle}[3]{%
|
||||
\begin{titlepage}
|
||||
\begin{center}
|
||||
\large
|
||||
íéîéóôåòóô÷ï ïâòáúï÷áîéñ óôá÷òïðïìøóëïçï ëòáñ\\
|
||||
óôá÷òïðïìøóëéê ðïìéôåèîéþåóëéê ëïììåäö
|
||||
\vspace{5cm}\par
|
||||
\Huge\bf
|
||||
òáâïþáñ ðòïçòáííá\\ õþåâîïê äéóãéðìéîù\par
|
||||
\rm\normalsize
|
||||
\raisebox{.5cm}[3.5cm]{\parbox[b]{\textwidth}{%
|
||||
\centering \Large\bf #1}}
|
||||
\hrule\strut
|
||||
(ÎÁÉÍÅÎÏ×ÁÎÉÅ ÄÉÓÃÉÐÌÉÎÙ)\par
|
||||
\raisebox{2mm}[3cm]{\parbox[b]{\textwidth}{%
|
||||
\centering\large\bf #2}}
|
||||
\hrule\strut
|
||||
(ÎÁÉÍÅÎÏ×ÁÎÉÅ ÓÐÅÃÉÁÌØÎÏÓÔÅÊ)\par
|
||||
\raisebox{.5cm}[2cm]{\parbox[b]{\textwidth}{%
|
||||
\centering\Large\bf #3}}
|
||||
\hrule\strut
|
||||
(ÕÒÏ×ÅÎØ ÓÒÅÄÎÅÇÏ ÐÒÏÆÅÓÓÉÏÎÁÌØÎÏÇÏ ÏÂÒÁÚÏ×ÁÎÉÑ)
|
||||
\vspace{4cm}\par
|
||||
\large Ç. óÔÁ×ÒÏÐÏÌØ, 2005\, Ç.
|
||||
\end{center}
|
||||
\clearpage
|
||||
\thispagestyle{empty}
|
||||
\parbox[t]{.47\textwidth}{
|
||||
ïÄÏÂÒÅÎÁ\\
|
||||
õÞÅÂÎÏ-ÍÅÔÏÄÉÞÅÓËÉÍ\\
|
||||
óÏ×ÅÔÏÍ\\
|
||||
óçðë\\
|
||||
\vspace{5cm}\par
|
||||
ðÒÅÄÓÅÄÁÔÅÌØ\vspace{2cm}\par\hrule}
|
||||
\parbox[t]{.47\textwidth}{
|
||||
óÏÓÔÁ×ÌÅÎÁ × ÓÏÏÔ×ÅÔÓÔ×ÉÉ Ó ÇÏÓÕÄÁÒÓÔ×ÅÎÎÙÍÉ ÔÒÅÂÏ×ÁÎÉÑÍÉ Ë ÍÉÎÉÍÕÍÕ ÓÏÄÅÒÖÁÎÉÑ É
|
||||
ÕÒÏ×ÎÀ ÐÏÄÇÏÔÏ×ËÉ ×ÙÐÕÓËÎÉËÏ× ÄÌÑ ÓÐÅÃÉÁÌØÎÏÓÔÉ
|
||||
\vspace{1cm}\par\hrule
|
||||
\vspace{1cm}\par\hrule
|
||||
\vspace{1cm}\par\hrule
|
||||
\centering (ÇÒÕÐÐ ÓÐÅÃÉÁÌØÎÏÓÔÅÊ)
|
||||
\vspace{1cm}\par\flushleft
|
||||
íÉÎÉÓÔÅÒÓÔ×Ï (×ÅÄÏÍÓÔ×Ï)-
|
||||
ÒÁÚÒÁÂÏÔÞÉË çïó óðï
|
||||
ðÏ ÚÁËÒÅÐÌÅÎÎÙÍ ÓÐÅÃÉÁÌØÎÏÓÔÑÍ}
|
||||
\vspace{3cm}\par
|
||||
\parbox{7cm}{á×ÔÏÒ:\\
|
||||
åÍÅÌØÑÎÏ× ü.÷.
|
||||
\vspace{2.5cm}\par
|
||||
òÅÃÅÎÚÅÎÔÙ:
|
||||
\vspace{3cm}\par
|
||||
òÅÄÁËÔÏÒ:}
|
||||
\end{titlepage}}
|
||||
|
||||
% ôÉÔÕÌØÎÁÑ ÓÔÒÁÎÉÃÁ ÔÅÈÎÉÞÅÓËÏÇÏ ÚÁÄÁÎÉÑ
|
||||
% \texzadtitle{äÏÌÖÎÏÓÔØ ÓÏÇÌÁÓÏ×Á×ÛÅÇÏ}{éÍÑ ÓÏÇÌÁÓÏ×Á×ÛÅÇÏ}{îÁÚ×ÁÎÉÅ}{óÐÉÓÏË
|
||||
%Á×ÔÏÒÏ× ÞÅÒÅÚ \\}{ïÄÏÂÒÅÎÏ...}
|
||||
\newcommand{\texzadtitle}[4]{%
|
||||
\begin{titlepage}
|
||||
\vbox{
|
||||
\parbox{7.5cm}{
|
||||
\centerline{<<óïçìáóï÷áîï>>}
|
||||
\centerline{#1}\vspace{20pt}
|
||||
\hrulefill~#2\par\vspace{7pt}
|
||||
\centerline{\hbox to
|
||||
6cm{<<\rule{7mm}{0.4pt}>>\hrulefill~\number\year\,Ç.}}
|
||||
}
|
||||
\hfill
|
||||
\parbox{7.5cm}{
|
||||
\centerline{<<õô÷åòöäáà>>}
|
||||
\centerline{äÉÒÅËÔÏÒ óáï òáî, ÞÌ.-ËÏÒÒ. òáî}\vspace{20pt}
|
||||
\hrulefill~âÁÌÅÇÁ à.à.\par\vspace{7pt}
|
||||
\centerline{
|
||||
\hbox to 6cm{<<\rule{7mm}{0.4pt}>>\hrulefill~\number\year\,Ç.}}
|
||||
}
|
||||
}
|
||||
\vfill
|
||||
\begin{center}
|
||||
ôåèîéþåóëïå úáäáîéå\\
|
||||
#3\vskip 3em\normalfont
|
||||
\begin{tabular}[t]{c}\@author\end{tabular}
|
||||
\end{center}
|
||||
\vfill
|
||||
%\hfill\parbox{8cm}{#4}
|
||||
\vfill
|
||||
\centerline{#4}
|
||||
\vspace*{1cm}
|
||||
\centerline{îÉÖÎÉÊ áÒÈÙÚ, \number\year\,Ç.}
|
||||
\end{titlepage}
|
||||
% ÐÏÄÐÉÓØ Á×ÔÏÒÏ×
|
||||
\def\signatures{
|
||||
\def\and{\\[1.5em] \hrulefill\hspace{1em}}
|
||||
\vskip 1cm
|
||||
\today\hfill
|
||||
%\flushright
|
||||
\begin{tabular}[t]{p{7cm}}
|
||||
\hrulefill\hspace{1em}\@author
|
||||
\end{tabular}
|
||||
}
|
||||
% òÁÚÄÅÌÙ ôú
|
||||
\newcommand{\ts}[1]{\refstepcounter{sect}\par%
|
||||
\vspace{1cm plus 1cm minus .5cm}{\indent\bf\thesect \, \lowercase{##1}}%
|
||||
\addcontentsline{toc}{section}{\thesect ##1}\markboth{\thesect ##1}{\thesect
|
||||
##1}\nopagebreak\par}
|
||||
\newcommand{\tss}[1]{\refstepcounter{subsect}\medskip\par%
|
||||
{\indent\thesubsect\hspace{.5cm}##1}\par%
|
||||
\addcontentsline{toc}{subsection}{\hspace{1cm}\thesubsect \, ##1}%
|
||||
\markright{\thesubsect ##1}\nopagebreak\par\nopagebreak}
|
||||
\newcommand{\tsss}{\refstepcounter{subsubsect}
|
||||
\smallskip\par\indent\thesubsubsect \,}
|
||||
}
|
||||
|
||||
\def\@zakaz{{\small\tt$\backslash$zakaz\{îÏÍÅÒ ÚÁËÁÚÁ\}}}
|
||||
\newcommand{\zakaz}[1]{\gdef\@zakaz{#1}}
|
||||
\def\@uchizdl{{\small\tt$\backslash$uchizdl\{ëÏÌ-×Ï ÓÉÍ×./40000\}}}
|
||||
\newcommand{\uchizdl}[1]{\gdef\@uchizdl{#1}}
|
||||
%\def\@uslpechl{{\small\tt$\backslash$uslpechl\{ëÏÌ-×Ï ÌÉÓÔÏ×/16\}}}
|
||||
%\newcommand{\uslpechl}[1]{\gdef\@uslpechl{#1}}
|
||||
\def\@podpech{{\small\tt$\backslash$podpech\{äÁÔÁ ÐÏÄÐÉÓ-Ñ × ÐÅÞÁÔØ\}}}
|
||||
\newcommand{\podpech}[1]{\gdef\@podpech{#1}}
|
||||
\newcommand{\backpage}{\clearpage
|
||||
\pagestyle{empty}
|
||||
\ \vfill\begin{center}
|
||||
\bf\@bkauthor\rm\par
|
||||
\vspace{3mm}\par
|
||||
\bf\@bktitle\par\rm\small\end{center}
|
||||
\vspace*{10pt}
|
||||
\hrule height 2pt\vspace*{4pt}
|
||||
\newcount{\podp}\newcount{\podpfr}
|
||||
\podp=\c@page
|
||||
\podpfr=\c@page
|
||||
\divide\podp by 16
|
||||
\multiply\podp by 100
|
||||
\multiply\podpfr by 100
|
||||
\divide\podpfr by 16
|
||||
\advance\podpfr by -\podp
|
||||
\divide\podp by 100
|
||||
\noindent\hfil ðÏÄÐÉÓÁÎÏ × ÐÅÞÁÔØ \@podpech\hfil çÁÒÎÉÔÕÒÁ Computer Modern\hfil\\
|
||||
\hbox to 0pt{æÏÒÍÁÔ $60\!\times\!84\;1/16$}\hfil
|
||||
õÓÌ.ÐÅÞ.Ì.~{\the\podp.\ifnum\podpfr<10 0\fi\the\podpfr}\hfil
|
||||
\hbox to 0pt{\hss õÞ.-ÉÚÄ.Ì. \@uchizdl}\linebreak
|
||||
\hbox to 0pt{âÕÍÁÇÁ ÏÆÓÅÔÎÁÑ}\hfil
|
||||
ôÉÒÁÖ \tir@zh~ÜËÚ.\hfil
|
||||
\hbox to 0pt{\hss úÁËÁÚ \@zakaz}\linebreak
|
||||
\vspace{-10pt}\hrule height 2pt
|
||||
\begin{center}
|
||||
\small\noindent
|
||||
ïÔÐÅÞÁÔÁÎÏ × éÚÄÁÔÅÌØÓËÏ-ÐÏÌÉÇÒÁÆÉÞÅÓËÏÍ ËÏÍÐÌÅËÓÅ\\
|
||||
óÔÁ×ÒÏÐÏÌØÓËÏÇÏ ÇÏÓÕÄÁÒÓÔ×ÅÎÎÏÇÏ ÕÎÉ×ÅÒÓÉÔÅÔÁ.\\
|
||||
355009, óÔÁ×ÒÏÐÏÌØ, ÕÌ. ðÕÛËÉÎÁ, 1.
|
||||
\end{center}}
|
||||
|
||||
\newcommand{\metodtitle}%
|
||||
{\relax\ifx\@bktitle\@undefined
|
||||
\def\@bktitle{USE title\{name\}}
|
||||
\def\@title{\@bktitle}\fi%
|
||||
\begin{titlepage}
|
||||
\begin{center}
|
||||
íÉÎÉÓÔÅÒÓÔ×Ï ÏÂÒÁÚÏ×ÁÎÉÑ òÏÓÓÉÊÓËÏÊ æÅÄÅÒÁÃÉÉ\\
|
||||
óÔÁ×ÒÏÐÏÌØÓËÉÊ ÇÏÓÕÄÁÒÓÔ×ÅÎÎÙÊ ÕÎÉ×ÅÒÓÉÔÅÔ\\
|
||||
\vfill{\@title}\vfill
|
||||
óÔÁ×ÒÏÐÏÌØ, \thisyear~Ç.
|
||||
\end{center}
|
||||
\end{titlepage}}
|
||||
|
||||
\def\specn@me{$\backslash$specname\{ÎÁÚ×ÁÎÉÅ\}}
|
||||
\newcommand{\specname}[1]{\gdef\specn@me{#1}}
|
||||
\def\specc@de{$\backslash$speccode\{ËÏÄ\}}
|
||||
\newcommand{\speccode}[1]{\gdef\specc@de{#1}}
|
||||
\def\h@urs{$\backslash$hours\{ÞÁÓÏ×\}}
|
||||
\newcommand{\hours}[1]{\gdef\h@urs{#1}}
|
||||
\def\s@mestr{$\backslash$semestr\{ÓÅÍÅÓÔÒ\}}
|
||||
\newcommand{\semestr}[1]{\gdef\s@mestr{#1}}
|
||||
\def\m@de{$\backslash$made\{ÄÁÔÁ\}}
|
||||
\newcommand{\made}[1]{\gdef\m@de{#1}}
|
||||
\newcommand{\progrtitle}%
|
||||
{\relax\ifx\@bktitle\@undefined
|
||||
\def\@bktitle{USE title\{name\}}
|
||||
\def\@title{\@bktitle}\fi%
|
||||
\begin{titlepage}
|
||||
\begin{center}
|
||||
íÉÎÉÓÔÅÒÓÔ×Ï ÏÂÒÁÚÏ×ÁÎÉÑ òÏÓÓÉÊÓËÏÊ æÅÄÅÒÁÃÉÉ\\
|
||||
óÔÁ×ÒÏÐÏÌØÓËÉÊ ÇÏÓÕÄÁÒÓÔ×ÅÎÎÙÊ ÕÎÉ×ÅÒÓÉÔÅÔ\\[1cm]
|
||||
\end{center}
|
||||
{\bf <<õÔ×ÅÒÖÄÁÀ>>\\ ðÒÏÒÅËÔÏÒ ÐÏ ÕÞÅÂÎÏÊ ÒÁÂÏÔÅ\\
|
||||
÷.ó.~âÅÌÏÚÅÒÏ×\\[10pt] \rule{4cm}{.2pt}\\
|
||||
<<\rule{1cm}{.2pt}>>\rule{2.5cm}{.2pt}\,20\rule{6mm}{.2pt}~Ç.}\\
|
||||
\begin{center}
|
||||
{\@title}\\
|
||||
{\bf ðòïçòáííá}\\
|
||||
ÄÌÑ ÓÔÕÄÅÎÔÏ×, ÏÂÕÞÁÀÝÉÈÓÑ ÐÏ ÓÐÅÃÉÁÌØÎÏÓÔÉ \specc@de~--- <<\specn@me>>
|
||||
\end{center}\vspace{1cm}
|
||||
{\bf ïÂßÅÍ ÚÁÎÑÔÉÊ\rm: ×ÓÅÇÏ \h@urs~ÞÁÓÏ×\\
|
||||
éÚÕÞÁÅÔÓÑ × \s@mestr~ÓÅÍÅÓÔÒÅ\\
|
||||
\bf òÁÚÒÁÂÏÔÁÎÁ: \rm ÓÔ. ÐÒÅÐÏÄÁ×ÁÔÅÌÅÍ ËÁÆÅÄÒÙ\\
|
||||
ÔÅÏÒÅÔÉÞÅÓËÏÊ ÆÉÚÉËÉ åÍÅÌØÑÎÏ×ÙÍ~ü.÷.\\
|
||||
\bf äÁÔÁ ÒÁÚÒÁÂÏÔËÉ: \rm \m@de\\
|
||||
\bf óÏÇÌÁÓÏ×ÁÎÁ: ÄÅËÁÎ æíæ\rm\\[10pt]
|
||||
\rule{2cm}{.2pt}/\rule{4cm}{.2pt}/\\
|
||||
<<\rule{1cm}{.2pt}>>\rule{2.5cm}{.2pt}\,20\rule{6mm}{.2pt}~Ç.\\
|
||||
\bf úÁ×. ËÁÆÅÄÒÏÊ\rm\\
|
||||
\rule{2cm}{.2pt}/\rule{4cm}{.2pt}/\\
|
||||
}\vspace*{-2cm}
|
||||
\begin{flushright}
|
||||
òÁÓÓÍÏÔÒÅÎÏ õíë æíæ\\
|
||||
<<\rule{1cm}{.2pt}>>\rule{2.5cm}{.2pt}\,20\rule{6mm}{.2pt}~Ç.\\
|
||||
ÐÒÏÔÏËÏÌ \No\rule{20pt}{.2pt}\\
|
||||
ðÒÅÄÓÅÄÁÔÅÌØ õíë \rule{3cm}{.2pt}
|
||||
\end{flushright}
|
||||
\vfill
|
||||
\centerline{óÔÁ×ÒÏÐÏÌØ, \thisyear~Ç.}
|
||||
\end{titlepage}}
|
||||
|
||||
|
||||
\newenvironment{qwest}{
|
||||
\smallskip
|
||||
\frstltr{?}\hbox to\textwidth{\hss\bf\large ÷ÏÐÒÏÓÙ ÄÌÑ ÓÁÍÏËÏÎÔÒÏÌÑ \hss}\nopagebreak
|
||||
\begin{enumerate}}
|
||||
{\end{enumerate}}
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
%%%%%%%%%%%% ðÒÁ×ÉÌØÎÏÅ ÄÅÊÓÔ×ÉÅ upper/lowercase %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
%\newcount\C@@NT\newcount\L@TT@R
|
||||
%\def\UL#1{\C@@NT=#1\advance\C@@NT by32
|
||||
%\lccode#1=#1\uccode#1=\C@@NT\lccode\C@@NT=#1\uccode\C@@NT=\C@@NT}
|
||||
%\L@TT@R=192
|
||||
%\loop\ifnum \L@TT@R<224 \UL{\L@TT@R}\advance\L@TT@R by1\repeat
|
||||
%\lccode`\£=`\£\lccode`\³=`\£\uccode`\£=`\³\uccode`\³=`\³
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
%%%%%%%%%%%%% ëÏÒÒÅËÃÉÑ ÄÌÑ bibtex'Ï×ÓËÉÈ ËÒÉ×ÙÈ ÓÔÉÌÅÊ %%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\def\bbljan{}\def\bblfeb{}\def\bblmar{}
|
||||
\def\bblapr{}\def\bblmay{}\def\bbljun{}
|
||||
\def\bbljul{}\def\bblaug{}\def\bblsep{}
|
||||
\def\bbloct{}\def\bblnov{}\def\bbldec{}
|
||||
|
||||
%% ËÏÍÍÅÎÔÁÒÉÉ
|
||||
\RequirePackage{pdfcomment}
|
||||
\setlength\marginparwidth{1.5cm}
|
||||
\setlength\marginparsep{3pt}
|
||||
\reversemarginpar
|
||||
\newcommand{\TODO}[1][]{\marginpar[\raggedleft?$\,\Rightarrow$\par\tiny #1]%
|
||||
{\raggedright$\Leftarrow\,$?\par\tiny #1}
|
||||
\pdfcomment[icon=Insert,color=red,author={TODO}]{#1}\xspace}
|
||||
% mark text with yellow
|
||||
\long\def\markup#1{\pdfmarkupcomment[markup=Highlight,color=yellow]{#1}\xspace}
|
||||
% comment
|
||||
\newcommand{\comment}[2][{}]{\pdfcomment[icon=Comment,color=red,author=#1]{#2}}
|
||||
% \strut ×ÎÕÔÒÉ ÑÞÅÊËÉ ÔÁÂÌÉÃÙ - ÄÌÑ Õ×ÅÌÉÞÅÎÉÑ ×ÙÓÏÔÙ (\baselineskip × ÔÁÂÌÉÃÅ ÒÁ×ÅÎ ÎÕÌÀ!)
|
||||
\def\tabstrut{\rule[-.3\normalbaselineskip]{0pt}{1.3\normalbaselineskip}}
|
||||
Loading…
x
Reference in New Issue
Block a user