gpt4 book ai didi

string - 将 Tex 字符串转换为 Tex 编号

转载 作者:行者123 更新时间:2023-12-03 13:40:35 28 4
gpt4 key购买 nike

我在需要数值的参数中使用自动生成的 Tex 字符串时遇到问题(例如,在 ifthenelse 比较中)。这是一个示例最小代码:

\newcommand\testC{123}
\ifthenelse{\testC<0}{negative}{positive} % works fine !

\newcommand{\testD}{\luaexec{tex.write("123")}} % write to avoid the print carriage return - produces also 123 as \testC
\testD % prompt 132 just as \testC "apparently"
\ifthenelse{\testD<0}{negative}{positive} % error "! Missing number, treated as zero"

\newcounter{compteur}
\setcounter{compteur}{\testD} % error "! Missing number, treated as zero"
\ifthenelse{\thecompteur<0}{negative}{positive}

我找不到从字符串转换为接受算术比较(和其他操作)的数字的方法。

最佳答案

请注意 \luaexec (需要 \usepackage{luacode} ) 不可扩展,所以它不能用在 (Lua)TeX 需要 <number> 的地方扩张后。

\documentclass{article}
\usepackage{luacode}
\usepackage{ifthen}

\begin{document}

\newcommand\testC{123}
\ifthenelse{\testC<0}{negative}{positive} % works fine !

\newcommand{\testD}{\directlua{tex.sprint("123")}} % write to avoid the print carriage return - p$

\testD % prompt 132 just as \testC "apparently"

\ifthenelse{\testD<0}{negative}{positive} % error "! Missing number, treated as zero"

\newcounter{compteur}
\setcounter{compteur}{\testD} % error "! Missing number, treated as zero"
\ifthenelse{\value{compteur}<0}{negative}{positive}

\end{document}

最好使用\value{compteur}在测试中。

关于string - 将 Tex 字符串转换为 Tex 编号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30050430/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com