\documentclass{article} \usepackage[OT2, T1, TS1, X2, ECMSRB1, ECMSRB2, T2A]{fontenc} \usepackage[utf8]{inputenc} \usepackage[serbianc]{babel} \usepackage[a4paper,top=2.0cm,left=3cm,right=2.5cm,bottom=2cm,includefoot,includehead]{geometry} \usepackage{cmsrb} \usepackage{cmupint} \let\enint\intop \usepackage{amssymb} \input glyphtounicode.tex \pdfgentounicode=1 \usepackage{fancyvrb} \usepackage{tabularx} \newcommand\textcmsuper[1]{{\fontencoding{T2A}\fontfamily{cmr}\selectfont #1}} \newcommand{\example}[1]{{\fontencoding{T2A}\selectfont #1} & \textcmsuper{#1}} \newcommand\otinput[1]{{\fontencoding{T1}\selectfont \verb"#1"} & {\fontencoding{OT2}\selectfont #1}} \newcommand\ecminput[1]{{\fontencoding{T1}\selectfont \verb"#1"} & {\fontencoding{ECMSRB1}\selectfont #1} & {\fontencoding{ECMSRB2}\selectfont #1}} \DeclareTextSymbolDefault{\dj}{T1} \newcounter{primer} \newcounter{rezultat} \newenvironment{primer}{\VerbatimEnvironment\refstepcounter{primer}\par\medskip \noindent\textbf{Пример~\theprimer: } \begin{Verbatim} }{\end{Verbatim}\medskip} \newenvironment{rezultat}{\refstepcounter{rezultat}\par\medskip \noindent\textbf{Резултат~\therezultat: }\\ }{\medskip} \makeatletter \newcommand{\manuallabel}[2]{\def\@currentlabel{#2}\label{#1}} \makeatother \usepackage{fonttable} \begin{document} \title{Пакет \texttt{cmsrb}} \author{Урош Стефановић\footnote{\texttt{urostajms@gmail.com}}} \date{\today{} верзија 4.0} \maketitle \section{Зашто \textsf{cmsrb}?} Пакет \textsf{cm-super} обезбеђује одличну подршку за ћирилицу у разним језицима, али код њега постоји проблем са курзивним облицима (италиком) неких слова за српски и македонски језик. Пакет \textsf{cmsrb} садржи исправан облик курзивних слова \verb|г|, \verb|д|, \verb|п|, \verb|т|, и слова \verb|б|. Такође, овај пакет доноси одређена побољшања у словима и акцентима који се користе у српском језику. \section{Карактеристике пакета} Фонтови \textsf{cmsrb} су проширење \textit{Computer Modern} фонтова за српски и македонски језик за \TeX{} (\LaTeX). Подржана кодирања су \texttt{T1}, \texttt{TS1}, \texttt{T2A}, \texttt{X2} и \texttt{OT2}, као и експериментална кодирања \texttt{ECMSRB1} и \texttt{ECMSRB2}. Подржани стилови фонта су серифни, санс-серифни и непропорционални, за величину 10\textit{pt}. Овај пакет је једноставан за коришћење: само је потребно да ставимо \begin{verbatim} \usepackage{cmsrb} \end{verbatim} у преамбулу документа. \begin{table}[h!] \newcolumntype{C}{>{\centering\arraybackslash}X}% \begin{tabularx}{\textwidth}{|C C|C C|C C|} \hline cmsrb & cm-super & cmsrb & cm-super & cmsrb & cm-super \\ \hline \hline \example{\textit{бгдпт}} & \example{\textbf{\textit{бгдпт}}} & \example{ђћ} \\ \hline \example{б\textbf{б}\textit{б}\textsl{б}} & \example{\={а}\textsc{\={а}\f{и}}} & \example{\textit{đ\textbf{đ}}} \\ \hline \end{tabularx} \caption{Неке \textsf{cm-super} и \textsf{cmsrb} разлике.}\label{t2} \end{table} \section{Карактеристике \textit{OT2} кодирања} Кодирање \texttt{OT2} је измењено како би подржало правилно пребацивање из латинице у ћирилицу у српском језику. Према томе, \textsf{ts}, \textsf{kh}, \textsf{ch} и сличне лигатуре су уклоњене из кодирања (види табелу~\ref{t1}). У \texttt{OT2} кодирању су додата македонска слова Ѓ и Ќ, црногорска слова \CYRSJE{} и \CYRZJE, као и одређени правописни знаци. Ипак, није препоручљиво коришћење \texttt{OT2} кодирања; бољи избор за српски језик је \texttt{T2A} кодирање и \textit{utf8} унос. Кодирање \texttt{OT2} је добар избор ако већ имамо документ написан латиницом — тада ће бити једноставно пребацити га у ћирилицу. \begin{table} \newcolumntype{C}{>{\centering\arraybackslash}X}% \begin{tabularx}{\textwidth}{|C C|C C|C C|C C|} \hline Улаз & Излаз & Улаз & Излаз & Улаз & Излаз & Улаз & Излаз \\ \hline \hline \otinput{A} & \otinput{B} & \otinput{C} & \otinput{D} \\ \hline \otinput{E} & \otinput{F} & \otinput{G} & \otinput{H} \\ \hline \otinput{I} & \otinput{J} & \otinput{K} & \otinput{L} \\ \hline \otinput{M} & \otinput{N} & \otinput{O} & \otinput{P} \\ \hline \otinput{Q} & \otinput{R} & \otinput{S} & \otinput{T} \\ \hline \otinput{U} & \otinput{V} & \otinput{W} & \otinput{X} \\ \hline \otinput{Y} & \otinput{Z} & \otinput{\#} & \otinput{} \\ \hline \hline \otinput{a} & \otinput{b} & \otinput{c} & \otinput{d} \\ \hline \otinput{e} & \otinput{f} & \otinput{g} & \otinput{h} \\ \hline \otinput{i} & \otinput{j} & \otinput{k} & \otinput{l} \\ \hline \otinput{m} & \otinput{n} & \otinput{o} & \otinput{p} \\ \hline \otinput{q} & \otinput{r} & \otinput{s} & \otinput{t} \\ \hline \otinput{u} & \otinput{v} & \otinput{w} & \otinput{x} \\ \hline \otinput{y} & \otinput{z} & \otinput{+} & \otinput{} \\ \hline \hline \otinput{C1} & \otinput{D1} & \otinput{D2} & \otinput{D3} \\ \hline \otinput{E0} & \otinput{E1} & \otinput{E2} & \otinput{I0} \\ \hline \otinput{I1} & \otinput{J1} & \otinput{J2} & \otinput{L1} \\ \hline \otinput{N0} & \otinput{N1} & \otinput{P1} & \otinput{P2} \\ \hline \otinput{Z1} & \otinput{\v{C}} & \otinput{\'C} & \otinput{\DJ} \\ \hline \otinput{\v{S}} & \otinput{\v{Z}} & \otinput{LJ} & \otinput{Lj} \\ \hline \otinput{NJ} & \otinput{Nj} & \otinput{D\v{Z}} & \otinput{D\v{z}} \\ \hline \hline \otinput{c1} & \otinput{d1} & \otinput{d2} & \otinput{d3} \\ \hline \otinput{e0} & \otinput{e1} & \otinput{e2} & \otinput{i0} \\ \hline \otinput{i1} & \otinput{j1} & \otinput{j2} & \otinput{l1} \\ \hline \otinput{\i} & \otinput{n1} & \otinput{p1} & \otinput{p2} \\ \hline \otinput{z1} & \otinput{\v{c}} & \otinput{\'c} & \otinput{\dj} \\ \hline \otinput{\v{s}} & \otinput{\v{z}} & \otinput{lj} & \otinput{} \\ \hline \otinput{nj} & \otinput{} & \otinput{d\v{z}} & \otinput{} \\ \hline \hline \otinput{\char20} & \otinput{\char21} & \otinput{\char28} & \otinput{\char29} \\ \hline \otinput{\'G} & \otinput{\'K} & \otinput{\'g} & \otinput{\'k} \\ \hline \otinput{\'S} & \otinput{\'Z} & \otinput{\'s} & \otinput{\'z} \\ \hline \end{tabularx} \caption{Кодирање \texttt{OT2} за пакет \textsf{cmsrb}.}\label{t1} \end{table} \begin{primer} \documentclass{article} \usepackage{cmsrb} \usepackage[OT2,T1]{fontenc} \usepackage[serbian]{babel} \newcommand{\test}% {Ljubazni fenjerd\v zija \v ca\dj avog lica ho\'ce da mi poka\v ze \v stos.} \begin{document} \test \\ \fontencoding{OT2}\selectfont \test \\ Akcenti: \'a\`a\C a\f a\=a\^a\"a\u a \end{document} \end{primer} \begin{rezultat} \indent {\fontencoding{T1}\selectfont Ljubazni fenjerd\v zija \v ca\dj avog lica ho\'ce da mi poka\v ze \v stos.} \\ {\fontencoding{OT2}\selectfont Ljubazni fenjerd\v zija \v ca\dj avog lica ho\'ce da mi poka\v ze \v stos. \\ Akcenti: \'a\`a\C a\f a\=a\^a\"a\u a} \end{rezultat} \begin{primer} \documentclass{article} \usepackage{cmsrb} \usepackage[OT2,T1]{fontenc} \usepackage[utf8]{inputenc} \usepackage[serbian]{babel} \newcommand{\test}% {Ljubazni fenjerdžija čađavog lica hoće da mi pokaže štos.} \begin{document} \textit{\test} \\ \fontencoding{OT2}\selectfont \textit{\test} \end{document} \end{primer} \begin{rezultat} \indent{\fontencoding{T1}\selectfont \textit{Ljubazni fenjerd\v zija \v ca\dj avog lica ho\'ce da mi poka\v ze \v stos.}} \\ {\fontencoding{OT2}\selectfont \textit{Ljubazni fenjerd\v zija \v ca\dj avog lica ho\'ce da mi poka\v ze \v stos.}} \end{rezultat} \section{Карактеристике \textit{T1} кодирања} Кодирање \texttt{T1} сада подржава конверзију из ћирилице у латиницу (види пример~\ref{prim:t1}). На позицији 208 се налази слово {\fontencoding{T1}\selectfont Đ (\texttt{U+0110})} уместо слова {\fontencoding{TS1}\selectfont \DH{} \fontencoding{T1}\selectfont (\texttt{U+00D0})}, чиме се омогућава копирање или претрага текста написаног на латиници. \begin{primer} \documentclass{article} \usepackage{cmsrb} \usepackage[T2A,T1]{fontenc} \usepackage[utf8]{inputenc} \usepackage[serbian]{babel} \begin{document} Љубазни фењерџија чађавог лица хоће да ми покаже штос. \end{document} \end{primer} \manuallabel{prim:t1}{\theprimer} \begin{rezultat} \indent Ljubazni fenjerdžija čađavog lica hoće da mi pokaže štos. \end{rezultat} \section{Карактеристике \textit{T2A} кодирања} Ћириличка слова \texttt{Ј} и \texttt{ј} нису подржана у \texttt{T2A} кодирању; због тога су она постављена уместо латиничких слова \texttt{J} и \texttt{j}. То даје бољи резултат у ћириличком тексту, али то такође значи да се та латиничка слова не налазе у овом кодирању, па је потребно водити рачуна приликом копирања и претраге латиничког текста написаног \texttt{T2A} кодирањем. Слова {\fontencoding{X2}\selectfont \char"81, \char"89, \char"86, \char"91, \char"A1, \char"A9, \char"A6, \char"B1} су уклоњена из кодирања \texttt{T2A}, а уместо њих су стављена слова \char"81, \char"89, \char"86, \char"91, \char"A1, \char"A9, \char"A6, \char"B1. \begin{primer} \documentclass{article} \usepackage{cmsrb} \usepackage[T2A]{fontenc} \usepackage[utf8]{inputenc} \usepackage[serbianc]{babel} \DeclareTextSymbolDefault{\dj}{T1} \begin{document} \textit{Ljubazni fenjerdžija čađavog lica hoće da mi pokaže štos.\\ Љубазни фењерџија чађавог лица хоће да ми покаже штос.} \\ Акценти: \'{и}\`{и}\C{и}\f{и}\={и}\^{и}\"{и}\u{и} \end{document} \end{primer} \begin{rezultat} \indent {\textit{Ljubazni fenjerdžija čađavog lica hoće da mi pokaže štos.\\ Љубазни фењерџија чађавог лица хоће да ми покаже штос.} \\ Акценти: \'{и}\`{и}\C{и}\f{и}\={и}\^{и}\"{и}\u{и}} \end{rezultat} \begin{primer} \documentclass{article} \usepackage{cmsrb} \usepackage[T2A]{fontenc} \usepackage[utf8]{inputenc} \usepackage[serbianc]{babel} \begin{document} \textit{абвгдђѓежз\'{з}ѕијклљмнњопрс\'{с}тћќуфхцчџш} \end{document} \end{primer} \begin{rezultat} \indent {\textit{абвгдђѓежз\'{з}ѕијклљмнњопрс\'{с}тћќуфхцчџш}} \end{rezultat} \section{Карактеристике \textit{TS1} кодирања} У \texttt{TS1} кодирању се налази слово {\fontencoding{TS1}\selectfont \DH} (\texttt{U+00D0}) које је уклоњено из \texttt{T1} кодирања. Такође, у \texttt{TS1} кодирању се налазе слова б, г, д, п, т са руским обликом курзива. \begin{primer} \documentclass{article} \usepackage{cmsrb} \usepackage[TS1,T2A]{fontenc} \usepackage[utf8]{inputenc} \usepackage[serbianc]{babel} \begin{document} \textit{бгдпт} \fontencoding{TS1}\selectfont \textit{бгдпт \DH} \end{document} \end{primer} \begin{rezultat} \indent \textit{бгдпт} {\fontencoding{TS1}\selectfont \textit{бгдпт \DH}} \end{rezultat} \section{Математика} Пакет \textsf{cmsrb} учитава подразумеване \textit{Computer Modern} математичке фонтове, али учита само величине веће или једнаке 10\textit{pt}, за бољи визуелни ефекат. Ако се користи \textsf{math} опција тада ће бити учитан пакет \textsf{cmupint} који мења подразумевани знак за интеграл $\enint$ у $\int$ (усправни интеграл је традиционално коришћен у српском језику, са \verb|\limits| опцијом). Такође, у српском језику боље је коришћење знакова $\leqslant$ и $\geqslant$ уместо знакова $\leq$ и $\geq$. Ако се користи \textsf{math} опција учитаће се пакет \textsf{amssymb} и ти знаци ће аутоматски бити промењени (исто важи за $\nleqslant$ и $\ngeqslant$). Опција се користи на следећи начин: \begin{verbatim} \usepackage[math]{cmsrb} \end{verbatim} \begin{primer} \documentclass{article} \usepackage{cmsrb} \newcommand{\ud}{\,\mathrm{d}} \begin{document} $$ \int_0^1 e^x\ud x \geq 0 $$ \end{document} \end{primer} \begin{rezultat} $$ \enint\nolimits_0^1 e^x\,\mathrm{d} x \geq 0 $$ \end{rezultat} \begin{primer} \documentclass{article} \usepackage[math]{cmsrb} \newcommand{\ud}{\,\mathrm{d}} \begin{document} $$ \int_0^1 e^x\ud x \geq 0 $$ \end{document} \end{primer} \begin{rezultat} $$ \int_0^1 e^x\,\mathrm{d} x \geqslant 0 $$ \end{rezultat} \section{Експериментална кодирања} Кодирања \texttt{ECMSRB1} и \texttt{ECMSRB2} су направљена само за овај пакет. Слична су са \texttt{OT2} кодирањем, али садрже специфичне лигатуре и акценте (види табелу~\ref{t3}). За комплетну табелу карактера који су подржани овим кодирањем погледати табеле на странама~\pageref{ecs1} и \pageref{ecs2}. Основна намена ових кодирања је писање текста на српском језику само \texttt{ASCII} карактерима, као и једноставно пребацивање из латинице у ћирилицу. \begin{table}[h!] \newcolumntype{C}{>{\centering\arraybackslash}X}% \begin{tabularx}{\textwidth}{|C C C|C C C|C C C|} \hline Улаз & \texttt{ECMSRB1} & \texttt{ECMSRB2} & Улаз & \texttt{ECMSRB1} & \texttt{ECMSRB2} &Улаз & \texttt{ECMSRB1} & \texttt{ECMSRB2} \\ \hline \hline \ecminput{CX} & \ecminput{CY} & \ecminput{DX} \\ \hline \ecminput{DY} & \ecminput{EY} & \ecminput{GY} \\ \hline \ecminput{KY} & \ecminput{LJ} & \ecminput{LY} \\ \hline \ecminput{NJ} & \ecminput{NY} & \ecminput{SX} \\ \hline \ecminput{SXY} & \ecminput{ZX} & \ecminput{ZY} \\ \hline \ecminput{ZXY} & \ecminput{\EZH} & \ecminput{} \\ \hline \hline \ecminput{Cx} & \ecminput{Cy} & \ecminput{Dx} \\ \hline \ecminput{Dy} & \ecminput{Ey} & \ecminput{Gy} \\ \hline \ecminput{Ky} & \ecminput{Lj} & \ecminput{Ly} \\ \hline \ecminput{Nj} & \ecminput{Ny} & \ecminput{Sx} \\ \hline \ecminput{Sxy} & \ecminput{Zx} & \ecminput{Zy} \\ \hline \ecminput{Zxy} & \ecminput{} & \ecminput{} \\ \hline \hline \ecminput{cx} & \ecminput{cy} & \ecminput{dx} \\ \hline \ecminput{dy} & \ecminput{ey} & \ecminput{gy} \\ \hline \ecminput{ky} & \ecminput{lj} & \ecminput{ly} \\ \hline \ecminput{nj} & \ecminput{ny} & \ecminput{sx} \\ \hline \ecminput{sxy} & \ecminput{zx} & \ecminput{zy} \\ \hline \ecminput{zxy} & \ecminput{\ezh} & \ecminput{} \\ \hline \hline \ecminput{\`a} & \ecminput{\'a} & \ecminput{\^a} \\ \hline \ecminput{\T a} & \ecminput{\D a} & \ecminput{\H a} \\ \hline \ecminput{\r a} & \ecminput{\R a} & \ecminput{\v a} \\ \hline \ecminput{\u a} & \ecminput{\U a} & \ecminput{\=a} \\ \hline \ecminput{\b a} & \ecminput{\.a} & \ecminput{\d a} \\ \hline \ecminput{\c a} & \ecminput{\k a} & \ecminput{\"a} \\ \hline \ecminput{\C a} & \ecminput{\~a} & \ecminput{\f a} \\ \hline \end{tabularx} \caption{Кодирања \texttt{ECMSRB1} и \texttt{ECMSRB2} за пакет \textsf{cmsrb}.}\label{t3} \end{table} \begin{primer} \documentclass{article} \usepackage{cmsrb} \usepackage[ECMSRB1]{fontenc} \usepackage[serbian]{babel} \begin{document} Ljubazni fenjerdxija cxadyavog lica hocye da mi pokazxe sxtos. \end{document} \end{primer} \begin{rezultat} \indent {\fontencoding{ECMSRB1}\selectfont Ljubazni fenjerdxija cxadyavog lica hocye da mi pokazxe sxtos.} \end{rezultat} \begin{primer} \documentclass{article} \usepackage{cmsrb} \usepackage[ECMSRB2]{fontenc} \usepackage[serbian]{babel} \begin{document} Ljubazni fenjerdxija cxadyavog lica hocye da mi pokazxe sxtos. \end{document} \end{primer} \begin{rezultat} \indent {\fontencoding{ECMSRB2}\selectfont Ljubazni fenjerdxija cxadyavog lica hocye da mi pokazxe sxtos.} \end{rezultat} \section{Историја верзија} \subsection*{4.0} \begin{itemize} \item Све опције уклоњене, опција \textsf{math} додата. \item Измењена кодирања \texttt{T1}, \texttt{T2A}, \texttt{TS1}, \texttt{OT2}. \item Слово \textsf{б} значајно побољшано у свим стиловима. \item Додата експериментална кодирања \texttt{ECMSRB1} и \texttt{ECMSRB2}. \end{itemize} \subsection*{3.1} \begin{itemize} \item Исправљени багови. \item Опције \textsf{noint} и \textsf{nosymb} су додате. \item Измењени знаци $\leq$, $\geq$, $\nleq$, $\ngeq$. \end{itemize} \subsection*{3.0} \begin{itemize} \item Слово б је измењено. \item Додата конверзија из ћирилице у латиницу. \item Математички фонтови су измењени (\textsf{nomath} опција је активна). \item Додат је усправни интеграл. \end{itemize} \subsection*{2.0} \begin{itemize} \item Додата подршка за слова {\fontencoding{OT2}\selectfont \'g, \'k, \'s, \'z}. \end{itemize} \subsection*{1.1} \begin{itemize} \item Неколико \verb|.map| фајлова спојено у један. \end{itemize} \pagebreak \appendix \section{Кодирање \textit{ECMSRB1}}\label{ecs1} \fonttable{ecmsrb1cmsrbrr} \pagebreak \section{Кодирање \textit{ECMSRB2}}\label{ecs2} \fonttable{ecmsrb2cmsrbrr} \end{document}