我正在用波斯语写一些东西,我想管理一些单词之间的空格。
我定义了:
\newcommand{\nf}{\char\value{226}\char\value{128}\char\value{140}}
但是在构建文档之后,我在使用 \nf 的每一行都看到了“!缺少数字,视为零”错误...
这是一个简短的示例文件:
\documentclass[11pt,oneside,a4paper]{report}
\usepackage{xepersian}
\settextfont{Yas}
\newcommand{\nf}{\char\value{226}\char\value{128}\char\value{140}}
\begin{document}
اگر $n$ نقطهٔ رنگی در صفحه از $k$ رنگ مختلف داشته باشیم، می\nf
خواهیم یک شکل هندسی (دایره، مثلث و ...) را طوری در صفحه قرار دهیم که از هر رنگ دست\nf
کم یکی پوشانده شود.
\end{document}
我在 Ubuntu 1604 上使用 TeXMaker 4.4.1;出了什么问题?!
答案1
宏指\value
的是计数器的值。我怀疑是否有计数器名称 226
,,128
和140
。我假设你指的是数字:
\char226 \char128 \char140
在 LaTeX 中提供了宏\symbol
(负责处理数字的正确结尾):
\newcommand*{\nf}{\symbol{226}\symbol{128}\symbol{140}}
但这些数字让人怀疑这是一个以 UTF-8 编码的 Unicode 字符。这是一个不同的故事。
使用 8 位 TeX 引擎可以写成:
\newcommand*{\nf}{^^e2^^80^^8c}
但使用支持 Unicode 的 TeX 引擎(XeTeX、LuaTeX),可以直接指定字符。或者使用 ^ 符号 (各种引擎中的 ^^ 符号):
\newcommand*{\nf}{^^^^200c}
符号为:U+200C ZERO WIDTH NON-JOINER