我正在尝试使用在常规文本行内画一条线tikz
,本质上是这样的:
一些文本后面跟着一行 --- 更多文本。
到目前为止
\tikz \draw (0cm,0.5cm) -- (0.25cm,0.5cm);
我似乎无法对齐该行,因此无论我输入什么坐标,它都会在文本行中垂直居中y
。
我想使用它,tikz
因为它应该是一种更复杂图形的图例。
答案1
TikZ 有自己的边界框,它会细致地处理提供给它的任何内容。因此,无论你画什么,它都会像它认为的那样紧密地封装它。
因此,如果您从 到 画一条线,(50,0)
它(51,0)
仍然是 TikZ 之外排版程序报告的同一条线 1cm。但是当您使用 键时baseline=<coord or dimen>
,TikZ 将确保生成的框位于文本行上,以便常规文本基线穿过<coord or dimen>
或偏移那么多。
\documentclass{article}
\usepackage{tikz}
\makeatletter
\def\zzz#1{\tikz[baseline#1]\draw node[rotate=90,
append after command= (a.south east) -- (a.south west),
minimum width=1cm,inner sep=0] (a){\@gobble#1\relax};
}
\makeatother
\begin{document}
The text baseline etc. \zzz{=-1cm},\zzz{=0.5cm},\zzz{},\zzz{={(0,-2)}}
\end{document}
答案2
你不需要tikz
这个
\documentclass{article}
\newcommand{\myrule}[1][1cm]{$\vcenter{\hbox{\rule{#1}{0.4pt}}}$}
\newcommand{\myyrule}[1][1cm]{\rule[0.52ex]{#1}{0.4pt}}
\begin{document}
Some text \myrule \,\myyrule Some more text.
Some text \myrule[2cm] \,\myyrule[1in] Some more text.
\end{document}