我mdframed
今天发现了这个包和带有 TikZ 的示例。
在这些示例中,有一个使用 TikZ 的复杂示例,并P
使用一个点来定位练习的标题。我假设这个点是在宏中定义的,它是右上角。是否可以使用右下角,它的名字是什么?
谢谢您的回答。
此致
答案1
mdframed
为基本上是矩形的框架分配两个特殊坐标:
(P)
右上角。(O)
左下角。
可以使用垂直坐标系访问另外两个顶点:
(O|-P)
左上角;也可以使用 访问(P-|O)
。(P|-O)
右下角;也可以使用 访问(O-|P)
。
您可以在这里看到它们:
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[framemethod=tikz]{mdframed}
\begin{document}
\begin{mdframed}[
singleextra={
\foreach \Coor/\Pos in {O/below,P/above,O|-P/above,P|-O/below}
\node[\Pos,font=\ttfamily] at (\Coor) {(\Coor)};
}
]
test text
\end{mdframed}
\end{document}
结果显示坐标:
加载calc
库后,您就可以访问其他特殊坐标。以下示例显示如何访问框架四边的中点:
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[framemethod=tikz]{mdframed}
\usetikzlibrary{calc}
\begin{document}
\begin{mdframed}[
singleextra={
\node[overlay,inner sep=1.5pt,circle,fill] at ( $ (O|-P)!0.5!(P) $ ) {};
\node[overlay,above,font=\ttfamily] at ( $ (O|-P)!0.5!(P) $ ) {( \$ (O|-P)!0.5!(P) \$ )};
\node[overlay,inner sep=1.5pt,circle,fill] at ( $ (O)!0.5!(P|-O) $ ) {};
\node[overlay,below,font=\ttfamily] at ( $ (O)!0.5!(P|-O) $ ) {( \$ (O)!0.5!(P|-O) \$ )};
\node[overlay,inner sep=1.5pt,circle,fill] at ( $ (O)!0.5!(O|-P) $ ) {};
\node[overlay,left,font=\ttfamily] at ( $ (O)!0.5!(O|-P) $ ) {( \$ (O)!0.5!(O|-P) \$ )};
\node[overlay,inner sep=1.5pt,circle,fill] at ( $ (P)!0.5!(P|-O) $ ) {};
\node[overlay,right,font=\ttfamily] at ( $ (P)!0.5!(P|-O) $ ) {( \$ (P)!0.5!(P|-O) \$ )};
}
]
test text
\end{mdframed}
\end{document}
结果: