Reputation: 190659
This is a follow-up question asked here. I need to make a round-grayed box as is shown.
Based on the answers, I tried something, but not so fruitful. So, another questions coming.
I came up with the following command, but it doesn't work. The verbatim inside the minipage doesn't compile.
\newcommand{\graybox}[1]{% \noindent\begin{tikzpicture}% \draw node[draw=black,fill=black!10,rounded corners,inner sep=2ex,text width=\mytikzwidth] {% #1 };% \end{tikzpicture}% }% %% ERROR - verbatim doesn't work. \graybox{% \begin{minipage}[b]{\mytikzwidth} ... \begin{verbatim} java -cp \$CLOJUREJAR:\$CLASSPATH clojure.lang.Script \$1 \end{verbatim} ... \end{minipage} }
I also tried with the environment, which also doesn't work. The minipage isn't sit inside the minipage.
\newenvironment{grayboxx}% {\noindent\begin{tikzpicture}% \draw node[draw=black,fill=black!10,rounded corners,inner sep=2ex,text width=\mytikzwidth] {% }% {};% \end{tikzpicture}% }
Questions
This is the whole code, and I attached the compiled result with the compiled result.
\documentclass{article} \usepackage{tikz} \newlength{\mytikzwidth} \setlength{\mytikzwidth}{\textwidth} \addtolength{\mytikzwidth}{-4ex} % this 10ex is just rule of thumb. \newcommand{\graybox}[1]{% \noindent\begin{tikzpicture}% \draw node[draw=black,fill=black!10,rounded corners,inner sep=2ex,text width=\mytikzwidth] {% #1 };% \end{tikzpicture}% }% \newenvironment{grayboxx}% {\noindent\begin{tikzpicture}% \draw node[draw=black,fill=black!10,rounded corners,inner sep=2ex,text width=\mytikzwidth] {% }% {};% \end{tikzpicture}% } \begin{document} %%%% CASE 1 - OK \begin{minipage}[b]{\mytikzwidth} clj command is as follows. \begin{verbatim} java -cp \$CLOJUREJAR:\$CLASSPATH clojure.lang.Script \$1 \end{verbatim} hello.clj needs a namespace (ns) to let the modules know about this code. \end{minipage} %%%% CASE 2 - not working with verbatim \graybox{% \begin{minipage}[b]{\mytikzwidth} clj command is as follows. %\begin{verbatim} java -cp \$CLOJUREJAR:\$CLASSPATH clojure.lang.Script \$1 %\end{verbatim} hello.clj needs a namespace (ns) to let the modules know about this code. \end{minipage} } %%%% CASE 3 - not inside the tikz \begin{grayboxx} \begin{minipage}[b]{\mytikzwidth} clj command is as follows. %\begin{verbatim} java -cp \$CLOJUREJAR:\$CLASSPATH clojure.lang.Script \$1 %\end{verbatim} hello.clj needs a namespace (ns) to let the modules know about this code. \end{minipage} \end{grayboxx} \end{document}
Upvotes: 5
Views: 4139
Reputation: 190659
I asked the same question to LaTeX Community, and I got the following answer from Juanjo.
\documentclass[a4paper]{article} \usepackage{tikz} \usepackage{lipsum} \newlength{\RoundedBoxWidth} \newsavebox{\GrayRoundedBox} \newenvironment{GrayBox}[1][\dimexpr\textwidth-4.5ex]% {\setlength{\RoundedBoxWidth}{\dimexpr#1} \begin{lrbox}{\GrayRoundedBox} \begin{minipage}{\RoundedBoxWidth}}% { \end{minipage} \end{lrbox} \begin{center} \begin{tikzpicture}% \draw node[draw=black,fill=black!10,rounded corners,% inner sep=2ex,text width=\RoundedBoxWidth]% {\usebox{\GrayRoundedBox}}; \end{tikzpicture} \end{center}} \begin{document} \lipsum[1] \begin{GrayBox} clj command is as follows. \begin{verbatim} java -cp \$CLOJUREJAR:\$CLASSPATH clojure.lang.Script \$1 \end{verbatim} hello.clj needs a namespace (ns) to let the modules know about this code. \end{GrayBox} \lipsum[2] \begin{GrayBox}[0.75\textwidth] clj command is as follows. \begin{verbatim} java -cp \$CLOJUREJAR:\$CLASSPATH clojure.lang.Script \$1 \end{verbatim} hello.clj needs a namespace (ns) to let the modules know about this code. \end{GrayBox} \lipsum[3] \end{document}
Upvotes: 6