I used tikz for round box, and minipage/verbatim to be used inside the graybox.
I came up with the following command, but it doesn't work. The verbatim inside the minipage doesn't compile.
Code: Select all
\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}
}
Code: Select all
\newenvironment{grayboxx}%
{\noindent\begin{tikzpicture}%
\draw node[draw=black,fill=black!10,rounded corners,inner
sep=2ex,text width=\mytikzwidth] {%
}%
{};%
\end{tikzpicture}%
}
- * What's wrong with the LaTeX code? How can I use verbatim environment with minipage in the tikzpicture?
* Could you teach me a better way to implement the grayboxed environment as is shown in the attached picture?
Code: Select all
\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}