2

I would like to know how to put the text "MyTitle" in argument of the environment and also to place it on the right?

\documentclass[12pt]{article}
\usepackage{lmodern}
\usepackage{tcolorbox}
\tcbuselibrary{skins}
\newcounter{mycounter}

\setlength{\parindent}{0pt}

\begin{document}

\tcbset{exercisebox/.style={enhanced,colback=white,colframe=green!65!black,
enlarge top by=10mm,
overlay={%
\path[fill=blue!65,line width=.4mm] (frame.north west)--++(17mm,0)coordinate(n2)--++(0,8mm)--++(-20mm,0) arc (-90:90:-4mm)--cycle;
\node at ([shift={(5mm,4mm)}]frame.north west){\color{white}{\textbf{\sffamily Exercise}}};
\path[fill=green!65!blue] ([xshift=.4mm]n2)--++(0,8mm)--++(7mm,0)--++(0,-8mm)--cycle;
\node at ([shift={(4mm,4mm)}]n2){\color{white}{\textbf{\sffamily \themycounter}}};
\node at ([shift={(18mm,4mm)}]n2){\itshape\textbf{\sffamily MyTitle}};
}}}

Before... 

\begin{tcolorbox}[exercisebox,step=mycounter,label=one]
My exercise here...
\end{tcolorbox}

After...

\end{document}

Thank you !

3
  • Welcome to TeX.SE!! Can you post an image of your exact requirement? Please... – MadyYuvi Mar 21 at 13:14
  • Is this the output you want to achieve? i.stack.imgur.com/FXxjU.png – leandriis Mar 21 at 13:18
  • @insan -- the title on the right side implemented on the RHS -- have a look at the answer below – js bibra Mar 21 at 13:53
2

I guess, the following is closer to the expected output. The title text can be adjusted per box using the title=<your title text here> option:

enter image description here

\documentclass[12pt]{article}
\usepackage{lmodern}
\usepackage{tcolorbox}
\tcbuselibrary{skins}
\newcounter{mycounter}

\setlength{\parindent}{0pt}

\begin{document}

\tcbset{exercisebox/.style={
    enhanced,
    colback=white,
    colframe=green!65!black,
    coltitle=black,
    fonttitle =\itshape\bfseries\sffamily,
    boxed title style={
        colback=white,
        colframe=white,
        boxrule=1pt},
    attach boxed title to top right,
    overlay={%
        \path[fill=blue!65,line width=.4mm] (frame.north west)--++(17mm,0)coordinate(n2)--++(0,8mm)--++(-20mm,0) arc (-90:90:-4mm)--cycle;
        \node at ([shift={(5mm,4mm)}]frame.north west){\color{white}{\textbf{\sffamily Exercise}}};
        \path[fill=green!65!blue] ([xshift=.4mm]n2)--++(0,8mm)--++(7mm,0)--++(0,-8mm)--cycle;
    \node at ([shift={(4mm,4mm)}]n2){\color{white}{\textbf{\sffamily \themycounter}}};
    }}}

Before... 

\begin{tcolorbox}[exercisebox,step=mycounter,label=one, title=my title]
My exercise here...
\end{tcolorbox}

After...

\begin{tcolorbox}[exercisebox,step=mycounter,label=one, title=This box gets a different title]
My exercise here...
\end{tcolorbox}

After...

\end{document}
1

This is like leandris solution with some changes.

A new exercise box with auto counter has been declared. It has two parameters, an optional one which can be used to include formatting changes and a mandatory one which is the title. In case of no title, just left the empty brackets.

\documentclass[12pt]{article}
\usepackage{lmodern}
\usepackage{tcolorbox}
\tcbuselibrary{skins}

\setlength{\parindent}{0pt}

