新しいコマンドで算術演算を使用する

新しいコマンドで算術演算を使用する

最初の円が塗りつぶされた円の線を生成するコマンドを記述しようとしています。 必要な機能は、 が線の長さで、が塗りつぶされた円の数であることnです。\IBmark{l}{m}lm

LaTeX裏面での使用

\newcommand{\IBmark}[2]{\pgfmathparse{#1-#2}\textbf{\multido{}{#2}{\CIRCLE}\multido{}{\pgfmathresult}{\Circle}}}

パッケージを使用してこれを動作させるための最善の試みですtikzが、これが返されます

⚫⚫⚫.0OO

についてはl = 5m = 3望ましい

⚫⚫⚫OO

コマンドで許可されている丸めを使用しようとすると、pgf printより悪い結果が返されました。エラーを削除する方法が見つからないようです。

答え1

int(...)計算に追加する必要があります\pgfmathparse

また、この実装では、 の使用は\textbf無関係であるため削除されます。

\documentclass{article}
\usepackage{txfonts}
\usepackage{pstricks-add}
\def\CIRCLE{$\medbullet$}
\def\Circle{$\medcirc$}
\newcommand{\IBmark}[2]{\pgfmathparse{int(#1-#2)}%
  \multido{}{#2}{\CIRCLE}\multido{}{\pgfmathresult}{\Circle}}
\begin{document}
\IBmark{5}{3}
\end{document}

ここに画像の説明を入力してください

答え2

ようこそ!私が撮った写真から、次のようなものが欲しくなるかもしれません:

\documentclass{article}
\usepackage{tikz}
\newcommand{\IBmark}[2]{\begin{tikzpicture}[baseline={(X.base)},
cfill/.code={\unless\ifnum\X>#2
\tikzset{fill}
\fi}]
\path (1,-0.25ex) node (X) {\vphantom{X}}foreach \X in {1,...,#1}
{(\X*1.2em,0) node[circle,draw,minimum size=1em,cfill] {}};
\end{tikzpicture}}
\begin{document}
Hello \IBmark{5}{3}.
\end{document}

ここに画像の説明を入力してください

ファントムノードの垂直位置を調整して、任意の配置にすることができます。原則として、Tiは必要ありません。Zは確かにTiでこれを行うのは非常に簡単ですZ.

答え3

OpTeX を使用している場合は、次のように実行できます。

\def\ibmark#1#2{\fornum 1..#1\do{\ifnum##1>#2$\circ$\else$\bullet$\fi}}
\ibmark{5}{3}
\bye

関連情報