%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Contents: Customising LaTeX output
% $Id: custom.tex 172 2008-09-25 05:26:50Z oetiker $
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\chapter{\LaTeX-г тохируулах}

\begin{intro}
ђмн°х білгіідэд судалсан тушаалуудын тусламжтайгаар баримтыг гојмсог биш ч гэсэн хэвлэлийн горимоор уншихад эвтэйхэн, эмх цэгцтэй аятайхан бэлтгэж чаддаг боллоо.

Гэвч \LaTeX{}-ийн тушаал, хірээлліід эсвэл зарим тушаалын боловсруулалтын дараах ір дін, хэрэглэгчийн шаардлагад нийцэхгій байж болох юм.

Энэ білэгт \LaTeX-ийн боловсруулалтаар іісэх нэгэн хэвийн загварыг °°рчл°х шинэ боломжийн талаар °гіілнэ.
\end{intro}


\section{Шинэ тушаал, хірээлэл ба багцууд}

Энэхіі номд тушаал бірийг тайлбарлахдаа тэдгээрийг хайрцаглаж, номын т°гсг°лийн товъјгт хавсарган оруулсан байгааг анзаарсан байх. “інийг гійцэтгэхдээ тухай бірд нь \LaTeX{} тушаалыг ашиглалгійгээр ажиллагааг х°нг°вчл°х ііднээс шинээр тушаал болон хірээллийг тодорхойлсон \wi{багц}ыг дараах маягаар іісгэж ашигласан болно:

\begin{example}
\begin{lscommand}
\ci{dum}
\end{lscommand}
\end{example}

Дээрх жишээнд хайрцаглах шинэ хірээллийг илтгэх \ci{lscommand}, тушаалын нэрийг бичиж товъјгт хавсаргах \ci{ci} гэсэн тушаалуудыг шинээр ашиглаж байна. Уг номын арын товъјгоос \ci{dum} тушаалын, тііний бичигдэн орсон хуудас бірийн дугаарыг харж болно.

Хэрэв тушаал бірийг хайрцаглахгій гэвэл \texttt{lscommand} хірээлэлд °°рчл°лт хийхэд хангалттай. Энэ нь \LaTeX{}-ийн хайрцаглах тушаалыг олон дахин бичиж, тіінийгээ нэгбірчлэн дахин засварлахаас зайлсхийх давуу талтай.

\subsection{Шинэ тушаалууд}

Шинээр тушаал іісгэхдээ
\begin{lscommand}
\ci{newcommand}\verb|{|%
       \emph{нэр}\verb|}[|\emph{тоо}\verb|]{|\emph{тодорхойлолт}\verb|}|
\end{lscommand}
\noindent гэсэн індсэн хојр хувьсагч біхий тушаалыг ашиглана. Тэдгээр хувьсагчдыг тайлбарлавал: \emph{нэр} гэдэг нь тухайн іісгэхийг хіссэн тушаалын нэр, \emph{тодорхойлолт} гэдэг нь уг тушаал. Д°рв°лжин хаалт доторх \emph{тоо} хувьсагч нь шинээр іісгэх тушаалд агуулагдах хувьсагчийн тоог (9 хіртэлх утга авна) илтгэнэ. Хэрэв іінийг б°гл°хгій орхивол іінд 0 гэсэн утга харгалзана, °°р°°р хэлбэл энд хувьсагч оноон °г°хгій байж болно.

Ойлгомжтой болгох ііднээс дараах хојр жишээг авч ізье. Эхний жишээнд \ci{tnss} гэсэн шинэ тушаал тодорхойлогджээ. Энэ тушаал нь ``\LaTeXe-ийн танилцуулга'' гэсэн °гіілбэрийг илэрхийлж байна. Иймэрхіі тушаал нь номын нэрийг ахин дахин дурдахад, ажиллагааг х°нг°вчл°х ііргийг гійцэтгэдэг.

\begin{example}
\newcommand{\tnss}{\LaTeXe-ийн
    танилцуулга}
Энэ бол ``\tnss'' \ldots{}
``\tnss''
\end{example}

Удаах жишээнд хувьсагчийг хэрхэн тодорхойлохыг ізіілжээ. Хувьсагчийн утгыг \verb|#1| гэсэн хаягт оноох б°г°°д хэрэв нэгээс олон хувьсагч тодорхойлох бол \verb|#2| гэх мэтээр зарлана.

