
Versuch, einen Befehl zu schreiben, der eine Reihe von Kreisen erzeugt, wobei der erste n
ausgefüllt ist. Die gewünschte Funktionalität wäre, \IBmark{l}{m}
wobei l
die Länge der Linie und m
die Anzahl der ausgefüllten Kreise ist.
Verwendung LaTeX
auf der Rückseite
\newcommand{\IBmark}[2]{\pgfmathparse{#1-#2}\textbf{\multido{}{#2}{\CIRCLE}\multido{}{\pgfmathresult}{\Circle}}}
Ist mein bester Versuch, dies mithilfe des Pakets zum Laufen zu bringen, tikz
es gibt jedoch Folgendes zurück
⚫⚫⚫.0OO
Denn l = 5
und m = 3
statt der gewünschten
⚫⚫⚫OO
Versuche, die vom Befehl erlaubte Rundung zu verwenden, pgf print
führten zu schlechteren Ergebnissen. Ich kann anscheinend keine Möglichkeit finden, den Fehler zu beheben.
Antwort1
Sie müssen int(...)
zur \pgfmathparse
Berechnung etwas hinzufügen.
Auch in dieser Implementierung \textbf
ist die Verwendung von irrelevant und wird daher entfernt.
\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}
Antwort2
Herzlich willkommen! Von den Bildern, die ich mache, könnte Ihnen so etwas gefallen:
\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}
Sie können die vertikale Position des Phantomknotens anpassen, um jede gewünschte Ausrichtung zu erhalten. Im Prinzip braucht man Ti nichtkZ dafür, aber es ist sicherlich sehr einfach, dies mit Ti zu erledigenkZ.
Antwort3
Wenn wir OpTeX verwenden, können wir Folgendes tun:
\def\ibmark#1#2{\fornum 1..#1\do{\ifnum##1>#2$\circ$\else$\bullet$\fi}}
\ibmark{5}{3}
\bye