5

これは、ここで尋ねられるフォローアップの質問です。図のように丸い灰色の箱を作る必要があります。

答えに基づいて、私は何かを試しましたが、それほど実りはありませんでした。それで、別の質問が来ます。

次のコマンドを思いついたのですが、うまくいきません。ミニページ内の逐語的表現はコンパイルされません。

\ newcommand {\ graybox} [1] {%
\ noindent \ begin {tikzpicture}%
  \ draw node [draw = black、fill = black!10、roundedcorners、inner sep = 2ex、text width = \ mytikzwidth] {%
  #1
  };%
\ end {tikzpicture}%
}%

%%エラー-逐語的に機能しません。
\ 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、丸みを帯びた角、内側
  sep = 2ex、text width = \ mytikzwidth] {%
}%
{};%
\ end {tikzpicture}%
}

質問

  • LaTeXコードの何が問題になっていますか?tikzpictureのミニページで逐語的な環境を使用するにはどうすればよいですか?
  • 添付の写真に示されているように、グレーボックス環境を実装するためのより良い方法を教えていただけますか?

これがコード全体であり、コンパイルされた結果をコンパイルされた結果に添付しました。

\ documentclass {article}

\ usepackage {tikz}

\ newlength {\ mytikzwidth}
\ setlength {\ mytikzwidth} {\ textwidth}
\ addtolength {\ mytikzwidth} {-4ex}%この10exは経験則です。

\ newcommand {\ graybox} [1] {%
\ noindent \ begin {tikzpicture}%
  \ draw node [draw = black、fill = black!10、roundedcorners、inner sep = 2ex、text width = \ mytikzwidth] {%
  #1
  };%
\ end {tikzpicture}%
}%

\ newenvironment {grayboxx}%
{\ noindent \ begin {tikzpicture}%
  \ draw node [draw = black、fill = black!10、丸みを帯びた角、内側
  sep = 2ex、text width = \ mytikzwidth] {%
}%
{};%
\ end {tikzpicture}%
}

\ begin {document}

%%%%ケース1-OK
\ begin {minipage} [b] {\ mytikzwidth}
cljコマンドは次のとおりです。

\ begin {verbatim}
java -cp \ $ CLOJUREJAR:\ $ CLASSPATH clojure.lang.Script \ $ 1
\ end {verbatim}

hello.cljには、モジュールにこのコードを知らせるための名前空間(ns)が必要です。
\ end {minipage}

%%%%ケース2-逐語的に機能しない
\ graybox {%
\ begin {minipage} [b] {\ mytikzwidth}
cljコマンドは次のとおりです。

%\ begin {verbatim}
java -cp \ $ CLOJUREJAR:\ $ CLASSPATH clojure.lang.Script \ $ 1
%\ end {verbatim}

hello.cljには、モジュールにこのコードを知らせるための名前空間(ns)が必要です。
\ end {minipage}
}

%%%%ケース3-tikzの内部ではありません
\ begin {grayboxx}
\ begin {minipage} [b] {\ mytikzwidth}
cljコマンドは次のとおりです。

%\ begin {verbatim}
java -cp \ $ CLOJUREJAR:\ $ CLASSPATH clojure.lang.Script \ $ 1
%\ end {verbatim}

hello.cljには、モジュールにこのコードを知らせるための名前空間(ns)が必要です。
\ end {minipage}
\ end {grayboxx}

\ end {document}
4

1 に答える 1

6

LaTeX Communityにも同じ質問をしましたが、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、丸みを帯びた角、%
             内側のsep=2ex、text width = \ RoundedBoxWidth]%
             {\ usebox {\ GrayRoundedBox}};
    \ end {tikzpicture}
    \ end {center}}

\ begin {document}

\ lipsum [1]

\ begin {GrayBox}
  cljコマンドは次のとおりです。
  \ begin {verbatim}
  java -cp \ $ CLOJUREJAR:\ $ CLASSPATH clojure.lang.Script \ $ 1
  \ end {verbatim}
  hello.cljには、モジュールを許可するための名前空間(ns)が必要です
  このコードについて知っています。
\ end {GrayBox}

\ lipsum [2]

\ begin {GrayBox} [0.75 \ textwidth]
  cljコマンドは次のとおりです。
  \ begin {verbatim}
  java -cp \ $ CLOJUREJAR:\ $ CLASSPATH
  clojure.lang.Script \ $ 1
  \ end {verbatim}
  hello.cljには、モジュールを許可するための名前空間(ns)が必要です
  このコードについて知っています。
\ end {GrayBox}

\ lipsum [3]

\ end {document}
于 2010-08-03T00:07:33.523 に答える