\documentclass[a4paper,9pt]{article}
\usepackage[T1,T2A,T8K,T8M]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{amsmath}
\usepackage[english,russian,georgian]{babel}
\usepackage{index}
\usepackage[columns=3,totoc=true]{idxlayout}
\usepackage{nomencl}
\usepackage[plainpages=false,bookmarksopen,pdfpagelabels,bookmarksnumbered,unicode=true,hyperindex=true,pagebackref=true]{hyperref}
%
\usepackage{nameref}
\newcommand{\Index}[1]{\index{#1}#1}
\hyphenation{ჯამ-ში მუხ-ტი-სათ-ვის გან-სა-კუთ-რე-ბუ-ლი}
\makeindex
\makenomenclature
\renewindex{default}{idx}{ind}{საძიებელი}
\renewcommand\nomname{აღნიშვნები}
\begin{document}
\sloppy
\title{Geo\TeX{} ქართული ენა \TeX{} სისტემაში}
% repeat info for each author.
\author{ლევან შოშიაშვილი\\
\small ელექტრული და ელექტრონული ინჟინერიის დეპარტამენტი\\[-0.8ex]
\small ზუსტ და საბუნებისმეტყველო მეცნიერებათა ფაკულტეტი\\[-0.8ex]
\small ივ. ჯავახიშვილის თბილისის სახ. უნივერსიტეტი,\\[-0.8ex]
\small ჭავჭავაძის გამზ.\textnumero3 , თბილისი, საქართველო\\[-0.8ex]
\small \textsf{shoshia@hotmail.com}\\
}
\date{12 მარ. 2013}
%\netaddress{levan.shoshiashvili (at) tsu.ge}
%\personalURL{http://lshoshia.science.tsu.ge} 

\maketitle
\tableofcontents
\begin{abstract}
ამ დოკუმენტში განხილულია ქართული ენის პაკეტის გამართვა და გამოყენება \TeX{} \LaTeX{}
სისტემისთვის
\end{abstract}
\section{გამართვა}
სანამ პაკეტს გავმართავთ საჭიროა რომ \TeX{} ბაზური პაკეტი მაინც უნდა იყოს გამართული მანქანაზე
და მუშაობდეს. ეს შეიძლება იყოს \Index{MikTeX} ან \Index{TeXLive} Windows ოპერატიული სისტემისათვის ან
 TeXLive Linux/Unix MacOSX სისტემებისთვის. ასევე სასურველია გვქონდეს ლოკალური \TeX{}
 დირექტორია.  Linux/Unix სისტემებისთვის ეს შეიძლება იყოს \verb|$HOME/texmf| ან თუ გსურთ
 სისტემისთვის გამართვა იხ. თქვენი \TeX{} დისტრიბუტივის დოკუმენტაცია.
 \subsection{MikTeX}
\begin{itemize}
\item  გადმოიტვირთეთ და გამართეთ MikTeX \verb|http://miktex.org| .
\item ვქმნით  \TeX{} ლოკალურ დირექტორიას. მაგ. \verb|D:\texmf|\footnote{ლოკალური დირექტორია უნდა იმეორებდეს \TeX{} დირექტორიის სტრუქტურას} .
\item უნდა ვაცნობოთ სისტემას ამ დირექტორიის შესახებ. ამისათვის \\
$$Start\rightarrow Program Files \rightarrow Miktex 2.9\rightarrow Maintenance\rightarrow Settings\footnote{იმის მიხედვით თუ რა Windows სისტემა და  Miktex რა ვერსია დგას, ბრძანება შეიძლება განსხვავებული იყოს}$$
\item გადავალთ მეორე ტაბზე (roots), ჩავურთავთ "Show MikTeX-Maintained root directories".
გამოჩნდება რა დირექტორიები ესმის \TeX{} სისტემას. "Add.."  ღილაკით ვირჩევთ ლოკალურ დირექტორიას  \verb|D:\texmf|.
\item ვბრუნდებით პირველ ტაბზე და ვირჩევთ "Refresh FNDB"\footnote{ეს ბრძანება იგივეა, რაც
ბრძანებათა ფანჯარაში(კონსოლში) გაუშვათ ბრძანება$texhash$. ეს მუშაობს Linux/Unix სისტემებში}.
\item გადმოიტვირთეთ GeoTeX პაკეტი \verb|http://tex.tsu.ge|  და გახსენით
ლოკალურ დირექტორიაში.
\item ვბრუნდებით პირველ ტაბზე და ვირჩევთ "Refresh FNDB". ეხლა სისტემამ იცის 
ქართული ენის ფაილების შესახებ, მაგრამ ჯერ არ იცის ფონტების შესახებ. ამისათვის
\item დააწკაპუნეთ $Start$ და ველში აკრიფეთ $cmd$. მიიყვანეთ მაუსი $cmd$ და მარჯვენა ღილაკზე
დაწკაპუნებით აირჩიეთ $Run as Administrator$ და გაუშვით შემდეგი ბრძანება
\begin{verbatim}
updmap --force --verbose 
\end{verbatim}
ან
\begin{verbatim}
initexmf --mkmaps --force --verbose 
\end{verbatim}
\item ვბრუნდებით პირველ ტაბზე და ვირჩევთ "Refresh FNDB". ეხლა სისტემამ იცის 
ქართული ენის ფაილების და ფონტების შესახებ.
\item შეასრულეთ "Refresh FNDB" ოღონდ
$$Start\rightarrow Program Files \rightarrow Miktex 2.9\rightarrow Maintenance Admin\rightarrow Settings$$ გამოყენებით
\end{itemize}
 \subsection{ავტომატური დამარცვლა და გადატანა}
 \Index{ავტომატური დამარცვლა} გადატანა მუშაობს, მაგრამ ჯერჯერობით არაა დამატებული დისტრიბუტივებში. ავტომატური დამარცვლა გადატანა თანამედროვე ვერსიებში ხორციელდება
\verb| hyph-utf8| პაკეტის საშუალებით. როცა MikTeX და TeXLive განაახლებენ ამ პაკეტს ქართული
ავტომატურად იქნება. თუ გსურთ ავტომატური დამარცვლა გადატანა უნდა განაახლოთ
\verb| hyph-utf8| პაკეტი. ბოლო ვერსია იხ. აქ:  \verb| http://tug.org/svn/texhyphen/trunk/hyph-utf8/|
\begin{itemize}
\item განაახლეთ \verb| hyph-utf8| პაკეტი სისტემურ დირექტორიაში. განაახლეთ ბაზა("Refresh FNDB" როგორც ზემოთ ან \verb|texhash| კონსოლში)
\item \verb|c:\Program Files\MiKTeX 2.9\tex\generic\config\| დირექტორიაში ნახეთ
\verb|language.def language.dat| ფაილები\footnote{თუ არაა შექმენით}.
\verb|language.def| ფაილს  აქვს შემდეგი სახე (ქართულის ჩამატების შემდეგ)
\begin{verbatim}
% Note: the first line of this file must match the corresponding line
% in "etex.src" and "etexdefs.lib", otherwise fallback will be used.

% This is "language.def", e-TeX's language definition file.

% It is explicitly permitted to augment this file by adding additional
% \addlanguage ... commands AFTER the first (\addlanguage {USenglish})
% which must remain as the first language added to ensure total document
% portability for pre-\language documents.  The last line of the file
% MUST be left as \uselanguage {USenglish} for the sane reason.

\addlanguage {USenglish}{hyphen}{}{2}{3} %%% This MUST be the first
										% % non-comment
                                         %%% line of the file

% Additional languages, patterns, exceptions and left- and right-hyphen
% minima may be added here, and an example is given for German.
\addlanguage {georgian}{hyp-ka}{}{2}{2} 
\def\l@georgian{\lang@georgian}
                                      

% The five parameters for \addlanguage are:
% language, patterns file, exceptions file, left- and right-hyphen minima

%%% Next section is      E X A M P L E   O N L Y
%%% \addlanguage {German}{ghyph31}{}{2}{2}   %%% further such lines 
% %may be used;
%%% Previous section is  E X A M P L E   O N L Y

%%% No changes may be made beyond this point.

\uselanguage {USenglish} %%% This MUST be the last line of the file. 
\end{verbatim}
\item \verb|language.dat| ფაილში ჩაწერეთ:\\
\verb|georgian loadhyph-ka.tex|
\item განაახლეთ ბაზა("Refresh FNDB" როგორც ზემოთ ან \verb|texhash| კონსოლში)
\item ფორმატების განახლება  \verb|initexmf --dump|\footnote{Linux/Unix სისტემებში ანალოგიური
ბრძანებაა $fmtutil -all$,$fmtutil-sys$ } 
\end{itemize}
ამის შემდეგ სისტემას უნდა შეეძლოს ქართულის ავტომატურად დამარცვლა და გადატანა.
\section{პირველი ნაბიჯები}
მას შემდეგ რაც პაკეტი გამართულია შესაძლებელია ქართულად დოკუმენტების შექმნა.
ამისთვის შეიძლება გამოიყენოთ ნებისმიერი ტექსტური რედაქტორი, მაგრამ არსებობენ
\TeX{} სისტემისთვის სპეციალური რედაქტორები: Texmaker \verb|www.xm1math.net/texmaker/|, TexStudio \verb|texstudio.sourceforge.net|, texniccenter \verb|http://www.texniccenter.org/|,
winedt \verb|http://www.winedt.com/|. \footnote{ეს დოკუმენტი დამზადებულია TexStudio ედიტორში.}
შესატანი ქართული ტექსტი უნდა იყოს უნიკოდ (utf-8) კოდირებაში.

\LaTeX{} აქვს 3 ბაზური კლასი: Article (სტატია), Report (ანგარიში), book (წიგნი).
მინიმალურ დოკუმენტს აქვს შემდეგი სახე:
\begin{verbatim}
\documentclass[a4paper]{article}
\usepackage[T1,T2A,T8K,T8M]{fontenc} %ვიყენებთ ინგლისურ, 
                                        %რუსულ და ქართულ ფონტებს
\usepackage[utf8]{inputenc} %ტექსტის კოდირება
\usepackage[english,russian,georgian]{babel} %დოკუმენტის 
                                                   %ძირითადი ენაა ქართული
\begin{document}
დოკუმენტის ტექსტი...
\end{document}
\end{verbatim}
ქართულ ანბანზე ბაზირებული სხვა სკრიპტებისთვის (მეგრულ,ლაზურ,ჭანური,სვანური) რომლებსაც სჭირდებათ უმლაუტები  შესაძლებელია  \TeX ფუნქციების გამოყენებით აქცენტების მიღება ქართულის შემთხვევაშიც. მაგალითად:\\
\'{ა} \.{ა} \H{ა} \`{ა} \"{ა}  \^{ა} \d{ა} \~{ა} \u{ა}  \={ა} \v{ა} \t{აბ} \\
ტეხის მოთხოვნებიდან გამომდინარე და იმის გამო რომ ქართული სრულად ვერ აისახება 1 ფონტში საჭირო შეიქმნა T8 კოდირების 2 ვარიანტი T8M და
T8K-ასომთავრული-მხედრული და ხუცური-მხედრული \footnote{დაწვრილებით ამ კოდირების შესახებ იხ. kaencodings.tex}.თუ ჩავრთავთ  amsmat პაკეტის, 
მაშIნ შეგვიძლია გვქონდეს შემდეგი სახის ტექსტი: $\bar{\text{ა}} $, 
$\overset{\text{ა}}{\text{ბ}} \text{უ}^{\text{ბ}}$.\\
ლატეხის \emph{{\bfseries babel }} პაკეტში დამატებულია ქართული ენა და თარგმნილია ტერმინები. \emph{{\bfseries babel }} ავტომატურად ტვირთავს ჯერ  T8K , ხოლო შემდეგ  T8M კოდირებას რაც ნიშნავს რომ დოკუმენტის ძირითადი კოდირება იქნება  T8M (ასომთავრულ-მხედრული). თუ თქვენ გსურთ რომ ძირითადი კოდირება იყოს  T8K მაშინ დოკუმენტის პრეამბულაში აძლევთ ბრძანებას
\begin{verbatim}
\usepackage[english,georgian]{babel}
\usepackage[T8M,T8K]{fontenc}
\end{verbatim}
ასეთ დოკუმენტში აიკრიფება მხედრულ-ხუცური ტექსტი გადართვის გარეშე, ხოლო ასომთავრული ტექსტის წინ საჭიროა
ბრძანება 
{\mrglovani
\begin{verbatim}
\mrglovani
მაგალითად
{\mrglovani ასომთავრული ტექსტი }
\end{verbatim}
}
{რაც მოგვცემს: \mrglovani ႠႱႭႫႧႠႥႰႳႪႨ }
\\
თუკი ძირითადი კოდირება არის T8M მაშინ ხუცური ტექსტის წინ საჭიროა

\begin{verbatim}
{\khucuri   ხუცური ტექსტი}
\end{verbatim}
რაც მოგვცემს: {\khucuri   ⴞⴓⴚⴓⴐⴈ ⴒⴄⴕⴑⴒⴈ}

ეს გამოწვეულია იმით რომ მიმდინარე კოდირება შეიძლება იყოს მხოლოდ ერთი და ხუცური და ასომთავრული (მრგლოვანი) განმარტებულია სხვადასხვა კოდირებებში.
\section{საძიებელი\--ტექსტის ინდექსირება}
\TeX{} ბაზური პაკეტი $makeidx$ მუშაობს ქართული ტქსტებისათვის, მაგრამ
გამოსავალი ფაილი არის ე.წ. ტეხის შენაგან წარმოდგენაში, ანუ მაკროსების ენაზე
და არა utf-8  ტექსტური ფაილი. უნიკოდ ტექსტებისთვის (და ქართულისთვისაც ცხადია)
იდეალურად მუშაობს ინდექსატორი xindy, რომელსაც აქვს დამატებული ქართულის
მხარდაჭერა. მაგრამ ეს პაკეტი არ არსებობს Wondows OS გავრცელებულ MikTeX
 დისტრიბუტივში. მაგრამ აქაც შესაძლებელია ინდექსირების გამოყენება index  პაკეტის
 საშუალებით.

 დოკუმენტის  პრეამბულაში ჩაამატეთ
 \begin{verbatim}
\usepackage{index}
\usepackage[columns=3,totoc=true]{idxlayout}
\newcommand{\Index}[1]{\index{#1}#1}
\makeindex
\renewindex{default}{idx}{ind}{საძიებელი}
 \end{verbatim}
 ეს საშუალებას მოგვცემს გვქონდეს საძიებელი დოკუმენტში და ინდექსირებულ იქნას
 საჭირო სიტყვები როგორც \verb|Index{სიტყვა}|. ხოლო საძიებლის დოკუმენტში ჩასამატებლად
 ვიყენებთ ბრძანებას \verb|\printindex}| იმ ადგილას სადაც გვსურს საძიებლის ჩვენება.
 
 მაგრამ ეს არაა საკმარისი. მას შემდეგ რაც ინდექსატორი გააკეთებს ინდექსირებას(Build ბრძანება
 TeXstudio შემთხვევაში) საძიებლის შესაქმნელად საჭიროა გაიცეს ბრძანება (კონსოლზე ან ვამატებთ TeXstudio ბრძანებებში)
 \begin{verbatim}
 makeindex.exe    "failissaxeli".idx
 \end{verbatim}
 ეს $failissaxeli.idx$ უკვე შექმნილია Build ბრძანების შემდეგ. ასევე
 შეიძლება ბრძანებაში მიეწოდოს ინდექსის სტილი (მაგ. $latex.ist$)
ამის შემდეგ კი  საჭიროა კიდევ ერთხელ გავუშვათ ფაილი კომპილაციაზე.
\section{ნომენკლატურა (ტერმინების და სიმბოლოების განმარტება)}
 დოკუმენტის  პრეამბულაში ჩაამატეთ
 \begin{verbatim}
\usepackage{nomencl}
\makenomenclature
\renewcommand\nomname{აღნიშვნები}
 \end{verbatim}
 ფაილის კომპილაციაზე გაშვების შემდეგ
  \begin{verbatim}
  makeindex <filename>.nlo -s nomencl.ist -o <filename>.nls
  \end{verbatim}
  და შემდეგ ისევ გაუშვით ფაილი კომპილაციაზე. ცხადია დოკუმენტში უნდა
   იყოს ბრძანება \verb|\printnomenclature|  სადაც გსურთ რომ აღნიშვნების ცხრილი
   დაიბეჭდოს დოკუმენტში.
 \boldmath
 \nomenclature{$ \sigma$}{გამტარებლობა}
  \nomenclature{$E$}{ელექტრული ველი}
\section{დამატებითი ინფორმაცია}
\LaTeX{} სისტემა მრავალფეროვანი ფართოდ გამოყენებადი
სისტემაა როოგრც ტექნიკურ\--საბუნებისმეტყველო ასევე 
ჰუმანიტარულ მეცნიერებებში. \LaTeX{} შესწავლის საუკეთესო
გზა მისი გამოყენებაა. ამ დოკუმენტის წყარო და სხვა \LaTeX{} 
მაგალითები შეგიძლიათ იხილოთ Geo\TeX{} საიტზე
\verb|http://tex.tsu.ge|
\printnomenclature
\printindex
\end{document}

პრობლემების არსებობის შემთხვევაში შეგიძლიათ მოგვმართოთ  \verb|http://tex.tsu.ge|
\geo