変数 \n を開始する for ループを使用しています。(\n+2) の結果を出力するにはどうすればよいでしょうか? e-Tex と LuaTex について読んだことがありますが、この単純な操作にはやりすぎのように思えます。
もうありがとう!
答え1
非常にシンプルなバージョン: を使用します\the\numexpr
。
\documentclass{article}
\def\n{1}
\begin{document}
\n\ + 2: \the\numexpr\n+2
\end{document}
更新: より包括的なバージョン。このコマンドは、\allmightymath
整数式 (簡略化されていない場合でも) を使用して評価しますexpl3
。
\documentclass{article}
\usepackage{expl3,xparse}
\ExplSyntaxOn
\NewDocumentCommand { \allmightymath } { m }
{
\int_eval:n { #1 }
}
\ExplSyntaxOff
\def\n{1}
\begin{document}
\n\ + 2: \the\numexpr\n+2\\
\allmightymath{4*(\n-1)+2}\\
\def\n{2}
\allmightymath{4*(\n-1)+2}
\end{document}
答え2
これは非常に強力な例ですPGFパッケージ。これを使用すると、TeX ドキュメント内で素晴らしい計算を実行できます。
\documentclass{article}
\usepackage{pgfmath,pgffor}
\begin{document}
\foreach \n in {0,1,...,100}{
\pgfmathparse{int(\n+2)}
\pgfmathresult\par
}
\end{document}
答え3
以下は LuaLaTeX ベースのソリューションです。for
ループを開始し、n
から1
までの各値について、 、、20
の値を出力します。n
n-2
4(n-1)+2
\documentclass{article}
\begin{document}
\directlua{%
for n = 1 , 20 do
tex.sprint ( n .. " ".. n+2 .. " ".. 4*(n-1)+2 .. "\string\\par" )
end}
\end{document}