\begin{example}
\newcommand{\txsit}[1]
 {Энэ бол \LaTeXe-ийн
  товч\emph{#1} танилцуулга}
% in the document body:
\begin{itemize}
\item \txsit{ бус}
\item \txsit{хон}
\end{itemize}
\end{example}

\LaTeX{} ижил нэрээр шинэ тушаал іісгэдэггій. Харин ііний оронд \ci{renewcommand} гэсэн тушаалыг ашиглаж болно. Энэ нь бичлэгийн хувьд \verb|\newcommand| тушаалтай ижил.

Зайлшгій тохиолдолд \ci{providecommand} тушаалыг ашиглаж болно. Энэ нь ажиллагааны хувьд \ci{newcommand} тушаалтай т°стэй боловч хэрэв уг тушаал дахин тодорхойлогдож байгаа тохиолдолд \LaTeXe{} іінийг хэрэгсдэггій.

Энд \LaTeX{} тушаалын ард орсон сул зайтай холбоотой асуудал х°нд°гд°н°. Энэ талаарх дэлгэрэнгійг \pageref{whitespace}-р хуудаснаас ізнэ іі.

\subsection{Шинэ хірээлліід}
\verb|\newcommand| тушаалтай яг адилаар \ci{newenvironment} тушаалыг ашиглан шинэ хірээлэл іісгэж бас болно:

\begin{lscommand}
\ci{newenvironment}\verb|{|%
       \emph{нэр}\verb|}[|\emph{тоо}\verb|]{|%
       \emph{эхлэл}\verb|}{|\emph{т°гсг°л}\verb|}|
\end{lscommand}

\ci{newenvironment} тушаалд м°н л дурын хувьсагч тодорхойлж болно. \emph{Эхлэл} хувьсагч доторх нь хірээлэл доторх текстээс урьтаж биелэх б°г°°д \emph{т°гсг°л} хувьсагч доторх нь \verb|\end{|\emph{нэр}\verb|}| тушаалын дараагаар биелнэ.

Доорх жишээнд \ci{newenvironment} тушаалыг хэрхэн ашиглахыг ізіілжээ.
\begin{example}
\newenvironment{king}
 {\rule{1ex}{1ex}%
      \hspace{\stretch{1}}}
 {\hspace{\stretch{1}}%
      \rule{1ex}{1ex}}

\begin{king}
Хілцэнгій номхон албат минь \ldots
\end{king}
\end{example}

\emph{Тоо} гэсэн хувьсагч нь \verb|\newcommand| тушаалд орсонтой ижил іірэг гійцэтгэнэ. \LaTeX{}, дахин хірээлэл тодорхойлохыг з°вш°°р°хгій б°г°°д харин \ci{renewenvironment} тушаалаар °мн° тодорхойлсон тушаалд °°рчл°лт оруулж болно. Энэ нь бичлэгийн хувьд м°н \ci{newenvironment} тушаалтай адилхан.

Дээрх жишээнд орсон тушаалуудтай хожим танилцах болно. \ci{rule} тушаалыг \pageref{sec:rule}-р хуудаснаас, \ci{stretch} тушаалыг \pageref{cmd:stretch}-р хуудаснаас, тіінчлэн \ci{hspace} тушаалын талаарх дэлгэрэнгійг \pageref{sec:hspace}-р хуудаснаас тус тус ізэж болно.

\subsection{Иліідэл зай}

Шинэ хірээлэлд алдаанд тооцож болохуйц иліідэл зай іісэх нь бий. Жишээлбэл, эхлэл болон т°гсг°лд°° догол м°р авдаггій хірээлэл іісгэх гээд ізье. \ci{ignorespaces} тушаал нь хірээллийн эхний хэсэг биелэгдсэний дараа тохиолдох сул зайг хэрэгсэхгій ба \LaTeX{}-д т°гсг°л хэсэгт арай °°р \ci{ignorespacesafterend} гэсэн тушаалыг ашигладаг.

\begin{example}
\newenvironment{simple}%
 {\noindent}%
 {\par\noindent}

\begin{simple}
Зіін захын\\ зайг ажигла.
\end{simple}
Энд м°н\\адил.
\end{example}

\begin{example}
\newenvironment{correct}%
 {\noindent\ignorespaces}%
 {\par\noindent%
   \ignorespacesafterend}

\begin{correct}
Зіін захад\\зай алга.
\end{correct}
Энд м°н\\адил.
\end{example}

\subsection{\LaTeX-ийн боловсруулах тушаал}

Юникс т°рлийн ійлдлийн системіідтэй ажиллах іед \LaTeX{} баримтыг боловсруулахад Makefiles ашиглах шаардлага тулгарч болох юм. \LaTeX{} дээр, боловсруулах тушаал тііний хувьсагчийн тусламжтайгаар нэг баримтыг хэд хэдэн янзаар іісгэн бэлтгэж болно. Хэрэв баримтдаа дараах тушаалыг нэмж оруулъя:

\begin{verbatim}
\usepackage{ifthen}
\ifthenelse{\equal{\blackandwhite}{true}}{
  % "хар цагаан" хувилбараар боловсруулах..
}{
  % "°нг°т" хувилбараар боловсруулах..
}
\end{verbatim}

Тэгвэл \LaTeX{} дээр дараах командыг биеліілж болно:
\begin{verbatim}
latex '\newcommand{\blackandwhite}{true}\input{test.tex}'
\end{verbatim}

Энд \verb|\blackandwhite| тушаал биелэгдэх ба хэрэв \verb|\blackandwhite| тушаалын утгыг false болговол баримтыг °нг°т°°р боловсруулан гаргана.

\subsection{Шинээр багц іісгэх}

Баримтын эхлэлд олон тооны шинэ хірээлэл болон тушаал іісгэх нь баримтыг нэлээд сунжруулах талтай байдаг. “інээс зайлсхийх алхам нь тэдгээр хірээлэл болон тушаалуудыг тусад нь шинэ \LaTeX{} багцад оруулж улмаар іісгэсэн багцаа \ci{usepackage} тушаалаар баримтдаа дуудаж оруулах явдал юм.

\begin{figure}[!htbp]
\begin{lined}{\textwidth}
\begin{verbatim}
% Тобиас Оетикерын туршилтын багц
\ProvidesPackage{demopack}
\newcommand{\tnss}{\LaTeXe-ийн товч бус танилцуулга}
\newcommand{\txsit}[1]{\LaTeXe-ийн
                       товч\emph{#1} танилцуулга}
\newenvironment{king}{\begin{quote}}{\end{quote}}
\end{verbatim}
\end{lined}
\caption{Жишээ багц.} \label{package}
\end{figure}

Багц іісгэнэ гэдэг нь ер°нхийд°° баримтын эхлэл хэсгийг, \texttt{.sty} °рг°тг°лтэй файлд салган оруулах явдал б°г°°д тэрхіі багц файлын эхлэлд дараах тушаал зарлагдсан байна
\begin{lscommand}
\ci{ProvidesPackage}\verb|{|\emph{багцын нэр}\verb|}|
\end{lscommand}
\noindent \verb|\ProvidesPackage| тушаалын тусламжтайгаар \LaTeX{} тухайн ашиглаж буй багцын нэрийг мэдээлэх т°дийгій уг багцыг давхардуулан ачаалах іеийн алдааны мэдээллийг харуулах болно. Дээрх тушаалыг агуулсан бяцхан жишээг \ref{package}-р зурагт ізіілэв.

\section{Фонт ба тііний хэмжээ}

\subsection{Фонт °°рчл°х тушаалууд}
\index{фонт}\index{фонтын хэмжээ} \LaTeX{}, баримтын логик бітцээс (білэг, зійлчлэл, \ldots) хамааруулан зохих фонт тііний хэмжээг тохируулдаг хэдий ч заримдаа тохиргоог гараар °°рчл°н оруулах шаардлага гардаг. Тохиргоог °°рчл°хд°° \ref{fonts} болон~\ref{sizes}-р хіснэгтіідэд ізіілсэн тушаалуудыг ашиглана. Фонт бірийн бодит хэмжээ нь тэдгээрийн загварыг тодорхойлох ба эдгээр нь баримтын т°р°л болон сонголтоос хамаардаг. \ref{tab:pointsizes}-р хіснэгтэд фонт бірийн, тэдгээрийг т°л°°л°х тушаалуудаар ердийн баримтын т°р°лд іісэх бодит хэмжээг харуулав.

\begin{example}
{\small Жижиг
\textbf{тод}}
{\Large том
\textit{налуу}.}
\end{example}

\LaTeXe{}-ийн нэг чухал онцлог чанар бол °мн° тодорхойлсон фонтын т°л°вийг хэвээр хадгалах буюу °°рчилж болдог фонтын т°л°вийн тусгаарлагдмал байдал юм.

\emph{Математик горимд} текстийн фонтыг °°рчл°х \emph{тушаалыг} ашиглахдаа \emph{математик горимоос} ердийн текст загвар уруу шилжих б°г°°д хэрэв математик фонтыг °°рчл°х бол \ref{mathfonts}-р хіснэгтэд ізіілсэн тусгай тушаалуудыг ашиглана.

\begin{table}[!bp]
\caption{Фонтууд.} \label{fonts}
\begin{lined}{12cm}
%
% Alan suggested not to tell about the other form of the command
% eg \verb|\sffamily| or \verb|\bfseries|. This seems a good thing to me.
%
\begin{tabular}{@{}rl@{\qquad}rl@{}}
\fni{textrm}\verb|{...}|        &      \textrm{\wi{босоо}}&
\fni{textsf}\verb|{...}|        &      \textsf{\wi{хэрчлээсгій}}\\
\fni{texttt}\verb|{...}|        &      \texttt{бичгийн машины}\\[6pt]
\fni{textmd}\verb|{...}|        &      \textmd{ердийн нарийн}&
\fni{textbf}\verb|{...}|        &      \textbf{\wi{тод}}\\[6pt]
\fni{textup}\verb|{...}|        &       \textup{\wi{ердийн хэрчлээстэй}}&
\fni{textit}\verb|{...}|        &       \textit{\wi{бичмэл}}\\
\fni{textsl}\verb|{...}|        &       \textsl{\wi{налуу}}&
\fni{textsc}\verb|{...}|        &       \textsc{\wi{Том}}\\[6pt]
\ci{emph}\verb|{...}|          &            \emph{онцолсон} &
\fni{textnormal}\verb|{...}|    &    \textnormal{ердийн}
\end{tabular}

\bigskip
\end{lined}
\end{table}


\begin{table}[!bp]
\index{фонтын хэмжээ}
\caption{Фонтын хэмжээ.} \label{sizes}
\begin{lined}{12cm}
\begin{tabular}{@{}ll}
\fni{tiny}      & \tiny        маш жижиг \\
\fni{scriptsize}   & \scriptsize  жижигхэн\\
\fni{footnotesize} & \footnotesize  жижиг \\
\fni{small}        &  \small            жижгэвтэр \\
\fni{normalsize}   &  \normalsize  ердийн \\
\fni{large}        &  \large       томовтор
\end{tabular}%
\qquad\begin{tabular}{ll@{}}
\fni{Large}        &  \Large       том \\[5pt]
\fni{LARGE}        &  \LARGE       томхон \\[5pt]
\fni{huge}         &  \huge        маш том \\[5pt]
\fni{Huge}         &  \Huge        асар том
\end{tabular}

\bigskip
\end{lined}
\end{table}

\begin{table}[!tbp]
\caption{Баримтын стандарт т°р°л дэх ісгийн бодит хэмжээ.}\label{tab:pointsizes}
\label{tab:sizes}
\begin{lined}{12cm}
\begin{tabular}{lrrr}
\multicolumn{1}{c}{хэмжээ} &
\multicolumn{1}{c}{10pt (індсэн) } &
           \multicolumn{1}{c}{11pt-ээр сонгоход}  &
           \multicolumn{1}{c}{12pt-ээр сонгоход}\\
\verb|\tiny|       & 5pt  & 6pt & 6pt\\
\verb|\scriptsize| & 7pt  & 8pt & 8pt\\
\verb|\footnotesize| & 8pt & 9pt & 10pt \\
\verb|\small|        & 9pt & 10pt & 11pt \\
\verb|\normalsize| & 10pt & 11pt & 12pt \\
\verb|\large|      & 12pt & 12pt & 14pt \\
\verb|\Large|      & 14pt & 14pt & 17pt \\
\verb|\LARGE|      & 17pt & 17pt & 20pt\\
\verb|\huge|       & 20pt & 20pt & 25pt\\
\verb|\Huge|       & 25pt & 25pt & 25pt\\
\end{tabular}

\bigskip
\end{lined}
\end{table}


\begin{table}[!bp]
\caption{Математик фонт.} \label{mathfonts}
\begin{lined}{0.7\textwidth}
\begin{tabular}{@{}ll@{}}
\fni{mathrm}\verb|{...}|&     $\mathrm{Roman\ Font}$\\
\fni{mathbf}\verb|{...}|&     $\mathbf{Boldface\ Font}$\\
\fni{mathsf}\verb|{...}|&     $\mathsf{Sans\ Serif\ Font}$\\
\fni{mathtt}\verb|{...}|&     $\mathtt{Typewriter\ Font}$\\
\fni{mathit}\verb|{...}|&     $\mathit{Italic\ Font}$\\
\fni{mathcal}\verb|{...}|&    $\mathcal{CALLIGRAPHIC\ FONT}$\\
\fni{mathnormal}\verb|{...}|& $\mathnormal{Normal\ Font}$\\
\end{tabular}

%\begin{tabular}{@{}lll@{}}
%\textit{Command}&\textit{Example}&    \textit{Output}\\[6pt]
%\fni{mathcal}\verb|{...}|&    \verb|$\mathcal{B}=c$|&     $\mathcal{B}=c$\\
%\fni{mathscr}\verb|{...}|&    \verb|$\mathscr{B}=c$|&     $\mathscr{B}=c$\\
%\fni{mathrm}\verb|{...}|&     \verb|$\mathrm{K}_2$|&      $\mathrm{K}_2$\\
%\fni{mathbf}\verb|{...}|&     \verb|$\sum x=\mathbf{v}$|& $\sum x=\mathbf{v}$\\
%\fni{mathsf}\verb|{...}|&     \verb|$\mathsf{G\times R}$|&        $\mathsf{G\times R}$\\
%\fni{mathtt}\verb|{...}|&     \verb|$\mathtt{L}(b,c)$|&   $\mathtt{L}(b,c)$\\
%\fni{mathnormal}\verb|{...}|& \verb|$\mathnormal{R_{19}}\neq R_{19}$|&
%$\mathnormal{R_{19}}\neq R_{19}$\\
%\fni{mathit}\verb|{...}|&     \verb|$\mathit{ffi}\neq ffi$|& $\mathit{ffi}\neq ffi$
%\end{tabular}

\bigskip
\end{lined}
\end{table}

Фонтын хэмжээг °°рчл°х тушаалд \wi{гој хаалт} нь \emph{хязгаар тогтоох} чухал іірэг гійцэтгэдэг. “ігээр \LaTeX{}-ийн ихэнх тушаалуудын ійлчлэх хірээг тогтооно.\index{хязгаар тогтоох}

\begin{example}
Тіінд {\LARGE том болон
{\small жижиг} ісгіід таалагддаг}.
\end{example}

Фонт °°рчл°х тушаалд догол (хоосон зай) орсон бол фонт °°рчл°х тушаалаар м°р хоорондох зай давхар °°рчл°гд°н°. Тиймээс гој хаалтыг \verb|}| хаахдаа анхаарах хэрэгтэй. Дараах хојр жишээнд орсон \ci{par} тушаалын байрлал бірд м°р хоорондох зай хэрхэн °°рчл°гд°ж байгааг анзаар.\footnote{\texttt{\bs{}par} нь хоосон м°ртэй яг ижил}


\begin{example}
{\Large Битгий унш!
 Энэ худлаа.
 Надад итгээрэй!\par}
\end{example}

\begin{example}
{\Large Энэ ч бас худлаа. Намайг
 худалч гэдгийг мэднэ биз дээ.}\par
\end{example}

Догол м°рийн фонтын хэмжээг тэр чигт нь °°рчл°х бол фонт °°рчл°х тушаалын хірээллийг ашиглах хэрэгтэй.

\begin{example}
\begin{Large}
Энэ худлаа.
Ингэхэд юу болоод байна аа \ldots
\end{Large}
\end{example}

\noindent Энэ нь олон дахин давхарлан хэрэглэх гој хаалтын тоог ц°°лд°г.

\subsection{Анхаарах зійлс}

Энэ білгийн эхэнд °гіілсэнчлэн баримтад тухайн мэдээллийг онцлох зорилгоор фонт °°рчл°х тушаалыг ахин дахин хэрэглэх явдал нь \LaTeX{}-ийн баримтын гадаад дотоод бітцийг ангилах зарчимд харшлах с°р°г талтай байдаг. Иймээс онцлох ійлдлийг гійцэтгэхдээ, фонт °°рчл°х індсэн тушаалыг ``логикийн багцлах тушаалыг'' тодорхойлох \verb|\newcommand| тушаалаар орлуулах хэрэгтэй юм.

\begin{example}
\newcommand{\oops}[1]{%
 \textbf{#1}}
ђр°°нд біі \oops{орогтун},
энд іл мэдэгдэх \oops{машин}
байна.
\end{example}

Энэ арга нь хожим фонт °°рчл°х \verb|\textbf| тушаалыг °°р тушаалаар °°рчл°х хэрэг гарахад баримтад орсон \verb|\textbf| тушаал бірийг олж, °°рчилб°л зохих ііргээр орсон эсэхийг тогтоосны індсэн дээр, °°рчл°х нісэр ажлыг хялбаршуулах давуу талтай юм.


\subsection{З°вл°мж}

Фонтын хэмжээ хэлбэртэй холбоотой асуудлыг ц°°н хэдэн ігээр цэглэе:\nopagebreak

\begin{quote}
  \small \texttt{Баримтад} \textsf{\textbf{\LARGE О}\texttt{Л}\textsl{О}Н} \textit{т°рлийн} \Huge фонт \tiny ашиглах \footnotesize \textbf{нь}
  \large \textit{баримтыг} \normalsize иліі \textsc{гаргацтай} \textsl{\textsf{сайхан} харагдуу\large л\Large д\LARGE а\huge г} гэдгийг \underline{\textbf{санагтун\Huge!}}
\end{quote}

\section{Зай}

\subsection{М°р хоорондын зай}

\index{м°р хоорондын зай} Баримтын м°р хоорондох зайг ихэсгэе гэвэл доорх
\begin{lscommand}
\ci{linespread}\verb|{|\emph{іржіілэгч}\verb|}|
\end{lscommand}
\noindent тушаалыг, зохих утгын хамтаар баримтын эхлэлд зарлах хэрэгтэй. М°р хоорондох зайг, \verb|\linespread{1.3}| тушаал нь ``нэг хагас'' м°рийн хэмжээтэйгээр, \verb|\linespread{1.6}| тушаал нь ``хојр'' м°рийн хэмжээтэйгээр тус тус авна. М°р хоорондох ердийн зай нь эдгээрээс бага буюу іржіілэгч утга нь~1 байна.\index{хојр м°рийн зай}

\ci{linespread} тушаал нь хэрэглэхэд нэлээд эрс тэс, хэвлэлд тохиромжгій тул м°р хоорондох зайг °°рчл°хд°° дараах тушаалыг ашиглах нь дээр:
\begin{lscommand}
\verb|\setlength{\baselineskip}{1.5\baselineskip}|
\end{lscommand}

\begin{example}
{\setlength{\baselineskip}%
           {1.5\baselineskip}
Энэ хэсгийн м°р хоорондох зай
°мн°х°°с°° 1.5 дахин сунажээ.
Энд par тушаалыг т°гсг°лд
ашиглаж байгааг анзаар.\par}

Гој хаалт хаагдсаны дараа
біх зійл эргээд хуучин
хэвэндээ орж байгааг энэхіі
догол м°рд харуулав.
\end{example}

\subsection{Догол м°рийн хэмжээ}\label{parsp}

\LaTeX{}-д догол м°рд зориулсан хојр хувьсагч бий. Оролтын файлын эхлэлд дараах тохиргоог хийснээр
\begin{code}
\ci{setlength}\verb|{|\ci{parindent}\verb|}{0pt}| \\
\verb|\setlength{|\ci{parskip}\verb|}{1ex plus 0.5ex minus 0.2ex}|
\end{code}
догол м°рийн хэмжээг °°рчилж болно. Эдгээр хојр тушаал нь догол м°р хоорондын хэмжээ болон догол зайн хэмжээг ихэсгэх буюу багасгадаг.

\TeX{}-д хуудасны догол м°рийг тохируулах шаардлагатай тохиолдолд догол м°рийн м°р алгасах зайн хэмжээг ихэсгэж багасгахад \texttt{plus} ба \texttt{minus} гэдгийг хэрэглэнэ.

Европт догол м°рийг гаргахдаа м°р хооронд тодорхой зай авч, м°рийг доголгійгээр эхліілдэг. Энэ нь гарчгийн жагсаалтын м°ріідийг нэлээд сийрэг болгох гээд байдаг. “інээс зайлсхийж, дээрх тушаалуудыг баримтын эхлэлд бус \verb|\tableofcontents| тушаалын доор зарлах буюу ихэнх мэргэжлийн номуудад догол м°рийн эхлэлд зай авдаг харин м°р хооронд нэмэлт зай авдаггійг харгалзаж, эдгээр тушаалыг ер°°с ашиглахгій байвал зохино.

Зійлийг догол м°р°°р эхліілэхийн тулд дараах тушаалыг
\begin{lscommand}
\ci{indent}
\end{lscommand}
\noindent зійлийн эхлэлд зарлах хэрэгтэй.\footnote{Білгийн гарчгийн араас эхлэх догол м°рд зай авахын тулд `tools' бірдлийн \pai{indentfirst} багцыг ашигла.} Мэдээж энэ нь \verb|\parindent| тушаалын утга тэгээс ялгаатай іед хічинтэй.

Зійлийг догол м°р°°р эхліілэхгій гэвэл дараах тушаалыг
\begin{lscommand}
\ci{noindent}
\end{lscommand}
\noindent зійлийн эхлэлд зарлана. “інийг шинэ білэг іісгэх тушаал агуулаагій дан текст біхий баримтын °мн° хэрэглэхэд тохиромжтой.

\subsection{Хэвтээ зай}

\label{sec:hspace}
\LaTeX{} іг болон °гіілбэр хоорондын зайг автоматаар тогтоодог. Хэвтээ зайг дараах тушаалаар авна: \index{хэвтээ!зай}
\begin{lscommand}
\ci{hspace}\verb|{|\emph{урт}\verb|}|
\end{lscommand}
М°рийн т°гсг°л буюу эхэн дэх хэвтээ зайг \verb|\hspace| бус \verb|\hspace*| тушаалаар хадгалан ілдээж болно. \emph{Уртыг} тоон утга тііний нэгжийн хамтаар илэрхийлнэ. Ихэнх чухал нэгжіідийг \ref{units}-р хіснэгтэд ізіілэв.
\index{нэгжіід}\index{хэмжигдэхіініід}

\begin{example}
Энэ зай\hspace{1.5cm}нь
1.5 сантиметр.
\end{example}
\suppressfloats
\begin{table}[tbp]
\caption{\TeX{}-ийн уртын нэгжіід.} \label{units}\index{нэгжіід}
\begin{lined}{9.5cm}
\begin{tabular}{@{}ll@{}}
\texttt{mm} & миллиметр $\approx 1/25$~ямх \quad \demowidth{1mm} \\
\texttt{cm} & сантиметр = 10~мм  \quad \demowidth{1cm}                     \\
\texttt{in} & ямх $=$ 25.4~мм \quad \demowidth{1in}                    \\
\texttt{pt} & цэг $\approx 1/72$~ямх $\approx \frac{1}{3}$~мм  \quad\demowidth{1pt}\\
\texttt{em} & энэхіі фонтын `M' ісгийн °рг°нтэй дійнэ \quad \demowidth{1em}\\
\texttt{ex} & энэхіі фонтын `x' ісгийн °нд°ртэй дійнэ \quad \demowidth{1ex}
\end{tabular}

\bigskip
\end{lined}
\end{table}

\label{cmd:stretch}
Тухайн м°рийн нийт ілдэгдэл хоосон зайг
\begin{lscommand}
\ci{stretch}\verb|{|\emph{n}\verb|}|
\end{lscommand}
\noindent гэсэн тушаалаар n тэнціі хэсэгт хувааж болох ба \verb|\hspace{\stretch{|\emph{n}\verb|}}| гэсэн хос тушаалаар тухайн м°рийн хоосон зайг тодорхой харьцаатайгаар хувааж болно.


\begin{example}
x\hspace{\stretch{1}}
x\hspace{\stretch{3}}x
\end{example}

Хэвтээ зайг текстэд ашиглахдаа хоосон зайн хэмжээг тухайн фонтын хэмжээнээс шууд хамаарахаар тохируулж болно. “іний тулд текстээс хамаарах \texttt{em} ба \texttt{ex} нэгжіідийг ашиглана:

\begin{example}
{\Large{}том\hspace{1em}y}\\
{\tiny{}маш жижиг\hspace{1em}y}
\end{example}

\subsection{Босоо зай}
\LaTeX{} нь догол м°р, білэг, дэд білэг хоорондын зайг автоматаар тохируулдаг. Шаардлагатай тохиолдолд \emph{догол м°р хоорондох} зайг дараах тушаалаар нэмж °°рчилж болно:
\begin{lscommand}
\ci{vspace}\verb|{|\emph{урт}\verb|}|
\end{lscommand}

Энэхіі тушаал нь хојр хоосон м°р хооронд орох јстой. Хэрэв хуудасны дээд буюу доод хэсэг дэх зайг хадгалан ілдээх шаардлагатай бол дээрх \verb|\vspace| тушаалын ард од тавих \verb|\vspace*| хэрэгтэй.
\index{босоо зай}

Текстийг хуудасны сіілийн м°рд оруулах буюу текстийг босоо тэнхлэгийн дагуу хуудсанд голлуулах тохиолдолд \verb|\stretch| ба \verb|\pagebreak| тушаалуудын хослолыг ашиглана.
\begin{code}
\begin{verbatim}
Текстіід \ldots

\vspace{\stretch{1}}
“інийг хуудасны сіілийн м°рд оруулна.\pagebreak
\end{verbatim}
\end{code}

Зійл \emph{хоорондох} буюу хіснэгтийн м°р хоорондох зайг °°рчл°хийн тулд дараах
\begin{lscommand}
\ci{\bs}\verb|[|\emph{урт}\verb|]|
\end{lscommand}
\noindent тушаалыг ашиглана.

\ci{bigskip} ба \ci{smallskip} тушаалуудаар босоо зайг, тодорхой зайн утга оноохгійгээр тогтоосон хэмжээнд авч болно.


\section{Хуудасны зохиомж}

\begin{figure}[!hp]
\begin{center}
\makeatletter\@mylayout\makeatother
\end{center}
\vspace*{1.8cm}
\caption{Хуудасны зохиомжийн хувьсагчууд.}
\label{fig:layout}
\cih{footskip}
\cih{headheight}
\cih{headsep}
\cih{marginparpush}
\cih{marginparsep}
\cih{marginparwidth}
\cih{oddsidemargin}
\cih{paperheight}
\cih{paperwidth}
\cih{textheight}
\cih{textwidth}
\cih{topmargin}
\end{figure}
\index{хуудасны зохиомж}
\LaTeXe{}-д \verb|\documentclass| тушаалаар \wi{цаасны хэмжээ}г тодорхойлж °гч болдог б°г°°д ингэснээр хуудасны \wi{зах}ад зохих текстийг автоматаар байрлуулдаг, іінийг °°рийнх°°р°° °°рчилж бас болно.
\thispagestyle{fancyplain}
\ref{fig:layout}-р зурагт °°рчилж болох хувьсагчуудыг ізіілэв. Уг зураг `tools' бірдлийн  \pai{layout} багцын тусламжтайгаар бітээгджээ.%
\footnote{\CTANref|macros/latex/required/tools|}

\textbf{БАЙЗ!} \ldots ``Хуудасны °рг°ний хэмжээг ихэсгэх'' гэж байгаа тохиолдолд \LaTeX-д ихэнх зійліід нь хуудасны хэмжээндээ зохицсон байдгийг бодолцох хэрэгтэй.

Энэ нь мэдээж MS Word программын ердийн хуудасны хэмжээг бодвол харьцангуй нарийхан. Гэхдээ °нд°р т°вшинд хэвлэгдсэн номын\footnote{Нэр хіндтэй хэвлэлийн газруудын хэвлэсэн номуудыг хэлж байна.} нэг м°рд агуулагдах тэмдэгтийн тоог дунджаар гаргавал м°р бірд ойролцоогоор 66-аас иліігій тэмдэгт орсон байх б°г°°д энэ нь \LaTeX{} хуудасны м°р бірд агуулагдах тэмдэгтийн тоотой яг дійнэ. Туршлагаас ізвэл м°рд агуулагдах тэмдэгтийн тоо ихсэх тусам уншихад хіндрэлтэй болдог байна. Энэ нь м°рийн эхлэлээс т°гсг°л хіртэл гійлгэн уншихад нід чилдэгтэй холбоотой учраас сониныг олон баганатайгаар хэвлэдэг ажээ.

Иймд м°рд агуулагдах тэмдэгтийн тоо олшрох тусам уншихад хіндрэлтэй болдог гэдгийг санах хэрэгтэй.

\LaTeX{}-д эдгээр хувьсагчдыг дараах хојр тушаалаар °°рчл°хд°° эдгээр тушаалуудыг ихэвчлэн баримтын эхэнд зарлана.

Эхний тушаал нь хувьсагчид тогтмол утга онооно:
\begin{lscommand}
\ci{setlength}\verb|{|\emph{хувьсагч}\verb|}{|\emph{урт}\verb|}|
\end{lscommand}

Хојр дахь тушаал нь хувьсагчийн уртыг нэмэгдіілнэ:
\begin{lscommand}
\ci{addtolength}\verb|{|\emph{хувьсагч}\verb|}{|\emph{урт}\verb|}|
\end{lscommand}

Хојр дахь тушаал нь індсэн тохиргооноос хамаарч ажилладаг тул \ci{setlength} тушаалаас иліі ір ашигтай юм. Текстийн °рг°нийг нэг сантиметрээр нэмэгдіілэхийн тулд баримтын эхлэлд доорх тушаалыг бичиж °гн°:
\begin{code}
\verb|\addtolength{\hoffset}{-0.5cm}|\\
\verb|\addtolength{\textwidth}{1cm}|
\end{code}

Энд \pai{calc} багцын талаар дурдахад энэ нь \ci{setlength} тушаалын функцийн іл хамаарах хувьсагчид болон функцийн іл хамаарах хувьсагчид тоон утга оноож болох бусад газруудад арифметик ійлдлийг ашиглахад хэрэглэгдэнэ.

\section{Урттай холбоотой °°р бусад зійліід}

\LaTeX{} баримтад абсолют уртыг ашиглахаас зайлсхийх бірэн боломжтой байдаг. Хуудасны туслах элементіідийн °нд°р °рг°ний талаар дурдъя. Зургийн °рг°нийг тохируулах \verb|\textwidth| тушаалаар зургийг тухайн хуудсанд нь багтааж болно.

Дараах 3 тушаалаар текстийн м°рийн °рг°н, °нд°р, доголын уртыг тогтоож болно.

\begin{lscommand}
\ci{settoheight}\verb|{|\emph{хувьсагч}\verb|}{|\emph{текст}\verb|}|\\
\ci{settodepth}\verb|{|\emph{хувьсагч}\verb|}{|\emph{текст}\verb|}|\\
\ci{settowidth}\verb|{|\emph{хувьсагч}\verb|}{|\emph{текст}\verb|}|
\end{lscommand}

\noindent Дараах жишээнд эдгээр тушаалыг хэрхэн ашиглахыг ізіілэв.

\begin{example}
\flushleft
\newenvironment{vardesc}[1]{%
  \settowidth{\parindent}{#1:\ }
  \makebox[0pt][r]{#1:\ }}{}

\begin{displaymath}
a^2+b^2=c^2
\end{displaymath}

\begin{vardesc}{“інд}$a$,
$b$ -- тэгш °нц°гт гурвалжны
сууриуд.

$c$ -- тэгш °нц°гт гурвалжны
гипотенуз.

$d$ -- тодорхойгій.
\end{vardesc}
\end{example}

\section{Хайрцгууд}
\LaTeX{}, хуудсыг бітээхдээ хайрцаглагдсан ісэг бірийг нийліілж іг болгоод тэдгээр ігсийг °°р хооронд нь дахин, хуудасны м°рд багтахуйц агшиж сунадаг байхаар нэгтгэдэг.

\TeX{}-ийн ажиллагааны талаар хялбараар тайлбарлахад ийм б°г°°д ііний гол зангилаа нь тііний хайрцаглан нэгтгэх зарчимд оршино. “сгээс гадна дурын °г°гдлийг хайрцаглаж болох б°г°°д тэдгээрт \LaTeX{} хайрцаглагдсан ганц ісгийг зохион байгуулахтай ижилхэн аргачлалыг хэрэгжіілдэг.

Хэдийгээр онцлон дурдаагій ч сіілийн білгіідэд \ei{tabular} хірээлэл болон \ci{includegraphics} гэх мэт хайрцаглах бітцэд тулгуурласан зарим нэг тушаалуудтай танилцсан билээ. ђ°р°°р хэлбэл, хіснэгт буюу зургийг тал бірээр нь текстийн °рг°н°°с иліігій урттайгаар т°в°ггійхэн нэгтгэн зохион байгуулах боломжтой нь харагдаж байна.

Білэг текстийг дараах

\begin{lscommand}
\ci{parbox}\verb|[|\emph{байр}\verb|]{|\emph{°рг°н}\verb|}{|\emph{текст}\verb|}|
\end{lscommand}

\noindent тушаал буюу

\begin{lscommand}
\verb|\begin{|\ei{minipage}\verb|}[|\emph{байр}\verb|]{|\emph{°рг°н}\verb|}| текст
\verb|\end{|\ei{minipage}\verb|}|
\end{lscommand}

\noindent хірээллээр хайрцаглаж болно. \texttt{Байр} хувьсагч нь хайрцгийг біхэлд нь босоо тэнхлэгийн хувьд шилжіілэх \texttt{c, t} буюу \texttt{b} утгуудыг авна. \texttt{ђрг°н} хувьсагч нь хайрцгийн °рг°ний уртыг тодорхойлно. \ei{minipage} ба \ci{parbox} хојрын індсэн ялгаа нь \ei{parbox} тушаалд, тушаал болон хірээлліід ійлчилдэггій байхад \ei{minipage} хірээлэлд эдгээр нь індсэн ііргээ гійцэтгэдэг ажээ.

\ci{parbox} тушаалаар, босоо тэнхлэгийн хувьд білэг текстэд м°р таслах болон бусад ійлдлийг гійцэтгэж болдог байхад \ci{mbox} мэтийн тушаалаар хэвтээ тэнхлэгийн дагуу ійлдэл гійцэтгэж болно. Энэ нь хэд хэдэн хайрцгийг нэг хайрцагт нэгтгэх болон \LaTeX{}-г іг хооронд таслахаас зайлсхийх боломжийг олгоно. Хайрцгийг дахин хайрцаглах боломжтой учраас хэвтээ тэнхлэгийн дагуух хайрцаглах ійлдэл нь нэлээд уян хатан чанартай байдаг.

\begin{lscommand}
\ci{makebox}\verb|[|\emph{°рг°н}\verb|][|\emph{байр}\verb|]{|\emph{текст}\verb|}|
\end{lscommand}

\noindent \texttt{°рг°н} нь гаднах хайрцгийн °рг°ний хэмжээг тодорхойлно.\footnote{Гаднах хайрцаг нь доторх бичвэрээсээ жижиг байж болох ба хайрцгийн уртыг 0pt гэж сонгож гаднах хірээг харагдуулахгій байж бас болно.} М°н тіінчлэн хайрцгийн °рг°ний хэмжээг уртын хэмжигдэхіінээр илэрхийлж болохоос гадна \emph{текстийн} уртын харьцангуй хэмжээг \ci{width}, \ci{height}, \ci{depth}, ба \ci{totalheight} тушаалуудаар илэрхийлж болно. \emph{байр} хувьсагчид дараах ганц ісгіід оногдоно: \textbf{c} голлуулан, \textbf{l} зіін тийш, \textbf{r} баруун тийш, буюу \textbf{s} текстийг хайрцагт сунган тус тус байрлуулах.

\ci{framebox} тушаал нь \ci{makebox} тушаалтай яг ижилхэн боловч текстийн гаднах хайрцгийн хірээг гаргадаггій.

Эдгээр \ci{makebox} ба \ci{framebox} тушаалуудыг хэрхэн хэрэглэхийг дараах жишээгээр харуулъя.

\begin{example}
\makebox[\textwidth]{%
    т ° в}\par
\makebox[\textwidth][s]{%
    с у н г а м а л}\par
\framebox[1.1\width]{
    Хайрцаглагдчихлаа!} \par
\framebox[0.8\width][r]{Дэндіі,
    урт байна} \par
\framebox[1cm][l]{зігээр
    ээ, энэ ч бас}
“інийг уншиж чадаж байна уу?
\end{example}

Бид хайрцаглах ійлдлийг хэвтээ тэнхлэгийн хувьд авч ізлээ, тэгвэл одоо босоо тэнхлэгийн хувьд авч ізье.\footnote{Хайрцаглах ійлдэл нь хэвтээ ба босоо гэсэн хојрхон тэнхлэгт ійлчилдэг.}
\LaTeX{}-ийн хувьд хайрцаглах ійлдлийг босоо тэнхлэгийн хувьд


\begin{lscommand}
\ci{raisebox}\verb|{|\emph{дээш}\verb|}[|\emph{гол-шугамаас-дээш-нь}\verb|][|\emph{гол-шугамаас-доош-нь}\verb|]{|\emph{текст}\verb|}|
\end{lscommand}

\noindent тушаалаар т°в°ггійхэн гійцэтгэдэг. Уг тушаалын эхний гурван хувьсагчид, \emph{текст} хэмээх іл хамаарах хувьсагчийн хайрцгийн байрлалын хэмжээг тохируулах \ci{width}, \ci{height}, \ci{depth}, ба \ci{totalheight} тушаалуудыг ашиглаж болно.


\begin{example}
\raisebox{0pt}[0pt][0pt]{\Large%
\textbf{Аааа\raisebox{-0.3ex}{а}%
\raisebox{-0.7ex}{аа}%
\raisebox{-1.2ex}{а}%
\raisebox{-2.2ex}{а}%
\raisebox{-4.5ex}{а}}}
гэж тіінийг хашхирахад ойр
хавийнхан нь тіінд аюул
тулгарсныг огтхон ч анзаарсангій
\end{example}

\section{Хэвтээ шугам}
\label{sec:rule}

Энэ білгийн эхэнд доорх тушаалыг хальт дурдсан билээ.

\begin{lscommand}
\ci{rule}\verb|[|\emph{дээш}\verb|]{|\emph{°рг°н}\verb|}{|\emph{°нд°р}\verb|}|
\end{lscommand}

\noindent Ердийн тохиолдолд энэхіі тушаалаар битіі хайрцгийг дірсэлдэг.

\begin{example}
\rule{3mm}{.1pt}%
\rule[-1mm]{5mm}{1cm}%
\rule{3mm}{.1pt}%
\rule[1mm]{1cm}{5mm}%
\rule{3mm}{.1pt}
\end{example}

\noindent Хэвтээ ба босоо шугамуудыг дірслэхэд тохиромжтой байдгаар нь энэ номын ніір хуудасны шугамыг \ci{rule} тушаалаар зурсан юм.

\bigskip
{\flushright Т°гс°в.\par}

%

% Local Variables:
% TeX-master: "lshort2e"
% mode: latex
% mode: flyspell
% End:
