在文本行中垂直居中绘制线

在文本行中垂直居中绘制线

我正在尝试使用在常规文本行内画一条线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}

在此处输入图片描述

相关内容