3

Please I want modify the following code by adding a new command as \marks{7,6,4,3} to get

enter image description here

\documentclass{article}
\usepackage{amsmath}
\usepackage{enumerate}
\usepackage{graphics} 
\usepackage{tikz}
\usetikzlibrary{positioning}


\tikzstyle{NP}=[rectangle,  
draw=blue!80,
rounded corners=1pt, 
inner sep=12pt,
inner ysep=4pt,
draw, fill=black!0,
text width=2cm,
minimum height=.9cm]


\newcommand{\TS}[1]{ 
    \begin{tikzpicture}
    \node[rectangle,draw=blue!80,rounded corners=1pt,inner sep=60pt,  inner ysep=16pt, minimum height=6cm, text width=10cm,align=center,] 
    {
        \begin{enumerate}[]
        \itemsep.1em
        \item
        \foreach \x in {1, ...,#1}{\item{ 
                \begin{tikzpicture}
                \node[NP, fill=black!05](abc){\bfseries   \x};
                \node[NP,   right=of abc]{};
                \end{tikzpicture}
        }}%
    \end{enumerate}
};
\end{tikzpicture}
}

\begin{document}
%\marks{7,6,4,3}
\TS{4}  
\end{document} 
  • Will there always be only four arguments for \marks? Do you only want the blue boxes with the arguments of \marks to show up or do you still want the results from \TS and just another box right next to it? Please be a bit more specific. – Sito Dec 14 '18 at 13:03
  • @Sito Not only for 4 arguments. This is depends to the number of exercises in the exam. – user105476 Dec 14 '18 at 13:24
8
\documentclass[tikz,border=2mm]{standalone} 
\usetikzlibrary{positioning}

\newcommand{\ts}[1]{
\begin{tikzpicture}[box/.style={draw, rounded corners, minimum width=15mm, minimum height=6mm}]
\foreach \i [count=\ni] in {#1}{
    \node[box] at (0,-\ni) (l\ni) {\ni};
    \node[box, text=red, font=\bfseries, right= 3mm of l\ni] (r\ni) {\i};}
\end{tikzpicture}}

\begin{document}

\ts{7,3,4,6}

\ts{2,3,4}

\ts{5,6,8,9,10}

\end{document}

enter image description here

5

The basic idea for this comes from this post. Please note that you need the listofitems package, which you can be downloaded here. I just wanted to extend the definition of \TS in such a way that the second argument can be read by \readlist. Then you just create a list called \mark which can be accessed over a index.

\documentclass{article}
\usepackage{amsmath}
\usepackage{enumerate}
\usepackage{graphics} 
\usepackage{tikz}
\usetikzlibrary{positioning}
\usepackage{listofitems}


\tikzstyle{NP}=[rectangle,  
draw=blue!80,
rounded corners=1pt, 
inner sep=12pt,
inner ysep=4pt,
draw, fill=black!0,
text width=2cm,
minimum height=.9cm]

\newcommand{\TS}[2]{%
    \readlist*\mark{#2}
    \begin{tikzpicture}
    \node[rectangle,draw=blue!80,rounded corners=1pt,inner sep=60pt,  inner ysep=16pt, text width=10cm,align=center] 
    {
        \begin{enumerate}[]
        \itemsep.1em
        \item
        \foreach \x in {1, ...,#1}{\item{ 
                \begin{tikzpicture}
                \node[NP, fill=black!05](abc){\bfseries   \x};
                \node[NP, right=of abc]{\mark[\x]};
                \end{tikzpicture}
        }}%
        \end{enumerate}
};
\end{tikzpicture}
}

\begin{document}
\TS{4}{7,6,4,3}  
\end{document} 

enter image description here

  • @user105476 You‘re welcome! If you need the marks to be in red and bold, feel free to say so. I‘ll edit it in. – Sito Dec 14 '18 at 16:26

Your Answer

By clicking "Post Your Answer", you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.