![具有不同背景的单面/双面环境](https://linux22.com/image/268851/%E5%85%B7%E6%9C%89%E4%B8%8D%E5%90%8C%E8%83%8C%E6%99%AF%E7%9A%84%E5%8D%95%E9%9D%A2%2F%E5%8F%8C%E9%9D%A2%E7%8E%AF%E5%A2%83.png)
我无法对齐某些元素。
我希望对齐
Check Box
并且Cross Box
具有相同的大小以便它们看起来更美观,下面是我目前所得到的。如果它们可以根据环境改变大小就更好了(文本的比例约为 60%)
有背景信息,这样会比较容易阅读。(如问题的第二部分所示)
提前谢谢你的帮助!
\documentclass{article}
\usepackage[a4paper,margin=2cm,showframe=false]{geometry}
\usepackage{graphicx}
\usepackage{pst-node}
\usepackage{wasysym}
\usepackage{marvosym}
\usepackage{xcolor}
\newsavebox\IBox
\newenvironment{good}[2][1]
{\def\scale{#1}\begin{lrbox}{\IBox}\begin{minipage}{\dimexpr#2\linewidth-2\fboxsep-2\fboxrule\relax}\ignorespaces}
{%
\end{minipage}\end{lrbox}%
\rput( \dimexpr-10\wd\IBox+\fboxsep+\fboxrule\relax,0){%
\scalebox{\scale}[1]{ \makebox(0,0){\put(20,0){%
\resizebox{0.4\textwidth}{!}{\color{green!25}\Checkedbox}}}}%
}%
{\usebox\IBox}%
}
\newenvironment{bad}[2][1]
{\def\scale{#1}\begin{lrbox}{\IBox}\begin{minipage}{\dimexpr#2\linewidth-2\fboxsep-2\fboxrule\relax}\ignorespaces}
{%
\end{minipage}\end{lrbox}%
\rput( \dimexpr-10\wd\IBox+\fboxsep+\fboxrule\relax,0){%
\scalebox{\scale}[1]{ \makebox(0,0){\put(20,0){%
\resizebox{0.37\textwidth}{!}{\color{red!25}\Crossedbox}}}}%
}%
{\usebox\IBox}%
}
\usepackage{lipsum}
\begin{document}
\lipsum[1]
\vspace{3mm}
\begin{good}{0.49}
\lipsum[1]
\end{good}\hfill
\begin{bad}{0.49}
\lipsum[1]
\end{bad}
\vspace{3mm}
\lipsum[1]
\end{document}
[更新] 这或多或少是答案的第二部分
如果有人可以将 Checked-box 作为这个的背景,我会很高兴。
再次,存在一些对齐问题,minipage
但我现在将忽略这个问题。
\documentclass{article}
\usepackage[framemethod=TikZ]{mdframed}
\usepackage{lipsum}
\usepackage[a4paper,margin=2cm,showframe=false]{geometry}
\usepackage{graphicx}
\usepackage{pst-node}
\usepackage{wasysym}
\usepackage{marvosym}
\usepackage{xcolor}
\definecolor{Dkgreen}{RGB}{0,135,0}
\newmdenv[
roundcorner=10pt,
middlelinecolor=red!25,
frametitlerulecolor=red!30,
frametitlerule=true,
frametitle={Example\hfill\resizebox{12pt}{!}{\color{red}\Crossedbox}},
frametitlebackgroundcolor=red!25,
backgroundcolor=red!8,]{test}
\newmdenv[
roundcorner=10pt,
middlelinecolor=Dkgreen!25,
frametitlerulecolor=Dkgreen!30,
frametitlerule=true,
frametitle={Example\hfill\resizebox{12pt}{!}{\color{Dkgreen}\Checkedbox}},
frametitlebackgroundcolor=Dkgreen!25,
backgroundcolor=Dkgreen!8,]{test2}
\begin{document}
\begin{test}
\lipsum[1]
\end{test}
\begin{test2}
\lipsum[1]
\end{test2}
\begin{minipage}{.48\linewidth}
\begin{test}
\lipsum[1]
\end{test}
\end{minipage}
\hspace{0.3cm}
\begin{minipage}{.48\linewidth}
\begin{test2}
\lipsum[1]
\end{test2}
\end{minipage}%
\end{document}
答案1
xelatex
我猜你正在使用或进行编译latex->ps->pdf
,因为你正在加载pst-node
。如果你正在使用和TikZ选项pdflatex
之间存在奇怪的交互。pst-node
opacity
但是,您可以通过选项将材料添加到环境背景中singleextra
。
\documentclass{article}
\pagestyle{empty}
\usepackage{xcolor}
\usepackage[framemethod=TikZ]{mdframed}
\usepackage{lipsum}
\usepackage[a4paper,margin=2cm,showframe=false]{geometry}
\usepackage{graphicx}
%\usepackage{pst-node}
\usepackage{wasysym}
\usepackage{marvosym}
\usetikzlibrary{calc}
\definecolor{Dkgreen}{RGB}{0,135,0}
\newmdenv[
roundcorner=10pt,
middlelinecolor=red!25,
frametitlerulecolor=red!30,
frametitlerule=true,
frametitle={Example\hfill\resizebox{12pt}{!}{\color{red}\Crossedbox}},
frametitlebackgroundcolor=red!25,
backgroundcolor=red!8,
singleextra={%
\path let \p1=(P) in node[opacity=.2,red,scale=10] at (.5*\x1,.5*\y1) {\Crossedbox};
},
]{test}
\newmdenv[
roundcorner=10pt,
middlelinecolor=Dkgreen!25,
frametitlerulecolor=Dkgreen!30,
frametitlerule=true,
frametitle={Example\hfill\resizebox{12pt}{!}{\color{Dkgreen}\Checkedbox}},
frametitlebackgroundcolor=Dkgreen!25,
backgroundcolor=Dkgreen!8,%
singleextra={%
\path let \p1=(P) in node[opacity=.2,Dkgreen,scale=10] at (.5*\x1,.5*\y1) {\Checkedbox};
},
]{test2}
\begin{document}
\begin{test}
\lipsum[1]
\end{test}
\begin{test2}
\lipsum[1]
\end{test2}
\noindent\begin{minipage}{.48\linewidth}
\begin{test}
\lipsum[1]
\end{test}
\end{minipage}%
\hfill%
\begin{minipage}{.48\linewidth}
\begin{test2}
\lipsum[1]
\end{test2}
\end{minipage}%
\end{document}