[vecarrow]{svmono} schlägt fehl

[vecarrow]{svmono} schlägt fehl

Die Dokumentation von svmono v5.6 vonhttp://www.springer.com/gp/authors-editors/book-authors-editors/resources-guidelines/rights-permissions-licensing/manuscript-preparation/5636sagt in refguide.pdf:

vecarrow stellt Vektoren mit einem Pfeil darüber dar, wenn der \vec-Befehl verwendet wird

Allerdings läuft pdflatexauf

\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}

führt zu

Kompilierungsergebnisse

Es wird kein Pfeil gedruckt. Irgendein Bugfix, am besten mittels \patchcmdoder ähnlich, damit ich nicht hacken muss svmono? Ich kann Springer nicht erreichen (meine E-Mails wurden auf SMTP-Ebene abgelehnt).

Ein Auszug aus dem Log:

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.

Crosspost: http://latex.org/forum/viewtopic.php?t=32738

Antwort1

Die Klasse (Version 5.6) hat

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

und dann

\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}

Dieselbe Klasse tut jedoch später

\def\fig@type{figure}

mit der Folge, dass der Test am Anfang des Dokuments \ifx\vec@style\fig@type„false“ zurückgibt.

Bei Version 5.5 war dies nicht der Fall \AtBeginDocumentund der Test ist nicht fehlgeschlagen.

Es handelt sich eindeutig um einen Fehler.

Sie können das Problem beheben, indem Sie Folgendes neu definieren \vec:

\documentclass{svmono}

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

\begin{document}

\(C\vec{C}\)

\end{document}

Bildbeschreibung hier eingeben

Wenn Sie verwenden amsmath, ist die Problemumgehung anders.

\documentclass{svmono}
\usepackage{amsmath}

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

\begin{document}

\(C\vec{C}\)

\end{document}

Beim newtxmathWorkaround sieht es nochmal anders aus:

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

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

\begin{document}

\(C\vec{C}\)

\end{document}

verwandte Informationen