[vecarrow]{svmono}が失敗する

[vecarrow]{svmono}が失敗する

svmono v5.6のドキュメントhttp://www.springer.com/gp/authors-editors/book-authors-editors/resources-guidelines/rights-permissions-licensing/manuscript-preparation/5636refguide.pdf には次のように書かれています:

vecarrowは、\vecコマンドが使用されているときに、ベクトルを上に矢印で描画します。

しかしpdflatex

\documentclass[vecarrow]{svmono}% v5.6 from https://resource-cms.springernature.com/springer-cms/rest/v1/content/20566/data/v10
\begin{document}
\(C\vec{C}\)
\end{document}

結果的に

コンパイル結果

矢印が印刷されません。バグ修正はありますか。理想的には、\patchcmdまたは同様の手段を使用して、ハッキングしなくても済むようにしていただけますsvmonoか。Springer にアクセスできません (電子メールが SMTP レベルで拒否されました)。

ログからの抜粋:

This is pdfTeX, Version 3.14159265-2.6-1.40.19 (TeX Live 2019/dev/Debian) (preloaded format=pdflatex 2018.8.21)  9 AUG 2019 21:12
LaTeX2e <2018-04-01> patch level 5
Document Class: svmono 2018/06/25 v5.6
Document Class: article 2018/09/03 v1.4i Standard LaTeX document class
File: size10.clo 2018/09/03 v1.4i Standard LaTeX file (size option)
Package: xcolor 2016/05/11 v2.12 LaTeX color extensions (UK)
File: color.cfg 2016/01/02 v1.6 sample color configuration
File: pdftex.def 2018/01/08 v1.0l Graphics/color driver for pdftex
File: x11nam.def 2016/05/11 v2.12 Predefined colors according to Unix/X11 (UK)
Package: ntheorem 2011/08/15 1.33
Package: ifthen 2014/09/29 v1.1c Standard LaTeX ifthen package (DPC)
[Loading MPS to PDF converter (version 2006.09.02).]
LaTeX Font Warning: Font shape `OT1/cmr/m/n' in size <8.5> not available
(Font)              size <8> substituted on input line 4.
LaTeX Font Warning: Size substitutions with differences
(Font)              up to 0.5pt have occurred.

クロスポスト: http://latex.org/forum/viewtopic.php?t=32738

答え1

クラス(バージョン5.6)には

\DeclareOption{vecarrow}{\def\vec@style{arrow}}

その後

\def\fig@type{arrow}% temporarily abused
\AtBeginDocument{\ifx\vec@style\fig@type\else
\@ifundefined{vec@style}{%
 \def\vec#1{\ensuremath{\mathchoice
                     {\mbox{\boldmath$\displaystyle\mathbf{#1}$}}
                     {\mbox{\boldmath$\textstyle\mathbf{#1}$}}
                     {\mbox{\boldmath$\scriptstyle\mathbf{#1}$}}
                     {\mbox{\boldmath$\scriptscriptstyle\mathbf{#1}$}}}}%
}
{\def\vec#1{\ensuremath{\mathchoice
                     {\mbox{\boldmath$\displaystyle#1$}}
                     {\mbox{\boldmath$\textstyle#1$}}
                     {\mbox{\boldmath$\scriptstyle#1$}}
                     {\mbox{\boldmath$\scriptscriptstyle#1$}}}}%
}
\fi}

しかし、同じクラスは後に

\def\fig@type{figure}

その結果、ドキュメントの開始時にテストは\ifx\vec@style\fig@typefalse を返します。

バージョン 5.5 にはそれがなく\AtBeginDocument、テストは失敗しませんでした。

それは明らかにバグです。

再定義することで修正できます\vec:

\documentclass{svmono}

\AtBeginDocument{%
  \let\vec\relax
  \DeclareMathAccent{\vec}{\mathord}{letters}{"7E}%
}

\begin{document}

\(C\vec{C}\)

\end{document}

ここに画像の説明を入力してください

を使用する場合amsmath、回避策は異なります。

\documentclass{svmono}
\usepackage{amsmath}

\AtBeginDocument{%
  \def\vec{\protect\mathaccentV{vec}17E}%
}

\begin{document}

\(C\vec{C}\)

\end{document}

回避newtxmath策はまた異なります:

\documentclass{svmono}
\usepackage{amsmath}
\usepackage{newtxtext,newtxmath}

\AtBeginDocument{%
  \def\vec{\protect\mathaccentV{vec}2AE}%
}

\begin{document}

\(C\vec{C}\)

\end{document}

関連情報