![在新命令中使用西里尔字母值](https://linux22.com/image/353850/%E5%9C%A8%E6%96%B0%E5%91%BD%E4%BB%A4%E4%B8%AD%E4%BD%BF%E7%94%A8%E8%A5%BF%E9%87%8C%E5%B0%94%E5%AD%97%E6%AF%8D%E5%80%BC.png)
我的目标是能够写:
\newcommand{\сlient_name}{Имя}
并在我的文档中全面使用\client_name
。现在我遇到了以下错误,如下所示:
Underfull \hbox (badness 10000) in paragraph at lines 670--670
[][]|\l_fontspec_font –ü—Ä–æ-–≥—Ä–∞–º-–º–∏-—Ä–æ-–≤–∞-
完整错误截图在这里 -http://take.ms/opd30
我试过这个SE答案并尝试使用
\newcommand{\сlient_name}{\foreignlanguage{russian}{Имя}}
但没有帮助。
如何在 /newcommand 变量中使用西里尔字母值?
答案1
考虑以下最小文档:
\documentclass{article}
\usepackage{fontspec}
\newcommand{\сlient_name}{Имя}
\begin{document}
\client_name
\end{document}
在其上运行 XeLaTeX 会发现
! Missing $ inserted.
<inserted text>
$
l.4 \newcommand{\сlient_name}{Имя}
?
! LaTeX Error: Missing \begin{document}.
See the LaTeX manual or LaTeX Companion for explanation.
Type H <return> for immediate help.
...
l.4 \newcommand{\сlient_name}{Имя}
?
! Missing number, treated as zero.
<to be read again>
n
l.4 \newcommand{\сlient_name}{Имя}
?
! You already have nine parameters.
\reserved@a ...xpandafter \сlient \reserved@b #10
n{
l.4 \newcommand{\сlient_name}{Имя}
?
! Missing $ inserted.
<inserted text>
$
l.5
?
No file mohnstrudel.aux.
! Undefined control sequence.
l.9 \client
_name
?
! Missing $ inserted.
<inserted text>
$
l.9 \client_
name
?
! Missing $ inserted.
<inserted text>
$
l.10
?
注意第一次错误正是在\newcommand
尝试时发生的。之后发生的情况完全不可预测。
_
修复命令名称中包含的错误:这是不允许的,请参阅命令/宏名称不能包含数字和符号