備考

備考

LaTeX で、履歴書用に自分のスキルを視覚的に表現しようとしています。次のようになります。

スキル

簡単な方法はありますか?

答え1

備考

マクロ\resumeは2つの引数を取る

  1. 「達成」したポイント数
  2. 合計ポイント数

編集:チェックが実装されました。小数点以下の数値はエラーになります\ifnum

負の数値は奇妙な動作をしますが、いずれにしても使用されない可能性があります。また、獲得したポイント数が合計ポイント数より大きい場合もチェックされません。

実装

\documentclass{standalone}
\usepackage{tikz}
\newcommand\resume[2]{%
  \ifnum#1>#2
    $#1 > #2$
  \else
    \ifnum#1<0
      $#1 < 0$
    \else
      \ifnum#2<0
        $#2 < 0$
      \else
        \tikz{%
        \ifx#20
        \else
          \foreach \i in {1,...,#2} {
            \filldraw[black!20] (\i ex,0) circle (0.4ex);
          };
        \fi
        \ifx#10
        \else
          \foreach \i in {1,...,#1} {
            \filldraw[black] (\i ex,0) circle (0.4ex);
          };
        \fi
        }
      \fi
    \fi
  \fi
}
\begin{document}
\begin{tabular}{rl}
  Much skillz & \resume{5}{10} \\
  So recommendable & \resume{2}{10} \\
  Wow! & \resume{10}{10} \\
  10/5 & \resume{10}{5} \\
  0/0 & \resume{0}{0} \\
  0/5 & \resume{0}{5} \\
  0/-1 & \resume{0}{-1} \\
\end{tabular}
\end{document}

出力

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

関連情報