这是在这里提出的后续问题.我需要制作一个圆形灰色的盒子,如图所示.
http://img707.imageshack.us/img707/9705/screenshot20100718at913.png
基于答案,我尝试了一些东西,但没有那么富有成效.所以,另一个问题即将来临
我提出了以下命令,但它不起作用.小品内的逐字不编译.
\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}
}
我也试过环境,这也行不通.小型货不是坐在小型货箱内.
\newenvironment{grayboxx}%
{\noindent\begin{tikzpicture}%
\draw node[draw=black,fill=black!10,rounded corners,inner
sep=2ex,text width=\mytikzwidth] {%
}%
{};%
\end{tikzpicture}%
}
问题
这是整个代码,我将编译结果附加到编译结果中.
http://a.imageshack.us/img571/7828/screenshot20100802at148.png
\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}
我向LaTeX社区提出了同样的问题,我从Juanjo那里得到了以下答案.
http://a.imageshack.us/img821/290/screenshot20100802at706.png
\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}