\documentclass{article}

\usepackage[OT2, T1, T2A]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[serbianc]{babel}

\usepackage[nomath]{cmsrb}
\DeclareSymbolFont{cmsrbex}{OMX}{cmsrbex}{m}{n}
\DeclareMathSymbol{\srbintop}{\mathop}{cmsrbex}{"52}
\DeclareMathSymbol{\srbointop}{\mathop}{cmsrbex}{"48}
\newcommand{\srbint}{\relax\srbintop\displaylimits}
\newcommand{\srboint}{\relax\srbointop\displaylimits}
\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}}

\DeclareTextSymbolDefault{\dj}{T1}

\begin{document}
	\title{Пакет \texttt{cmsrb}}
	\author{Урош Стефановић\footnote{\texttt{urostajms@gmail.com}}}
	\date{\today{} в3.1}
	\maketitle
	
	\section{Зашто \textsf{cmsrb}?}
	
	Пакет \textsf{cm-super} обезбеђује одличну подршку за ћирилицу у разним језицима, али код њега постоји проблем са курзивним облицима (италиком) неких слова за српски и македонски језик. Пакет \textsf{cmsrb} садржи исправан облик курзивних слова \verb|г|, \verb|д|, \verb|п|, \verb|т|, и слова \verb|б|. Такође, овај пакет доноси одређена побољшања у словима и акцентима који се користе у српском језику.
	
	\section{Карактеристике пакета}
	
	Фонтови \textsf{cmsrb} су проширење \textit{Computer Modern} фонтова за српски и македонски језик за \TeX{} (\LaTeX). Подржана кодирања су \textit{T1}, \textit{TS1}, \textit{T2A}, \textit{X2} и \textit{OT2}. Подржани стилови фонта су серифни, санс-серифни и непропорционални, за величину 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} кодирања}
	
	Кодирање \textit{OT2} је измењено како би подржало правилно пребацивање из латинице у ћирилицу у српском језику. Према томе, \textsf{ts}, \textsf{kh}, \textsf{ch} и сличне лигатуре су уклоњене из кодирања (види табелу~\ref{t1}). 
	
	У \textit{OT2} кодирању су додата македонска слова Ѓ и Ќ, као и црногорска слова \CYRSJE{} и \CYRZJE.
	
	Ипак, није препоручљиво коришћење \textit{OT2} кодирања; бољи избор за српски језик је \textit{T2A} кодирање и \textit{utf8} унос. Кодирање \textit{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{Кодирање \textit{OT2} за пакет \textsf{cmsrb}.}\label{t1}
	\end{table}

	\section{Карактеристике \textit{T1} кодирања}
	
	Кодирање \textit{T1} сада подржава конверзију из ћирилице у латиницу (види пример~7).
	
	\section{Математика}
	
	Пакет \textsf{cmsrb} учитава подразумеване \textit{Computer Modern} математичке фонтове, али учита само величине веће или једнаке 10\textit{pt}, за бољи визуелни ефекат.
	Такође, пакет сада мења подразумевани знак за интеграл $\int$ у $\srbint$ (усправни интеграл је традиционално коришћен у српском језику, са \verb|\limits| опцијом).
	Да би се спречила промена симбола интеграла, довољно је користити \textsf{noint} опцију:
	\begin{verbatim}
	\usepackage[noint]{cmsrb}
	\end{verbatim}
	
	Такође, у српском језику боље је коришћење знакова $\leqslant$ и $\geqslant$ уместо знакова $\leq$ и $\geq$. Ако се користи пакет \textsf{amssymb}, ти знаци ће аутоматски бити промењени (исто важи и за $\nleqslant$ и $\ngeqslant$). Наравно, ову промену је могуће спречити опцијом \textsf{nosymb}:
	\begin{verbatim}
	\usepackage[nosymb]{cmsrb}
	\end{verbatim}

	Иначе, било које промене у математичким фонтовима могу да се спрече коришћењем \textsf{nomath} опције:
	\begin{verbatim}
	\usepackage[nomath]{cmsrb}
	\end{verbatim}

    \section{Примери}
    
    \noindent\textbf{Пример 1: }
    \begin{Verbatim}
    \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{Verbatim}
    
    \noindent\textbf{Резултат 1:} \\
    \indent 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}\\[1cm]
    
    \noindent\textbf{Пример 2: }
    \begin{Verbatim}
	\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{Verbatim}
    
    \noindent\textbf{Резултат 2:} \\
    \indent \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.}}\\[1cm]
    
    \fontencoding{T2A}\selectfont
    
    \noindent\textbf{Пример 3: }
    \begin{Verbatim}
    \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{Verbatim}
    
    \noindent\textbf{Резултат 3:} \\
    \indent {\textit{Ljubazni fenjerdžija čađavog lica hoće da mi pokaže štos.\\ Љубазни фењерџија чађавог лица хоће да ми покаже штос.} \\ Акценти: \'{и}\`{и}\C{и}\f{и}\={и}\^{и}\"{и}\u{и}}\\[1cm]
    
    \noindent\textbf{Пример 4: }
    \begin{Verbatim}
    \documentclass{article}
    \usepackage{cmsrb}
    \usepackage[T2A]{fontenc}
    \usepackage[utf8]{inputenc}
    \usepackage[serbianc]{babel}
    \begin{document}
    \textit{абвгдђѓежз\'{з}ѕијклљмнњопрс\'{с}тћќуфхцчџш}
    \end{document}
    \end{Verbatim}
    
    \noindent\textbf{Резултат 4:} \\
    \indent {\textit{абвгдђѓежз\'{з}ѕијклљмнњопрс\'{с}тћќуфхцчџш}}\\[1cm]
    
    \noindent\textbf{Пример 5: }
    \begin{Verbatim}
    \documentclass{article}
    \usepackage{cmsrb}
    \newcommand{\ud}{\,\mathrm{d}}
    \begin{document}
    $$ \int_0^1 e^x\ud x \geq 0 $$
    \end{document}
    \end{Verbatim}
    
    \noindent\textbf{Резултат 5:} \\
    $$ \srbint_0^1 e^x\,\mathrm{d} x \geqslant 0 $$ \\[1cm]
    
    \noindent\textbf{Пример 6: }
    \begin{Verbatim}
    \documentclass{article}
    \usepackage[nomath]{cmsrb}
    \newcommand{\ud}{\,\mathrm{d}}
    \begin{document}
    $$ \int_0^1 e^x\ud x \geq 0 $$
    \end{document}
    \end{Verbatim}
    
    \noindent\textbf{Резултат 6:} \\
    $$ \int_0^1 e^x\,\mathrm{d} x \geq 0 $$\\[1cm]
    
    \noindent\textbf{Пример 7: }
    \begin{Verbatim}
    \documentclass{article}
    \usepackage{cmsrb}
    \usepackage[T1]{fontenc}
    \usepackage[utf8]{inputenc}
    \usepackage[serbian]{babel}
    \begin{document}
    Љубазни фењерџија чађавог лица хоће да ми покаже штос.
    \end{document}
    \end{Verbatim}
    
    \noindent\textbf{Резултат 7:} \\
    \indent Ljubazni fenjerdžija čađavog lica hoće da mi pokaže štos.
    
    \section{Историја верзија}
    
    \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}
	
\end{document}
