From 56847810aa645903c20fb112fa248caeaef82db6 Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Sun, 3 Mar 2024 03:01:28 +0000 Subject: CTAN sync 202403030301 --- macros/latex/contrib/chemformula-ru/README.md | 14 ++++ macros/latex/contrib/chemformula-ru/README.ru | 7 ++ .../contrib/chemformula-ru/chemformula-ru.pdf | Bin 0 -> 167712 bytes .../contrib/chemformula-ru/chemformula-ru.sty | 32 ++++++++ .../contrib/chemformula-ru/chemformula-ru.tex | 82 +++++++++++++++++++++ 5 files changed, 135 insertions(+) create mode 100644 macros/latex/contrib/chemformula-ru/README.md create mode 100644 macros/latex/contrib/chemformula-ru/README.ru create mode 100644 macros/latex/contrib/chemformula-ru/chemformula-ru.pdf create mode 100644 macros/latex/contrib/chemformula-ru/chemformula-ru.sty create mode 100644 macros/latex/contrib/chemformula-ru/chemformula-ru.tex (limited to 'macros/latex/contrib/chemformula-ru') diff --git a/macros/latex/contrib/chemformula-ru/README.md b/macros/latex/contrib/chemformula-ru/README.md new file mode 100644 index 0000000000..c9ca6fdebe --- /dev/null +++ b/macros/latex/contrib/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/macros/latex/contrib/chemformula-ru/README.ru b/macros/latex/contrib/chemformula-ru/README.ru new file mode 100644 index 0000000000..83d6867d5e --- /dev/null +++ b/macros/latex/contrib/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/macros/latex/contrib/chemformula-ru/chemformula-ru.pdf b/macros/latex/contrib/chemformula-ru/chemformula-ru.pdf new file mode 100644 index 0000000000..09126f6cc1 Binary files /dev/null and b/macros/latex/contrib/chemformula-ru/chemformula-ru.pdf differ diff --git a/macros/latex/contrib/chemformula-ru/chemformula-ru.sty b/macros/latex/contrib/chemformula-ru/chemformula-ru.sty new file mode 100644 index 0000000000..f1df3002c1 --- /dev/null +++ b/macros/latex/contrib/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/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} -- cgit v1.2.3