summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Master/texmf-dist/doc/latex/chemformula-ru/README.md14
-rw-r--r--Master/texmf-dist/doc/latex/chemformula-ru/README.ru7
-rw-r--r--Master/texmf-dist/doc/latex/chemformula-ru/chemformula-ru.pdfbin0 -> 167712 bytes
-rw-r--r--Master/texmf-dist/doc/latex/chemformula-ru/chemformula-ru.tex82
-rw-r--r--Master/texmf-dist/tex/latex/chemformula-ru/chemformula-ru.sty32
-rwxr-xr-xMaster/tlpkg/bin/tlpkg-ctan-check2
-rw-r--r--Master/tlpkg/tlpsrc/chemformula-ru.tlpsrc0
-rw-r--r--Master/tlpkg/tlpsrc/collection-mathscience.tlpsrc1
8 files changed, 137 insertions, 1 deletions
diff --git a/Master/texmf-dist/doc/latex/chemformula-ru/README.md b/Master/texmf-dist/doc/latex/chemformula-ru/README.md
new file mode 100644
index 00000000000..c9ca6fdebe8
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/chemformula-ru/README.md
@@ -0,0 +1,14 @@
+Using chemformula package with babel-russian.
+
+DESCRIPTION
+
+The chemformula package and babel-russian settings (russian.ldf) define the same macro \ch.
+The package chemformula-ru undefines babel's macro to prevent an error when
+both packages are loaded together.
+Optionally it redefines the \cosh macro to print the hyperbolic cosine
+in Russian notations and/or defines new macro \Ch for that.
+
+Licence: LPPL 1.3c or any later version.
+
+Alexey Kuznetsov mailtokuznetsov@gmail.com
+
diff --git a/Master/texmf-dist/doc/latex/chemformula-ru/README.ru b/Master/texmf-dist/doc/latex/chemformula-ru/README.ru
new file mode 100644
index 00000000000..83d6867d5e3
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/chemformula-ru/README.ru
@@ -0,0 +1,7 @@
+Пакеты chemformula и babel-russian (russian.ldf) вводят одинковую команду \ch,
+вызывающую ошибку при их совместной загрузке.
+Пакет chemformula-ru устраняет ее, делая команду пакета babel неопределенной.
+Дополнительно он позволяет настроить команду \cosh для печати гиперболического косинуса
+в русских нотациях и/или ввести для этого новую команду \Ch.
+
+Алексей Кузнецов mailtokuznetsov@gmail.com
diff --git a/Master/texmf-dist/doc/latex/chemformula-ru/chemformula-ru.pdf b/Master/texmf-dist/doc/latex/chemformula-ru/chemformula-ru.pdf
new file mode 100644
index 00000000000..09126f6cc1c
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/chemformula-ru/chemformula-ru.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/chemformula-ru/chemformula-ru.tex b/Master/texmf-dist/doc/latex/chemformula-ru/chemformula-ru.tex
new file mode 100644
index 00000000000..02edcbca417
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/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}
diff --git a/Master/texmf-dist/tex/latex/chemformula-ru/chemformula-ru.sty b/Master/texmf-dist/tex/latex/chemformula-ru/chemformula-ru.sty
new file mode 100644
index 00000000000..f1df3002c11
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/chemformula-ru/chemformula-ru.sty
@@ -0,0 +1,32 @@
+%% The chemformula-ru package eliminates an incompatibility
+%% between the chemformula package and Russian settings (russian.ldf) of the babel package.
+%%
+%% Copyright (c) 2024 by Alexey Kuznetsov (mailtokuznetsov at gmail.com)
+%%
+%% This file may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3c
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3c or later is part of all distributions of LaTeX
+%% version 2008/05/04 or later.
+%%
+
+\ProvidesPackage{chemformula-ru}[2024-03-01 Using chemformula package with babel-russian]
+
+\DeclareOption{cosh2ch}{\def\cosh@ch{\DeclareRobustCommand\cosh{\mathop{\operator@font ch}\nolimits}}}
+\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 }
+}
+\endinput
diff --git a/Master/tlpkg/bin/tlpkg-ctan-check b/Master/tlpkg/bin/tlpkg-ctan-check
index 597182a402f..5915d804155 100755
--- a/Master/tlpkg/bin/tlpkg-ctan-check
+++ b/Master/tlpkg/bin/tlpkg-ctan-check
@@ -179,7 +179,7 @@ my @TLP_working = qw(
chappg chapterfolder charissil charter
chbibref cheatsheet checkcites checkend checklistings chem-journal
chemarrow chembst chemcompounds chemcono chemexec
- chemfig chemformula chemgreek chemmacros
+ chemfig chemformula chemformula-ru chemgreek chemmacros
chemnum chemobabel chemplants chemschemex chemsec chemstyle cherokee
chess chess-problem-diagrams chessboard chessfss chet chextras
chhaya chicago chicagoa chicago-annote chickenize
diff --git a/Master/tlpkg/tlpsrc/chemformula-ru.tlpsrc b/Master/tlpkg/tlpsrc/chemformula-ru.tlpsrc
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/Master/tlpkg/tlpsrc/chemformula-ru.tlpsrc
diff --git a/Master/tlpkg/tlpsrc/collection-mathscience.tlpsrc b/Master/tlpkg/tlpsrc/collection-mathscience.tlpsrc
index ef59f5f2e0d..6b070f59cb2 100644
--- a/Master/tlpkg/tlpsrc/collection-mathscience.tlpsrc
+++ b/Master/tlpkg/tlpsrc/collection-mathscience.tlpsrc
@@ -45,6 +45,7 @@ depend chemcompounds
depend chemcono
depend chemexec
depend chemformula
+depend chemformula-ru
depend chemgreek
depend chemmacros
depend chemnum