Утилитa ос нованa на скрипте для Windows PowerShell. D:\BIG_BACKUP\TEX\XML\add.txt Чтобы позволить PowerShell исполнять скрипты, нужно запустить программу "PowerShell" и в ее приглашении исполнить следующие две команды (нажимая Enter после каждой из них): Set-ExecutionPolicy RemoteSigned Exit ***************************************************************************** В стилевом файле "sibmatj.sty" почти в самом его начале появилась закомментированная строка: % \newfam\rsfsfam Когда она закомментирована, это "рабочая версия", в которой за счет возврата к старым калиграфическим буквам становится на одно семейство шрифтов меньше, и которая поэтому должна работать везде. Если надо знак типа\bar поставить над пустым местом, надо обязательно писать \bar{\phantom{l}}, а не \bar{\ }. ***************************************************************************** \input только после \endtopmatter посвящения оформлять \dedication In memory of... \enddedication до \endtopmapper ************************************************************************************* А еще ссылаться можно по именам. Например, для таблицы с именем \name{Table 1} автоматически создается метка "Table 1", так что даже \Label не нужен. ******************************************************************************* Если ради спортивного интереса хочется избавиться от этого предупреждения об отсутствии инициалов, можно добавить \By: \ref\no 3 \by The GAP Group \By The GAP Group \preprint GAP -- Groups, Algorithms, and Programming\nofrills \bookinfo Version 4.11.0 \yr 2019 \url http://www.gap-\allowbreak system.org \endref В поле \By указывается автор для XML-версии. (По отдельному \By для каждого автора.) Увидев \By, конвертер поймет, что вы в курсе событий, и не станет вас предупреждать. ***************************************************************************** Все \input'ы, \def'ы и т.п. следует вставлять сразу после \endtopmatter (а не перед \topmatter, как раньше). На содержимое до \topmatter локализация не действует, и поэтому там не стоит размещать ничего, кроме \documentstyle. Стало быть, теперь свободы стало больше: внутри статьи можно творить почти любые безобразия без риска испортить жизнь соседям. ************************************************************************* Формат теперь полностью аналогичен случаю \table и \figure: $$ \iftex TeX formula \else \file{image file name} \fi $$ Пример: $$ \iftex \xymatrix{ X(\mu)\ar@{->}[rr]^{T} \ar@{.>}[d]_{[i]}&& E \\ L^1_{\tau}(m_{T})\ar@{.>}[rru]_{I_{m_{T}}} }. \else \file{3456_e.ams+1.png} \fi $$ Теги, если они есть, нужно указывать в обоих разделах -- и для TeX, и для XML: $$ \iftex \gather ... \tag 3 \\ ... \tag 4 \endgather \else \file{...} \tag 3, 4 \fi $$ Если имеется всего один тег, который подходит и для TeX, и для XML, то его можно разместить вне \iftex...\fi: $$ \iftex ... \else \file{...} \fi \tag 3 $$ Пример с нестандартным тэгом \iftex\eqno(5')\else\tag{5'}\fi или, что то же самое, \iftex\tag{$5'$}\else\tag{5'}\fi ******************************************************************************************** $$ надо ставить вокруг $$\iftex.../fi$$ ( и для $ аналогично). ******************************************************** Чтобы скрыть какую-либо статью, достаточно сделать скрытым ее AMS-файл или любым способом исключить этот файл из папки выпуска: удалить, переместить или как угодно переименовать. Скрытая статья формально остается в выпуске (так как ее файл фигурирует в списке "Data.ps1"), но она не конвертируется и не включается ни в XML-пакет, ни в фолдеры Proof, ProofZips или Pleiades. Сокрытие каких-либо статей не портит структуру папки XML и никак не влияет на данные остальных статей: у них сохраняются порядковые номера, страницы, ID'ы и т.п., XML-пакет остается валидным (если не было ошибок) и может быть обработан FTP-сервисами. Как только AMS-файл скрытой статьи восстанавливается, статья автоматически возвращается в выпуск, опять-таки, никак не влияя на данные остальных статей. Вместе со статьей можно удалять/восстанавливать файлы ее картинок. А еще можно удалять старые, переименовывать существующие и добавлять новые файлы картинок для статей: картинки автоматически подключатся и станут обрабатываться. В общем, структура выпуска стала устойчивой. Можно почти как угодно издеваться над файлами в папке выпуска, если только не трогать файл "Data.ps1", который и является хранителем структуры. Ну а если все же надо его изменить, то способ известен: правильный файл "Data.ps1" возникает при TeX-компиляции сборочного AMS-файла выпуска. **************************************************************************** Вместо "(to appear)" стало "(in press)". Для \toappear добавлен синоним \inpress. Т.е. внутри \ref можно употреблять как \toapper, так и \inpress, но на выходе всегда будет "(in press)". *********************************************************** Теперь для ссылок на параграфы тоже не нужны \Label{...}. Для каждого параграфа с номером N автоматически создаются метки "N", "Section N" и " N". Это означает, что заголовки параграфов можно не трогать: \head 2. Preliminaries\endhead ... \head 3. Main Results\endhead ... и при этом смело писать примерно так: In \Sec*{Section~2} we prove... In \Sec*2, \Sec*3, and subsequent sections... In \Sec{2}{Sections~2} and \Sec*3 we prove... The result is stated in \Sec*{\S\,2}. ******************************************************************************* Автоматических меток стало больше. Теперь спец-абзацы автоматически снабжаются не только метками, совпадающими с их заголовками, но и метками, равными двойным или тройным номерам, встречающимся в их заголовках (т.е. фрагментам вида "1.2" или "1.2.3"). Например, раньше для легализации ссылки \Par*{1.2} нужно было выставлять метку: \proclaim{Lemma \Label*{1.2}} Теперь же этого можно не делать. Даже если спец-абзац сохранить в девственном виде \proclaim{Lemma 1.2} всё равно будет работать ссылка \Par*{1.2} (и ссылка \Par*{Lemma 1.2} тоже, как и прежде). При этом, конечно, проверяется уникальность меток, использумых в ссылках. Например, если в статье объявлены "Lemma 1.2" и "Theorem 1.2", но при использовании ссылки \Par*{1.2} конвертер возмутится и скажет, что метка "1.2" не уникальна. В этом случае придется либо использовать более громоздкую ссылку вида \Par{Lemma 1.2}{1.2}, либо привлечь \Label{...}. Итак, осталось еще меньше поводов для \Label{...}, и почти всегда для организации ссылки оказывается достаточным просто окружить ее текст констрeкцией вида \Par*{...}. Опыт добавления ссылок в статьи текущего выпуска, показал, что довольно часты случаи, когда метка совпадает с окружаемым текстом: Section \Sec{1}{1} \Par{1.2}{1.2} \Par{Proposition 1}{Proposition 1} Поэтому для ссылок и меток добавлен механизм звездочек. Вместо \Par{текст}{текст} можно писать \Par*{текст} То же самое - для \Sec, \Equ и т.п. Аналогичный механизм звездочек есть и для \Label: \Label*{текст} вставит "текст" и в том же месте сразу добавит метку "текст". Таким образом, например, вместо \head 1. Introduction\endhead\Label{1} ... \proclaim{Proposition 1.2}\Label{1.2} ... By Proposition~\Par{1.2}{1.2} in Section~\Sec{1}{1} ... можно писать так: \head \Label*{1}. Introduction ... \proclaim{Proposition \Label*{1.2}} ... By Proposition~\Par*{1.2} in Section~\Sec*{1} ... или даже так: \proclaim{\Label*{Proposition~1.2}} ... By \Par*{Proposition~1.2} in Section~\Sec*{1} ... (Да, символ "~" тоже можно использовать в метках.) Допустим, имеется лемма \proclaim{Lemma~1.2} ... \endproclaim на которую автор ссылается то в виде "Lemma~1.2", то в виде просто "1.2". Если мы оформим лемму так: \proclaim{\Label*{Lemma~1.2}} ... \endproclaim то ссылка с текстом "Lemma~1.2" будет короткой: \Par*{Lemma~1.2} но ссылка с текстом "1.2" окажется громоздкой: \Par{Lemma~1.2}{1.2} Наоборот, если мы оформим лемму так: \proclaim{Lemma~\Label*{1.2}} ... \endproclaim то ссылка с текстом "1.2" будет очень короткой: \Par*{1.2} но громоздкой станет ссылка с текстом "Lemma~1.2": \Par{1.2}{Lemma~1.2} Второй вариант предпочтительнее, но есть еще и третий, хитрый. Мы можем оформить лемму так: \proclaim{\Label*{Lemma~1.2}}\Label{1.2} ... \endproclaim т.е. снабдить абзац леммы сразу двумя метками - и меткой "Lemma~1.2", и меткой "1.2". И тогда все ссылки на лемму станут короткими: \Par*{Lemma~1.2} \Par*{1.2} Здесь в первом случае работает первая метка, а во втором - вторая. В принципе можно давать сколько угодно меток, отражая все встречающиеся виды цитирования: \proclaim{\Label*{Lemma~1.2}}\Label{1.2} \Label{Main Lemma}\Label{1.2 of Section 1} ... \endproclaim и использовать соответствующие короткие ссылки со звездочками в зависимости от способа цитирования. Забыл доложить, что с помощью \Par можно ссылаться не только на специальные абзацы (теоремы, леммы и т.п.), но и на самые обычные абзацы. Чтобы можно было ссылаться на абзац, достаточно разместить \Label{...} где угодно внутри или в конце этого абзаца (но не перед абзацем: ведь тогда метка окажется не внутри, а между абзацами). Этот механизм позволяет делать кликабельными типичные ссылки на нумерованные условия и т.п. Например: Introduce the following conditions:\par (a) \Label{a} the function $f$ is good;\par (b) \Label(b) so is the function $g$.\par By using \Par{a}{(a)} and \Par{b}{(b)} we obtain... А если вспомнить про звездочки, то можно и так: Introduce the following conditions:\par \Label*{(a)} the function $f$ is good;\par \Label*{(b)} so is the function $g$.\par By using \Par*{(a)} and \Par*{(b)} we obtain... Шрифтовые выделения здесь не помеха: \proclaim{\Label*{Lemma~1.1}} The following hold:\par {\rm\Label*{(a)}} the function $f$ is good;\par {\rm\Label*{(b)}} so is the function $g$. \endproclaim By using \Par*{(a)} of \Par*{Lemma~1.1} we obtain... while \Par{(b)}{condition~(b)} implies... ********************************************************************** В поле \By указывается автор для XML-версии. (По отдельному \By для каждого автора.) Увидев \By, конвертер поймет, что вы в курсе событий, и не станет вас предупреждать. ********************************************************** Заменить align на aligned. ************************************************************ Springer на своих страницах показывает формулы через MathJax, а MathJax категорически ничего не делает в текстовом режиме: в частности, он никак не интерпретирует макросы внутри \hbox{...} и \text{...}, а тупо их копирует. Так что конвертер тут бессилен. Пожалуй, единственный выход -- в формулах внутри \hbox{..,} и \text{...} не использовать никакие макросы и размещать там чистый текст То же про \phantom{} ********************************************************************* Надо писать \cdot\ldots\cdot but \cdots for other operations ****************************************************************** 1. В стилевом файле "sibmatj.sty" почти в самом его начале появилась закомментированная строка: % \newfam\rsfsfam Когда она закомментирована, это "рабочая версия", в которой за счет возврата к старым калиграфическим буквам становится на одно семейство шрифтов меньше, и которая поэтому должна работать везде. Если же ту строку раскомментировать, то получится "чистовая версия" со всеми правильными шрифтами. 2. Исправлена ошибка, из-за которой некоторые строки в файле JobSheet оказывались в корявой кодировке. 3. Исправлена обработка команд \align и \gather. Теперь их можно не избегать. А вот \intertext и \noalign придется избегать: MathJax их не понимает, и поэтому конвертер будет теперь на них ругаться. 4. Появился файл "gutable.tex" версии 1.0 с подробной документацией в подпапке "TeX\GuTable\0.1". Там есть файл "GuTable.pdf", который можно читать, и его исходник "GuTable.ams", который можно изучать и из которого можно копировать примеры. Напоминаю что, что пакет "gutable.tex" универсальный, его можно использовать в любом TeX'е и, в том числе, в русских статьях СМЖ. Так что этот файл вместе с документацией можно передать в русскую редакцию. (Надеюсь, их устроит английская документация.) ************************************************************* Если внутри \Author где-нибудь вставить \Corresponding, то этот автор станет corresponding. Пример: \Author Authorname \Initial I. \Email author\@gmail.com \AffilRef 2 \AffilRef 3 \Corresponding \endAuthor Некоторая тонкость связана с тем, что по правилам журнала corresponding является не автор, а его аффилиация. Так вот, если поле \Corresponding вставить, например, в конце (как выше в примере), то corresponding станет первая аффилиация автора (в примере это аффилиация 2). Если же у автора несколько аффилиаций, и мы хотим сделать corresponding не первую, а какую-то другую его аффилиацию, то \Corresponding надо вставить перед ней -- например, так: \Author Name \Initial I. \Email author\@gmail.com \AffilRef 2 \Corresponding \AffilRef 3 \endAuthor Формальные правила таковы: если после \Corresponding есть какие-то \AffilRef, то первая из них будет corresponding; если после \Corresponding нет \AffilRef, то corresponding будет первая \AffilRef этого автора; а если же вообще нигде нет \Corresponding, то corresponding станет первая аффилиация первого автора, имеющего \Email. В сборочном файле надо писать \Input - иначе неправильно формируется data.ps1 ************************************************************************************ CMS 17 edition 12.20. Elided operations and relations. In elided sums or elided relations, the ellipsis points should be vertically centered between the operation or relation signs. For example, x_1 + x_2 + ••• + x_n_ not X_1 + x_2 + ... + x_n; a_1 < a_2 < ••• < a__n not a_1 < a2 <... < a_n When the multiplication sign is not explicit, the elided product may be denoted with ellipsis points either on the baseline or vertically centered. If the multiplication dot is present, then ellipsis points should be on the baseline and not centered. If the multiplication cross is present, then ellipsis points should be cen- tered. Multiplication signs are always used when the factors need to be sepa- rated. ************************************************************************************* cpan LaTeXML Для того, чтобы создать правильный корректирующий пакет, нужно поместить команды \OnlineDate и \Change внутрь \topmatter каждой исправляемой статьи. Сегодняшний пример: \OnlineDate 2021.01.18 \endOnlineDate \Change \Date 2021.01.29 \Details A typo in the author's name is corrected in the HTML version. \endChange Online date статьи можно узнать в самом верху ее официальной страницы: "https://link.springer.com/article/
". Если вдруг потребуется вносить новые исправления, то нужно будет добавлять новые команды \Change, не удаляя старые. Сразу несколько статей могут содержать команды \Change и даже одна и та же статья может содержать сразу несколько команд \Change с разными датами. Поле \Date содержит дату описываемого изменения. В качестве этой даты рекомендуется указывать дату рабочего дня, следующего за днем отправки пакета в Pleiades. Поле \Details содержит краткое описание всех новых изменений в данной статье с обязательным указанием вида версий, в которых они сделаны: HTML, PDF и/или printed version. В результате в пакете в XML-файлах всех (даже не измененных) статей появятся XML-элементы . Если TeX-файл статьи не содержит команду \OnlineDate, то ее online date определяется по умолчанию: это будет первая из online date в пакете. Обычно online date у всех статей одинаковые, так что достаточно вставить \OnlineDate только один раз в одной из статей. Если так покажется удобнее, то значение online date, используемое по умолчаинию, можно также задать, вставив \OnlineDate в сборочный файл сразу после \openData{...}: \openData{1032} \OnlineDate 2021.01.18 \endOnlineDate \pageno 953 \Input 3632_e.ams \Input 3716_e.ams ... Каждый \Change имеет тип. Это может быть "Erratum", "Corrigendum", "Correction", "Update" или "Clarification". По умолчанию тип "Update". Тип изменения можно указывать (а можно и не указывать) сразу после команды \Change, например, так: \Change Correction \Date ... \Details ... \endChange Помимо элементов в XML-файл каждой измененной статьи будет автоматически добавлен элемент (в котором отражаются значения полей \Date и \Details). Кроме того, в элемент будет добавлен текст "corrected publication" с годом изменения. А еще в PDF-версию каждой измененной статьи тоже вставляется текст "corrected publication" (с годом изменения) в поле copyright верхнего колонтитула. -- Пример: \demo\nofrills{Sufficiency}: Text... \enddemo ******************************************************************** Изменение одно: добавлен механизм ORCID. И в русских, и в английских статьях наряду с \email...\endemail теперь можно точно так же указывать \orcid...\endorcid. Пример: \orcid 0000-0001-2345-6789\endorcid В английских статьях эти ORCIDы нужно, так же, как и email'ы, дублировать внутри \Author. Пример: \Author Author \Initial A. \Initial B. \Email author\@gmail.com \ORCID 0000-0001-2345-6789 \AffilRef 1 \endAuthor Поскольку в печатной версии для ORCID нужна отдельная строка, теперь нельзя будет объединять авторов с одинаковыми аффилиациями, если хотя бы для одного из авторов указан ORCID. См. файл "Sample.ams" с примером правильного оформления. ****************************************************************************** Таблицу внутри таблицы размещать нельзя. Поэтому нужно сначала до таблицы запомнить все наши матрицы во вспомогательные команды, а потом внутри таблицы использовать эти команды. Пример: \def\aaa{$\pmatrix a_1a_2^2 & a_2a_3 & a_4 & a_5 \\ 0 & a_1a_2 & a_3 & a_6 \\ 0 & 0 & a_1 & a_7 \\ 0 & 0 & 0 & a_2 \endpmatrix$,\quad $a_1a_2\neq 0$} \def\bbb{...} \def\ccc{...} \Table[_] \name{Table 2} \caption{Automorphisms of necessary four-dimensional indecomposable Lie algebras} \top{ &{Type of a Lie algebra} &{An automorphism} } \row{ &{...} &{\aaa} } \row{ &{...} &{\bbb} } \row{ &{...} &{\ccc} } \endTable ************************************************************************************ Как контролировать точки в заголовках таблиц при разбиении на страницы? Первый способ (рекомендую его в обычных случаях): добавляем точку в "(continued)" с помощью \postbreak{...} и после первого \breaktable убираем точку в заголовке с помощью \caption{...} \Table[_]\postbreak{({\sl continued\/}).} \name{Table name} \def\captiontext{Caption text} \caption{\captiontext.} \top{ ... } \row{ ... } \row{ ... } \breaktable\caption{\captiontext} \row{ ... } \row{ ... } \breaktable \row{ ... } \row{ ... } \endTable Второй способ (для более гибкого поведения в необычных случаях): отменяем автоматическую вставку "(continued)" с помощью \postbreak{} и полностью контролируем все заголовки с помощью \caption{...} \Table[_]\postbreak{} \name{Table name} \def\captiontext{Caption text} \caption{\captiontext.} \top{ ... } \row{ ... } \row{ ... } \breaktable\caption{\captiontext\ ({\sl continued\/}).} \row{ ... } \row{ ... } \breaktable \row{ ... } \row{ ... } \endTable Таблица для статьи "3760_e.ams", оформленная первым способом: \Table[_]\postbreak{({\sl continued\/}).} \name{Table 2} \def\captiontext{Automorphisms of necessary four-dimensional indecomposable Lie algebras} \caption{\captiontext.} \top{ &{Type of a Lie algebra} &{An automorphism} } \row{ &{${\frak g}_{4,1}$} &{\aaa} } \row{ &{${\frak g}^{\alpha}_{4,2}$, $\alpha\neq 0$, $\alpha\neq 1$} &{\bbb} } \row{ &{${\frak g}_{4,3}$} &{\ccc} } \row{ &{${\frak g}_{4,4}$} &{\ddd} } \row{ &{${\frak g}^{\alpha,\beta}_{4,5}$\\ $-1<\alpha<\beta<1$, $\alpha\beta\neq 0$\\ \text{or} $\alpha=- 1$, $0<\beta<1$} &{\eee} } \row{ &{${\frak g}^{\alpha,\beta}_{4,6}$, $\alpha>0$, $\beta\in{\Bbb R}$} &{\fff} } \row{ &{${\frak g}_{4,7}$} &{\ggg} } \row{ &{${\frak g}^{-1}_{4,8}$} &{\hhh} } \row{ &{${\frak g}^0_{4,8}$} &{\iii} } \row{ &{${\frak g}^{\alpha}_{4,8}$, $-1<\alpha<1$, $\alpha\neq 0$} &{\jjj} } \row{ &{${\goth g}^0_{4,9}$} &{\kkk} } \breaktable\caption{\captiontext} \row{ &{${\goth g}^{\alpha}_{4,9}$, $\alpha>0$} &{\lll} } \row{ &{${\goth g}_{4,10}$} &{\mmm} } \endTable Теперь по поводу разбиений на подстроки в ячейках таблицы. В некоторых ячейках какие-то из команд "\quad" были заменены на "\\", так как формулы оказались там слишком широкими для ячеек в печатной версии. Но в online-версии эти "\\" автоматически заменяются на пробелы, и получается некрасиво: потерялись бывшие "\quad". Для таких случаев у нас есть "\iftex". Если нам надо, чтобы в печатной версии было "\\", а в online-версии было "\quad", пишем так: \iftex\\\else\quad\fi И тогда обе версии становятся идеальными — и печатная, и online. *********************************************************************** Для заголовков с полыми буквами надо использовать Blackboard Bold Dark из пакета mt2pro \font\bbdf=mt2bbdf at 10pt Примеры $H^{(r,s)}_t(\text{\bbdf{R}}^n)$ $H^{(r,s)}_{t,e}(\pmb{\Bbb S}^{n-1}\times\text{\bbdf{R}})$ Буква S выглядит несколько иначе в \bbdf чем в \Bbb - поэтому оформлено через \pmb. Для заголовков с калиграфическими буквами подходит фонт \font\mss=mt2mss at 10pt. Для готических \font\mff=mt2mff at 10pt . Но в XML эти шрифты нельзя Надо через \fortex{\font\bbdf=mt2bbdf at 10pt} Пример: \iftex The Spaces $H^s_t(\text{\bbdf R}^n)$ and $H^s_{t,e}(\pmb{\Bbb S}^{n-1}\times\text{\bbdf R})$ \else The Spaces $H^s_t({\Bbb R}^n)$ and $H^s_{t,e}({\Bbb S}^{n-1}\times{\Bbb R})$ \fi Для маткурсива использовать \boldmath через \iftex и потом kbiybt команды из содержания. Пример \head 3. Primitive Normality of the Class~\iftex $S$\else\boldmath S\fi-WInj \endhead *************************************************************************** В аннотации можно использовать выключенные формулы ****************************************************************************** 1. Для описания публикаций из нескольких частей появился механизм \moreref. Внутри \ref может быть сколько угодно команд \moreref, которые разделяют описания частей публикации. В каждой части могут использоваться любые поля, допустимые для \ref (кроме \no). Пример статьи из трех частей: \ref\no 7 \by Author~A. \paper First part \jour Journal Name \vol 10 \issue 2 \pages 103--114 \moreref \issue 3 \pages 40--52 \yr 2020 \moreref \paper Third part \vol 11 \issue 1 \pages 10--23 \yr 2021 \endref Сведения разных частей публикации возникнут в списке литературы под одним номером и будут разделены точкой с запятой. Так, приведенный выше пример будет представлен следующим образом: 7. Author A., "First part," Journal Name, vol. 10, no. 2, 103-114; no. 3, 40-52 (2020); "Third part," vol. 11, no. 1, 10-23 (2021). ВАЖНО! Поскольку механизм списка литературы был полностью переделан, пожалуйста, на первых порах внимательно просматривайте содержимое всех списков литературы - как в печатных, так и в онлайн-версиях статей. 2. Теперь все поля внутри \ref не являются обязательными. (Это необходимо для механизма \moreref, так как в отдельных частях публикации могут отсутствовать любые поля.) 3. Данные о языке публикации (поле \lang) теперь презентируются в конце - перед \finalinfo, если оно есть. 4. Теперь любой вид публикации допускает поле \lang (а не только статья). 5. В поле \Lang теперь нет необходимиости (оно удалено), вместо него следует использовать \lang. (Но поле \Yr оставлено: с его помощью можно задавать обычный год, необходимый для базы данных Springer, в том случае, когда зачение поля \yr является необычным.) 6. Теперь \abstract может состоять из нескольких абзацев и содержать выключеные формулы. 7. Можно использовать команду \vspace. (Она игнорируется в онлайн-версиях.) 8. Поля оглавления увеличены в соответствии с запросом заказчика. ******************************************************************************* В той проблемной матрице (строка 935 и ниже) больше 10 колонок, а онлайновый LaTeX такого не позволяет. Попробуйте \alignedat: $$ \xi^{-1} \tau^{-1} \hat{t} \hat{a}^{-1}\xi: \alignedat{6} & a \quad & \operatornamewithlimits{\mapsto}\limits^{\xi^{-1}} \quad & a \quad & \operatornamewithlimits{\mapsto}\limits^{\tau^{-1}} \quad & a \quad & \operatornamewithlimits{\mapsto}\limits^{\hat{t}} \quad & a \quad & \operatornamewithlimits{\mapsto}\limits^{\hat{a}^{-1}} \quad & a \quad & \operatornamewithlimits{\mapsto}\limits^{\xi} \quad & a, \\ & b \quad & \operatornamewithlimits{\mapsto}\limits^{\xi^{-1}} \quad & b \quad & \operatornamewithlimits{\mapsto}\limits^{\tau^{-1}} \quad & b \quad & \operatornamewithlimits{\mapsto}\limits^{\hat{t}} \quad & ba \quad & \operatornamewithlimits{\mapsto}\limits^{\hat{a}^{-1}} \quad & ab \quad & \operatornamewithlimits{\mapsto}\limits^{\xi} \quad & ab, \\ & c \quad & \operatornamewithlimits{\mapsto}\limits^{\xi^{-1}} \quad & a^{-1}c \quad & \operatornamewithlimits{\mapsto}\limits^{\tau^{-1}} \quad & a^{-1}ca^{-1} \quad & \operatornamewithlimits{\mapsto}\limits^{\hat{t}} \quad & a^{-1}ca \quad & \operatornamewithlimits{\mapsto}\limits^{\hat{a}^{-1}} \quad & c \quad & \operatornamewithlimits{\mapsto}\limits^{\xi} \quad & ac, \\ & t \quad & \operatornamewithlimits{\mapsto}\limits^{\xi^{-1}} \quad & t \quad & \operatornamewithlimits{\mapsto}\limits^{\tau^{-1}} \quad & t \quad & \operatornamewithlimits{\mapsto}\limits^{\hat{t}} \quad & t \quad & \operatornamewithlimits{\mapsto}\limits^{\hat{a}^{-1}} \quad & t \quad & \operatornamewithlimits{\mapsto}\limits^{\xi} \quad & t. \endalignedat $$ ************************************************************************************************** Добавлен механизм \nocomma. Если в поле \paper, \book или \inbook поместить команду \nocomma, то после отображения значения этого поля не будет добавлена разделяющая запятая или точка. Это полезно в том случае, если заголовок статьи или книги оканчивается на "?". Например, следующая ссылка \ref\no 1 \by Author~A. \paper Is this a paper title?\nocomma \inbook Is This a Book Title?\nocomma \publ Publishing \publaddr Some Address \yr 2020 \pages 12--34 \endref будет представлена так: Author A., "Is this a paper title?" in: Is This a Book Title? Publishing, Some Address (2020), 12-34. т.е. перед "in:" и перед Publishing не будет запятых. ************************************************************************************************** \topmatter ... \endtopmatter Для PDF !!! \iftex \input cyracc.def \font\tencyr=wncyr10 \font\tencyrbf=wncyb10 \font\tencyrit=wncyi10 \def\cyr#1#2{{\tencyr\cyracc#2}} \def\cyrbf#1#2{{\tencyrbf\cyracc#2}} \def\cyrit#1#2{{\tencyrit\cyracc#2}} \def\textcyr#1#2{{\text{\tencyr\cyracc#2}}} \def\textcyrbf#1#2{{\text{\tencyrbf\cyracc#2}}} \def\textcyrit#1#2{{\text{\tencyrit\cyracc#2}}} \else \def\cyr#1#2{{#1}} \def\cyrbf#1#2{{\bf#1}} \def\cyrit#1#2{{\it#1}} \def\textcyr#1#2{{\text{#1}}} \def\textcyrbf#1#2{{\textbf{#1}}} \def\textcyrit#1#2{{\textit{#1}}} \fi ... In the text of the article, we can use \cyr{<русский текст>}{}, \cyrbf{<жирный русский текст>}{}, and \cyrit{<курсивный русский текст>}{}. The same can be done in math mode: $$ [\textcyr{<русский текст>}{}], [\textcyrbf{<жирный русский текст>}{}], [\textcyrit{<курсивный русский текст>}{}]. $$ *************************************************************************************************** Для PDF и XML \iftex \input cyracc.def \font\tencyr=wncyr10 \font\tencyrbf=wncyb10 \font\tencyrit=wncyi10 \def\cyr#1#2{{\tencyr\cyracc#2}} \def\cyrbf#1#2{{\tencyrbf\cyracc#2}} \def\cyrit#1#2{{\tencyrit\cyracc#2}} \def\textcyr#1#2{{\text{\tencyr\cyracc#2}}} \def\textcyrbf#1#2{{\text{\tencyrbf\cyracc#2}}} \def\textcyrit#1#2{{\text{\tencyrit\cyracc#2}}} \def\qtextcyr#1#2{{\text{``{\tencyr\cyracc#2}''}}} \def\qtextcyrbf#1#2{{\text{``{\tencyrbf\cyracc#2}''}}} \def\qtextcyrit#1#2{{\text{``{\tencyrit\cyracc#2}''}}} \else \def\cyr#1#2{{#1}} \def\cyrbf#1#2{{\bf#1}} \def\cyrit#1#2{{\it#1}} \def\textcyr#1#2{{\text{#1}}} \def\textcyrbf#1#2{{\textbf{#1}}} \def\textcyrit#1#2{{\textit{#1}}} \def\qtextcyr#1#2{{``\text{#1''}}} \def\qtextcyrbf#1#2{{``\textbf{#1}\text{''}}} \def\qtextcyrit#1#2{{``\textit{#1}\text{''}}} \fi ... In the text of the article, we can use \cyr{русский текст}{russki\u i tekst}, \cyrbf{жирный русский текст}{zhirny\u i russki\u i tekst}, and \cyrit{курсивный русский текст}{kursivny\u i russki\u i tekst}. The same can be done in math mode. Without quotation marks: $$ \textcyr{русский текст}{russki\u i tekst}, \textcyrbf{жирный русский текст}{zhirny\u i russki\u i tekst}, \textcyrit{курсивный русский текст}{kursivny\u i russki\u i tekst}. $$ With quotation marks: $$ \qtextcyr{русский текст}{russki\u i tekst}, \qtextcyrbf{жирный русский текст}{zhirny\u i russki\u i tekst}, \qtextcyrit{курсивный русский текст}{kursivny\u i russki\u i tekst}. $$ ************************************************************************* Надо заменять \rm на \text или просто удалять в \text{\rm and} *********************************************************************** Если \inbook оканчивается кавычками, нужно перед закрывающимися кавычками вставить запятую и добавить команду \nocomma. Пример: \ref\no 18 \by Polikanova~I.~V. \paper Definition of enika by a~finite set of points \inbook MAK-2017: ``Mathematicians to Altai Krai,''\nocomma \publaddr Barnaul \publ Altai Univ. \yr 2017 \pages 37--40 \endref Команда \nocomma отменяет автоматическое добавление запятой после \paper, \book или \inbook. (Раньше мы использовали эту команду, когда название завершалось вопросительным знаком. Теперь она и в случае кавычек пригодилась.) *************************************************************************** Добавлены макросы \upmapsto и \downmapsto, которые производят символы вертикальных стрелок с пятками и которые можно использовать в XML и только в XML. А вот так их можно использовать в TeX: \iftex \def\upwardarrow{\mathord{\hbox to 5pt{\hss$\vcenter{\hbox to2.4pt{\hss$\mathchar"222$\hss}\hrule}\hss$}}} \def\downwardarrow{\mathord{\hbox to 5pt{\hss$\vcenter{\hrule\hbox to2.4pt{\hss$\mathchar"223$\hss}}\hss$}}} \else \def\upwardarrow{{\upmapsto}} \def\downwardarrow{{\downmapsto}} \fi **************************************************************************************** Если есть тильды или верхние точки в матрицах надо либо smallmatrix лиюо картинку. Если есть \leaders --- надо картинку **************************************************************************************** \tag гибче чем \eqno Надо так \iftex \tag $1'$ \else \tag 1' \fi **************************************************************************************** https://unicode-table.com/ru/sets/arrow-symbols/#arrows-to/from-bar Изменение одно: добавленные в предыдущей версии 2.29 макросы \upmapsto и \downmapsto удалены как не универсальные. Вместо них добавлен универсальный XML-only макрос \Unicode{...} порождающий символ с указанным шестнадцатеричным Unicode-номером. Теперь мы сможем легко воспроизводить в XML любые юникодные символы, не изменяя конвертер. Например, вертикальные стрелки с пятками порождаются командами \Unicode{21A5} и \Unicode{21A7}. Для удобства привожу соответствующий фрагмент с определениями для Вашей булевозначной статьи: Для удобства привожу соответствующий фрагмент с определениями для Вашей булевозначной статьи: \iftex \def\upwardarrow{\mathord{\hbox to 5pt{\hss$\vcenter{\hbox to2.4pt{\hss$\mathchar"222$\hss}\hrule}\hss$}}} \def\downwardarrow{\mathord{\hbox to 5pt{\hss$\vcenter{\hrule\hbox to2.4pt{\hss$\mathchar"223$\hss}}\hss$}}} \else \def\upwardarrow{{\Unicode{21A5}}} \def\downwardarrow{{\Unicode{21A7}}} \fi ***************************************************************************************** заменять \biggg на \bigg \big\langle на \bigl \big\rangle на \bigr ***************************************************************************************** При использовании gutable внутри презентаций, созданных beamer, вместо & надо писать \сell. ******************************************************************************************************** Cовременная тенденция языка --- называть рецензирование peer review, а автора рецензии --- reviewer или peer reviewer. См., например, https://www.editage.com/insights/peer-review-process-and-editorial-decision-making-at-journals ******************************************************************************************************* Turkey --->T\"urkiye ******************************************************************************************************* email addresses are not case sensitive ******************************************************************************************* Улучшено распознавание знаков препинания, включенных в формулы. Теперь формулы вида ${{2+2=4}.}$ тоже приводят к предупреждениям. ************************************************************************************************** Расширен механизм оформления сторонних статей. Сторонняя статья - это статья, которая не является переводом статьи из СМЖ. Для таких статей мы не указываем "\opages". (Отсутствие "\opages" - ключевой и единственный признак сторонней статьи.) В случае сторонней статьи во второй строке шапки вместо автоматических данных о русском оригинале из СМЖ будет либо ничего, либо текст, определяемый новой командой "\translation ... \endtranslation". Пример: \translation Translated from {\it Siberian Electronic Mathematical Reports}, 2021, Vol.~1, No.~2, pp.~33--44. \endtranslation Для уточнения источника можно использовать новую команду "\source ... \endsource", которая вставляется там же, где и "\thanks" и "\dedication". Пример: \source The article was submitted by the author in English. \endsource Текст, приведенный в "\source ... \endsource", возникнет на первой странице статьи в виде сноски (вслед за "\thanks" и/или "\dedication", если они присутствуют). ****************************************************************************************** \ref\no 28 \unstructured Henao~C.A. and Rodi\~no Montoya M.L., Private communication. \endref ****************************************************************************************** . Появилась команда \Origin для указания данных русского источника, Эту команду следует размещать внутри \topmatter. Пример: \Origin \Journal \VMZh \Year 2022 \CopyrightYear 2021 \Volume 12 \Issue 3 \Pages 456--467 \DOI 10.23671/VNC.2022.01.23456 \endOrigin По очевидным причинам \Origin нельзя использовать одновременно с \opages, т.е. в файле статьи должно быть что-то одно -- либо \opages, либо \Origin. Если используется \opages, то данные русского источника, как и прежде, определяются автоматически. Если же используется \Origin, то его поля определяют данные русского источника следующим образом: \Journal = Необязательное название журнала с русской статьей (Если журнал не указан, то используется "Sibirskii Matematicheskii Zhurnal". Вместо названия можно использовать команды \SMZh = "Sibirskii Matematicheskii Zhurnal" и \VMZh = "Vladikavkazskii Matematicheskii Zhurnal".) \Year = Необязательный год опубликования русской статьи (Если год не указан, то используется год текущей английской статьи.) \CopyrightYear = Необязательный год авторского права русской статьи (Если год авторского права не указан, то используется значение \Year, а если и оно не указано, то год текущей английской статьи.) \Volume = Необязательный том русской статьи (Если том и журнал не указаны, то используется том английской статьи.) \Issue = Необязательный номер выпуска русской статьи (Если номер и журнал не указаны, то используется номер английской статьи.) \Pages = Страницы русской статьи (Должны обязательно присутствовать и иметь формат "цифры--цифры".) \DOI = Необязательный DOI русской статьи (Если DOI, журнал, год, том и номер не указаны, то DOI определяется автоматически как DOI соответствующей русской статьи СМЖ.) 2. Команда \translation удалена, так как в ней отпала надобность. 3. Добавлено новое официальное название Турции: T\"urkiye. ======================================================================================================= Теперь -- запоздалые ответы на возникавшие раньше вопросы. 1. Как в списке литературы оформить автора с суффиксом "Jr"? Стандартный универсальный способ набора необычных имен авторов опирается на поля \By и \Initial. Пример: \ref\no 1 \by Jones~B.~F.,~Jr., Diep~Nguyen~Khac, and Chistyakov~V.~F. \By Jones \Initials BFJ \By Diep Nguyen Khac \By Chistyakov \Initials VF ... \endref 2. Как набрать ссылку на статью без номера и страниц, но с ID и объемом? Стандартный способ опирается на поля \num и \size. Пример: \ref\no 1 \by Author~A. \paper A paper without issue and pages but with ID and size \jour Journal Name \yr 2010 \vol 1 \num 123 % this is ID \size 10 % this is size \endref 3. Как набрать интеграл, перечеркнутый косой чертой? Пример (для случая выключенной формулы): \iftex \def\sint{\mathop{\int\hskip-3.8mm\hbox{$\scriptstyle\diagup$}}} \else \def\sint{\mathop{\int\,\hskip-3.8mm\hbox{$\scriptstyle\diagup$}}} \fi We use a slashed integral: $$\sint_X f(x)\,dx.$$ 4. Как набрать наклонную жирную букву, если \boldkey приводит к ошибке? Вместо \boldkey надо использовать \boldsymbol. Пример: $f(\boldsymbol e)$. **************************************************************************************************** Если где-нибудь внутри \topmatter...\endtopmatter вставить команду \OpenAccess (например, сразу после \topmatter), то правообладателем статьи станет "The Author(s)", в конце статьи перед списком литературы появится абзац "Open Access" и в XML-версии будут указаны соответствующие права доступа и лицензия. **************************************************************************************** нужно вместо \left(\matrix ... \endmatrix\right) использовать \pmatrix ... \endpmatrix *************************************************************************************** Если статья имеет номер оформляем так: \ref\no 38 \by Ray~S., Miller~W.A., Alsing~P.M., and Yau~S.T. \paper Adiabatic isometric mapping algorithm for embedding 2-surfaces in Euclidean 3-space \jour Class. Quantum Grav. \yr 2015 \vol 32 \finalinfo Article no.~235012, 11~pp. \endref ************************************************************************************* Scientific and technical abbreviations are often lowercased. They may also contain a mix of capital and lowercase letters. ************************************************************************************* Прилагаю также файлы "Test.ams" и "Test.pdf" с примерами использования команды \Wrap, определенной в макропакете "wrap.tex". С помощью этой команды можно вставлять объекты, обтекаемые текстом. Вот типичный пример: \iftex % \wrapmargin = 6mm \Wrap\right 55mm (1-11) \Figure \before{}\after{} \name{Fig.~1} \caption{Figure caption} \body\epsfxsize 55mm \epsfbox{Picture.eps}\endbody \endFigure \endWrap \else \Figure \name{Fig.~1} \caption{Figure caption} \body\file{Picture.png}\endbody \endFigure \fi Глобальная переменная \wrapmargin задает горизонтальный отступ текста от вставляемого объекта. (По умолчанию это 6 mm.) Следом за командой \Wrap идут 4 аргумента: * параметр \left или \right, задающий горизонтальное расположение объекта; * ширина объекта; * номера начальной и конечной строк, занимаемых объектом (в скобках через дефис); * собственно вставляемый объект, за которым следует команда \endWrap. Объект - это, как правило, картинка, но в принципе это может быть что угодно. (При использовании \Figure нужно добавлять \before{}\after{}, чтобы до и после вставляемой картинки не появлялись лишние вертикальные отступы.) Начальная и конечная строки - это те строки, которые должны быть укорочены, чтобы рядом с ними расположился обтекаемый объект. Номер начальной строки отсчитывается от начала абзаца, в котором располагается объект. (Хотя правильнее будет сказать не "располагается", а "начинается", так как обтекаемый объект может занимать несколько абзацев. В прилагаемом файле "Test.ams" есть такой пример.) Обычно обтекаемый объект располагается в начале абзаца. В этом случае команда \Wrap помещается непосредственно перед абзацем, а номер начальной строки равен 1. Но объект можно расположить и в середине абзаца, и тогда номер начальной строки будет больше 1. (В файле "Test.ams" есть оба примера.) ************************************************************************************ \intop надо менять на \int ************************************************************************************ В Table \else \name{Table 1 (continued)} заменять на \else\name{} ************************************************************************************ \font\ss=lass1000 \def\ssE{\iftex{\text{\ss E}}\else{\Unicode{1D60C}}\fi} \def\ssB{\iftex{\text{\ss B}}\else{\Unicode{1D5A1}}\fi} \def\ssC{\iftex{\text{\ss C}}\else{\Unicode{1D5A2}}\fi} \def\ssc{\iftex{\text{\ss c}}\else{\Unicode{1D5BC}}\fi} \def\ssU{\iftex{\text{\ss U}}\else{\Unicode{1D5B4}}\fi} \def\ssZ{\iftex{\text{\ss Z}}\else{\Unicode{1D5B9}}\fi} https://texdoc.org/serve/unimath-symbols.pdf/0 ************************************************************************************ multline заменять на alignув Или gathered ************************************************************************************ Новшество состоит в появлении новых обязательных разделов "Funding", "Conflict of Interest" и "Publisher's Note". 1. Содержимое блока \thanks ... \endthanks теперь отображается не в виде сноски на первой странице статьи, а в виде раздела "FUNDING" в конце статьи. Если блок \thanks ... \endthanks отсутствует, то в раздел "FUNDING" вставляется стандартный текст об отсутствии внешнего финансирования. 2. В шапке \topmatter теперь можно использовать блок \conflicts ... \endconflicts. Его содержимое, которое может быть любым текстом и может состоять из нескольких абзацев, отображается в виде раздела "CONFLICT OF INTEREST" в конце статьи. 3. Если блок \conflicts ... \endconflicts отсутствует, то в раздел "CONFLICT OF INTEREST" вставляется стандартный текст об отсутствии конфликтов. При этом в случае одного автора стандартный текст будет от первого лица, который Pleiades рекомендует в случае, когда пол автора "неочевиден". Если же автор один и его пол "очевиден", то в случае отсутствия конфликтов желательно вставлять в шапку \topmatter одну из команд \HeHasNoConflicts или \SheHasNoConflicts, и тогда стандартный текст будет от третьего лица с правильным полом, как это рекомендует Pleiades. 4. После списка литературы теперь автоматически вставляется раздел "Publisher's Note" со стандартным отказом издателя от ответственности. (В XML я его оформил в виде ArticleNote типа "Misc", не найдя подходящего специализированного элемента. Будем надеяться, что проверяльщиков это устроит.) *********************************************************************************** Standard practice seems to be just not to put punctuation after a commutative diagram, even if a period or comma would otherwise belong at that point in the sentence. **************************************************************************************** Вместо \left(\matrix ... \endmatrix\right) нужно спользовать \pmatrix ... \endpmatrix *************************************************************************************** Суффиксы вида "Jr." и т.п. оформляются так: \ref\no37 \by McCarty~G.S., Jr. \By McCarty \Initials GS \Suffix Jr. \paper Homeotopy groups \jour Trans. Amer. Math. Soc. \yr 1963 \vol 106 \pages 293--304 \endref ************************************************************************************** Чтобы было ln а не log в XML надо \operatorname{ln} писать. ************************************************************************************** \font\ss=lass1000 \def\ssE{\iftex{\text{\ss E}}\else{\Unicode{1D60C}}\fi} \def\ssB{\iftex{\text{\ss B}}\else{\Unicode{1D5A1}}\fi} \def\ssC{\iftex{\text{\ss C}}\else{\Unicode{1D5A2}}\fi} \def\ssc{\iftex{\text{\ss c}}\else{\Unicode{1D5BC}}\fi} \def\ssU{\iftex{\text{\ss U}}\else{\Unicode{1D5B4}}\fi} \def\ssZ{\iftex{\text{\ss Z}}\else{\Unicode{1D5B9}}\fi} \def\ssF{\iftex{\text{\ss F}}\else{\Unicode{1D5A5}}\fi} \def\ssG{\iftex{\text{\ss G}}\else{\Unicode{1D5A6}}\fi} ************************************************************************************** Итак, если в заголовке статьи используются подгружаемые шрифты, то их объявление нужно вынести на самый верх, примерно так: \documentstyle{SibMatJ} \fortex{ \font\bss=cmssbx10 at 12pt ... } *****************************************************************************************