看起来该stringstrings
包可以做到这一点:
\substring{This is a string.}{1}{4}
给出了This
,但对于非 ASCII 字符似乎失败了:
\substring{这是一个句子。}{1}{4}
不能给予这是一个
。
有没有类似的适用于汉字的软件包?
答案1
如果您可以切换到 LuaLaTeX,那么创建一个调用 Lua 函数的“包装器” LaTeX 宏就很简单了unicode.utf8.sub
。(unicode.utf8.sub
是标准函数的支持 utf8 的版本string.sub
。)
\documentclass{article}
\usepackage{fontspec}
\setmainfont{MingLiU} % or whatever font you prefer
\newcommand\substring[3]{\directlua{%
tex.sprint( unicode.utf8.sub ( "#1", #2 , #3 ) ) }}
\begin{document}
这是一个句子。
\substring{这是一个句子。}{1}{4}
\end{document}