我尝试分析我的书中出现的 $^{+/-}$ 构造中的错误:减号全部显示为星号。因此我准备了一个最小示例:
\documentclass[11pt,a4paper]{scrbook}
%\usepackage{hormonbooktest}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\usepackage{stix2}
\DeclareRobustCommand{\heterozyg}{$^{+/-}$}
\DeclareRobustCommand{\homozyg}{$^{+/+}$}
\DeclareRobustCommand{\minuszyg}{$^{-/-}$}
\DeclareRobustCommand{\gs}{$\rightwhitearrow$}
\begin{document}
(\gs Shh\heterozyg) (\gs Shh\homozyg) (\gs Shh\minuszyg)
\end{document}
事实证明这是正确的。但是,当我将前言放入样式文件中时,我收到错误:未找到命令 \gs。
样式文件为:
\ProvidesFile{hormonbooktest.sty}[2021/12/01 Bernhard Kleine]
\RequirePackage[ngerman]{babel}
\RequirePackage[utf8]{inputenc}
\RequirePackage[T1]{fontenc}
\RequirePackage{stix2}
\DeclareRobustCommand{\heterozyg}{$^{+/-}$}%heterozygous
\DeclareRobustCommand{\homozyg}{$^{+/+}$}%homozygouspositiv
\DeclareRobustCommand{\minuszyg}{$^{-/-}$}%homozygousnegativ
\DeclareRobustCommand*{\gs}[1]{\hyperlink{#1}{$\rightwhitearrow$#1}}%Verweise ins
% Glossar
我想补充一点,原始样式文件太大,无法在 mwe 中显示,但对于星号,将样式文件复制到另一个文件中会出现错误。将样式文件修剪为上面的样式文件仍然有错误。
我正在使用 texstudio(已更新)和相当最新的 texlive。如果有人能向我展示样式文件中的错误,我就可以继续分析错误的星号而不是减号。
答案1
该错误与文件的使用无关.sty
。
! Undefined control sequence.
\gs #1->\hyperlink
{#1}{$\rightwhitearrow $#1}
l.5 (\gs Shh\heterozyg) (\gs S
hh\homozyg) (\gs Shh\minuszyg)
?
因为\hyperlink
未定义(因为hyperref
尚未加载)。
带有内联声明的文件版本不使用\hyperlink
并且不会产生此错误。