diff options
Diffstat (limited to 'macros/latex/contrib/chemformula-ru/chemformula-ru.tex')
-rw-r--r-- | macros/latex/contrib/chemformula-ru/chemformula-ru.tex | 82 |
1 files changed, 82 insertions, 0 deletions
diff --git a/macros/latex/contrib/chemformula-ru/chemformula-ru.tex b/macros/latex/contrib/chemformula-ru/chemformula-ru.tex new file mode 100644 index 0000000000..02edcbca41 --- /dev/null +++ b/macros/latex/contrib/chemformula-ru/chemformula-ru.tex @@ -0,0 +1,82 @@ +\documentclass[a4paper]{article} +\usepackage[]{geometry} +\geometry{total={180mm, 267mm}, centering} + +\usepackage[russian]{babel} +\usepackage{chemformula} +\usepackage[ch2Ch,cosh2ch]{chemformula-ru} +\usepackage{array,multicol} + +\begin{document} + +\title{The \textsf{chemformula-ru} package} +\author{Alexey Kuznetsov} +\date{01.03.2024} +\maketitle + +\begin{multicols}{2} +The \textsf{chemformula} package defines the command\\[.5ex] +\mbox{}\hfil\verb|\сh{|\textit{chemical formula}\verb|}|\\[.5ex] +to type up chemical formulas:\\[.5ex] +\mbox{}\hfil\verb|\ch{H3PO4}| $\to$ \ch{H3PO4}.\\[.5ex] +Russian settings of the \textsf{babel} package \textsf{(russianb.ldf)} define the same command to print the hyperbolic cosine:\\[.5ex] +\mbox{}\hfil\verb|$\ch x$|\ $\to\ \Ch x$.\\[.5ex] +Loading packages together leads to the error\\[1ex] +\mbox{}\hfil\verb|! LaTeX Error: Command \ch already defined.|\\[1ex] +The \textsf{chemformula-ru} package ``neutralizes'' it by making the babel's command undefined. + +The package has two parameters to configure the printing of the hyperbolic cosine in Russian notation:\\[1ex] +\begin{tabular}{>\sf l @{ ---\quad } p{.75\linewidth}} +cosh2ch & overrides the \verb|\cosh| command for printing:\linebreak + \verb|$\cosh x$| $\to \cosh x$. \\[1ex] +ch2Ch & defines a new \verb|\Ch| command for printing:\linebreak + \verb|$\Ch x$| $\to \Ch x$. +\end{tabular}\\[1ex] + +Пакет \textsf{chemformula} вводит команду\\[.5ex] +\mbox{}\hfil\verb|\сh{|\textit{химическая фоормула}\verb|}|\\[.5ex] +для верстки химических формул:\\[.5ex] +\mbox{}\hfil\verb|\ch{H3PO4}| $\to$ \ch{H3PO4}.\\[.5ex] +Русские настройки пакета \textsf{babel (russianb.ldf)} определяют одноименную команду для печати гиперболического косинуса:\\[-.5ex] +\mbox{}\hfil\verb|$\ch x$|\ $\to\ \Ch x$.\\[.5ex] +Cовместная загрузка пакетов ведет к ошибке\\[1ex] +\mbox{}\hfil\verb|! LaTeX Error: Command \ch already defined.|\\[1ex] +Пакет \textsf{chemformula-ru} <<нейтрализует>> ее, делая команду пакета \textsf{babel} неопределенной. + +Пакет имеет два параметра, настраивающих печать гиперболического косинуса в русских нотациях:\\[1ex] +\begin{tabular}{>\sf l @{ --- } p{.8\linewidth}} +cosh2ch & переопределяет для печати команду \verb|\cosh|:\linebreak + \verb|$\cosh x$| $\to \cosh x$. \\[1ex] +ch2Ch & определяет для печати новую команду \verb|\Ch|:\linebreak + \verb|$\Ch x$| $\to \Ch x$. +\end{tabular} +\end{multicols} + +\noindent\hrulefill + +\begin{verbatim} + +%% Redefine \cosh to print ch. +\DeclareOption{cosh2ch}{\def\cosh@ch{% + \DeclareRobustCommand\cosh{\mathop{\operator@font ch}\nolimits}}} + +%% Define new command \Ch to print ch. +\DeclareOption{ch2Ch}{\def\ch@Ch{% + \DeclareRobustCommand\Ch{\mathop{\operator@font ch}\nolimits}}} + +\ProcessOptions\relax + +\BeforeBeginEnvironment{document}{ + \IfPackageLoadedTF{chemformula}{ + \IfPackageLoadedWithOptionsTF{babel}{russian}{ + \let\@Chem@Formula\ch \let\ch\undefined + \AtBeginDocument{ \let\ch\@Chem@Formula + \@ifundefined{cosh@ch}{\relax}{\cosh@ch} + \@ifundefined{ch@Ch}{\relax}{\ch@Ch} + } + } { \relax } + } { \relax } +} +\end{verbatim} + +\end{document} |