\recomm
本文とタイトルが分離されたボックスを印刷するために、次のコマンドを定義しました。
\newcommand{\recomm}[3]{
\vspace{0.5cm}
\noindent
\begin{tikzpicture}
\node [rectangle, inner sep=10pt] (box){%
\begin{minipage}{\dimexpr\linewidth-20pt-\pgflinewidth\relax}
#2
\end{minipage}
};
\node [rectangle, inner sep=10pt, fill=black!15, below right] (box2) at (box.south west){%
\begin{minipage}{\dimexpr\linewidth-20pt-\pgflinewidth\relax}
#3
\end{minipage}
};
\draw[draw=blue!75!black, very thick]
-- (box2.south west)
-- (box.north west)
-- (box.north east)
-- (box2.south east)
-- (box2.south west);
\node[above right, fill=blue!75!black, text=white, font=\bfseries] at (box.north west) {#1};
\end{tikzpicture}%
}
これは問題なく動作し、単純な入力で使用するときれいなボックスが印刷されます。
\recomm{Title}{%
Some content in the first part
}{%
Some content in the second part
}
ただし、環境を使用してコード リストを挿入しようとするとlstlisting
、さまざまなエラーが発生します。
\recomm{Title}{%
Some content in the first part
}{%
Some content in the second part
\begin{lstlisting}
a=b
\end{lstlisting}
}
Argument of \lst@next has an extra }.
<inserted text>
\par
l.185 }
を使用しようとしました\newenvironment
が、必要な環境が 2 つ (図の最初の部分と 2 番目の部分) のところ、1 つの環境しか使用できません。これをうまく解決するための推奨される方法は何ですか?
(私は tcolorbox を避けたいと思います。なぜなら、そのパッケージとその依存関係の多くが含まれない非常に不完全な texlive 環境で作業する必要があるからです。)
動作しない最小限の例:
\documentclass{article}
\usepackage{listings}
\usepackage{tikz}
\newcommand{\recomm}[2]{
\begin{tikzpicture}
\node [rectangle, inner sep=10pt] (box){%
\begin{minipage}{\dimexpr\linewidth-20pt-\pgflinewidth\relax}
#1
\end{minipage}
};
\node [rectangle, inner sep=10pt, fill=black!15, below right] (box2) at (box.south west){%
\begin{minipage}{\dimexpr\linewidth-20pt-\pgflinewidth\relax}
#2
\end{minipage}
};
}
\begin{document}
\recomm{%
Some content in the first part
}{%
Some content in the second part
\begin{lstlisting}
a=b
\end{lstlisting}
}
\end{document}