\tcbset{exercisebox/.style={
    enhanced,
    colback=white,
    colframe=green!65!black,
    coltitle=black,
    fonttitle =\itshape\bfseries\sffamily,
    boxed title style={
        colback=white,
        colframe=white,
        boxrule=1pt},
    attach boxed title to top right,
    overlay={%
        \path[fill=blue!65,line width=.4mm] (frame.north west)--++(17mm,0)coordinate(n2)--++(0,8mm)--++(-20mm,0) arc (-90:90:-4mm)--cycle;
        \node at ([shift={(5mm,4mm)}]frame.north west){\color{white}{\textbf{\sffamily Exercise}}};
        \path[fill=green!65!blue] ([xshift=.4mm]n2)--++(0,8mm)--++(7mm,0)--++(0,-8mm)--cycle;
    \node at ([shift={(4mm,4mm)}]n2){\color{white}{\textbf{\sffamily \thetcbcounter}}};
    }}}

\newtcolorbox[auto counter]{exercise}[2][]{exercisebox,
title=#2,#1
}
\begin{document}

Before... 

\begin{exercise}{my title}
My exercise here...
\end{exercise}

After...

\begin{exercise}[colback=green!10]{This box gets a different title}
My exercise here...
\end{exercise}

After...

\begin{exercise}[colback=red!10]{}
An exercise without title
\end{exercise}

\end{document}

enter image description here

0

enter image description here

\documentclass[12pt]{article}
\usepackage{lmodern}
\usepackage{tcolorbox}
\tcbuselibrary{skins}
\newcounter{mycounter}

\setlength{\parindent}{0pt}

\begin{document}
    
    \tcbset{exercisebox/.style={enhanced,colback=white,colframe=green!65!black,
            enlarge top by=10mm,
            overlay={%
                \path[fill=blue!65,line width=.4mm] (frame.north west)--++(17mm,0)coordinate(n2)--++(0,8mm)--++(-20mm,0) arc (-90:90:-4mm)--cycle;
                \node at ([shift={(5mm,4mm)}]frame.north west){\color{white}{\textbf{\sffamily Exercise}}};
                \path[fill=green!65!blue] ([xshift=.4mm]n2)--++(0,8mm)--++(7mm,0)--++(0,-8mm)--cycle;
                \node at ([shift={(4mm,4mm)}]n2){\color{white}{\textbf{\sffamily \themycounter}}};
                \node at ([shift={(-8mm,4mm)}]frame.north east){\itshape\textbf{\sffamily MyTitle}};
    }}}
    
    Before... 
    
    \begin{tcolorbox}[exercisebox,step=mycounter,label=one]
        My exercise here...
    \end{tcolorbox}
    
    After...
    
\end{document}

OR

enter image description here

\documentclass[12pt]{article}
\usepackage{lmodern}
\usepackage{tcolorbox}
\tcbuselibrary{skins}
\newcounter{mycounter}

\setlength{\parindent}{0pt}

\begin{document}
    
    \tcbset{exercisebox/.style={enhanced,colback=white,colframe=green!65!black,
            enlarge top by=10mm,
            overlay={%
                \path[fill=blue!65,line width=.4mm] (frame.north west)--++(17mm,0)coordinate(n2)--++(0,8mm)--++(-20mm,0) arc (-90:90:-4mm)--cycle;
                \node at ([shift={(5mm,4mm)}]frame.north west){\color{white}{\textbf{\sffamily Exercise}}};
                \path[fill=green!65!blue] ([xshift=.4mm]n2)--++(0,8mm)--++(7mm,0)--++(0,-8mm)--cycle;
                \node at ([shift={(4mm,4mm)}]n2){\color{white}{\textbf{\sffamily \themycounter}}};
                \path[fill=blue!65,line width=.4mm] (frame.north east)--++(6mm,0)coordinate(n3)--++(0,8mm)--++(-20mm,0) arc (-90:90:-4mm)--cycle;
                \node at ([shift={(-8mm,4mm)}]frame.north east){\color{white}{\itshape\textbf{\sffamily MyTitle}}};
    }}}
    
    Before... 
    
    \begin{tcolorbox}[exercisebox,step=mycounter,label=one]
        My exercise here...
    \end{tcolorbox}
    
    After...
    
\end{document}

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.