TikZ
我文中提到了一些,即:
\documentclass[]{standalone}
\usepackage{tikz}
\begin{document}
Some text (\tikz{\node[scale=0.5,solid,draw,thick,blue,rectangle,fill=white] {A};}), and some more
\end{document}
这会产生预期的蓝色矩形,但它没有与我想要的括号底部对齐。
有没有一种简单的方法可以垂直移动一行中的对象甚至文本,同时保留其余部分?或者有没有什么变通方法TikZ
可以做到这一点?
答案1
这有点像pgfmanual
。这种情况下最好为节点指定text height
和text depth
。例如如下:
\documentclass{article}
\usepackage{tikz}
\begin{document}
\tikzset{every node/.style={anchor=base,scale=0.5,draw,thick,blue,
text height=1.7ex,text depth=0.3ex, minimum width=1em}}
Some text
(\tikz[baseline]{\node {a};}),
(\tikz[baseline]{\node {d};})
More demonstration
(\tikz[baseline]{\node {a};}\tikz[baseline]{\node {d};}%
\hbox to 0pt{\hss\tikz{\draw[very thin,red] (0,0) -- (4cm,0);}})
\end{document}
我已经为节点指定了,因此这些节点中文本的基线位于 x 轴上。然后只需将 plain选项传递给垂直对齐anchor=base
即可。baseline
\tikz
一般来说,你可以设置baseline
一些垂直尺寸来移动材料
\documentclass{article}
\usepackage{tikz}
\begin{document}
\tikzset{every node/.style={anchor=base,draw,thick,blue,
text height=1.7ex,text depth=0.3ex, minimum width=1em,scale=0.5}}
Some text
\tikz[baseline]{\node {a};}
\tikz[baseline=0.1ex]{\node {a};}
\tikz[baseline=0.3ex]{\node {a};}
\tikz[baseline=0.7ex]{\node {a};}
\tikz[baseline=1ex]{\node {a};}
\tikz[baseline=2ex]{\node {a};}
\tikz[baseline=4ex]{\node {a};}
\tikz[baseline=-0.3ex]{\node {a};}
\tikz[baseline=-0.5ex]{\node {a};}
\tikz[baseline=-1ex]{\node {a};}
\tikz[baseline=-2.5ex]{\node {a};}
\tikz[baseline=-4ex]{\node {a};}
for a dance.
\end{document}
或使用如链接问题中的节点。
ex
我已经用和单位指定了尺寸em
,它们反映了所用字体的大小,而不是诸如的绝对单位cm
。