Search This Blog

Wednesday, February 22, 2017

မြန်မာဘာသာ အတွက် LaTeX Report ပုံစံ

XeLaTeX ကို အသုံးပြု၍ မြန်မာ ဘာသာဖြင့် report ရေးသားရန် နမူနာ ပုံစံ ( template) တစ်ခု ဖြစ်သည်။

https://github.com/yan9a/LaTeX_Myanmar_Language တွင် တွေ့နိုင်သည်။

မြန်မာဘာသာဖြင့် ရေးသား ထားသည် များကို အသုံးပြုရန် ယူနီကုဒ်ကို ထောက်ပံ့သော XeLaTeX ကို အသုံးပြုရန် လိုသည်။ XeLaTeX စမ်းသပ်ရန် ရိုးရှင်းသည့် နမူနာ များအား အရင် ပို့စ် အဟောင်း တခု ဖြစ်သော Myanmar (Burmese) Language with XeTeX and LuaTeX တွင် တွေ့နိုင်သည်။ မြန်မာ ဘာသာဖြင့် သုံးရန် လိုအပ်သည်မှာ burmese.sty ကို folder တစ်ခုထဲမှာ ထားပြီး report ၏အစတွင်
\usepackage{burmese}
ကို ထည့်လိုက်ရုံသာ ဖြစ်သည်။ နမူနာ အနေနှင့် အသုံးများသော LaTeX editor တစ်ခုဖြစ်သည့် TeXstudio ကိုသုံးမည်။ အသုံးပြုသည့် မြန်မာဖောင့်ကို ပြင်လိုပါက burmese.sty ဖိုင်တွင် ပြင်ရမည်။ ဥပမာ Pyidaungsu ဖောင့်သုံးလိုပါက
\setmainfont{Myanmar Text}
နေရာတွင်
\setmainfont{Pyidaungsu}
ဟုပြင်နိုင်သည်။
Options menu > Configure TeXstudio... ကို နှိပ်၍ General > Font တွင် IDE အတွက် မြန်မာ ဖောင့်ကို ရွေးပါ။ ထို pop-up window ၌ပင် Build > Default Compiler အတွက် XeLaTeX ကိုရွေးပါ။ Editor > Font Family တွင် editor အတွက် မြန်မာဖောင့် ရွေးပါ။


မြန်မာပြန်ဆိုချက်များကို ပြင်လိုပါက burmese.sty ဖိုင်တွင် ဥပမာ မာတိကာ ဆိုပါက
\renewcommand { \contentsname } { မာတိကာ } 
ဟူသည့် စာကြောင်းတွင် လိုသလို ပြင်နိုင်သည်။ burmese.sty ကို အောက်တွင် ပြထားသည်။
\ProvidesPackage{burmese}[2017/02/09 Burmese Language Package]

\RequirePackage{fontspec}
%-----------------------------------------------------------------
\DeclareOption{MyanmarText}{
 \setmainfont{Myanmar Text}
}

\DeclareOption{Pyidaungsu}{
 \setmainfont{Pyidaungsu}
}

\DeclareOption{Padauk}{
 \setmainfont{Padauk}
}

\ExecuteOptions{MyanmarText}
\ProcessOptions\relax
%-----------------------------------------------------------------
\makeatletter
\def\@burmesenumber#1{\expandafter\@@burmesenumber\number#1\@nil}
\def\@@burmesenumber#1{%
 \ifx#1\@nil
 \else
 \char\numexpr#1+"1040\relax
 \expandafter\@@burmesenumber\fi}
\def\burmesecounter#1{\expandafter\@burmesenumber\csname c@#1\endcsname}
\def\burmesenumeral#1{\@@burmesenumber#1\@nil}
\makeatother
%-----------------------------------------------------------------
\newcommand{\mmmonthname}[1][]{
 \ifcase 
 #1 
 \or ဇန်နဝါရီ
 \or ဖေဖော်ဝါရီ
 \or မတ်
 \or ဧပြီ
 \or မေ
 \or ဇွန်
 \or ဇူလိုင်
 \or သြဂုတ်
 \or စက်တင်ဘာ
 \or အောက်တိုဘာ
 \or နိုဝင်ဘာ
 \or ဒီဇင်ဘာ
 \fi
}
\makeatletter
\let\c@year\year
\makeatother
%\setcounter{year}{2017}
\renewcommand{\THEYEAR}{\burmesecounter{year}}
\renewcommand{\monthname}{\mmmonthname}
%-----------------------------------------------------------------
\renewcommand{\bibname}{အကိုးအကားများ}%change Bibliography       
\renewcommand{\contentsname}{မာတိကာ}                 
\renewcommand{\listfigurename}{ပုံများ}
\renewcommand{\listtablename}{ဇယားများ} 
\renewcommand{\chaptername}{အခန်း}
\renewcommand{\figurename}{ပုံ}
\renewcommand{\lstlistingname}{စာရင်း}
\renewcommand{\abstractname}{အနှစ်ချုပ်}
%-----------------------------------------------------------------
\renewcommand{\thepage}{\burmesecounter{page}} 
\renewcommand{\thechapter}{\burmesecounter{chapter}}
\renewcommand{\thesection}{\burmesecounter{chapter}.\burmesecounter{section}}
\renewcommand{\thesubsection}{\burmesecounter{chapter}.\burmesecounter{section}.\burmesecounter{subsection}}
\renewcommand{\thefigure}{\burmesecounter{chapter}.\burmesecounter{figure}}
\renewcommand{\thetable}{\burmesecounter{chapter}.\burmesecounter{table}}
%-----------------------------------------------------------------
\let\oldpagenumbering\pagenumbering
\renewcommand{\pagenumbering}[1]{
 \oldpagenumbering{#1}
 \ifthenelse{\equal{#1}{arabic}}{
 \renewcommand{\thepage}{\burmesecounter{page}}
 }{}
}

\endinput


Note: စာကြောင်း အသစ်ပြောင်းစေချင်တဲ့ နေရာတွေမှာ breaking non-space (zero width space - &#x200B in HTML) ထည့်ချင်ရင်
\hspace{0pt}
ကို သုံးနိုင်ပါတယ်။

No comments:

Post a Comment