Я пытаюсь включить узлы tikz в бегущий текст, но сделать так, чтобы они хорошо выравнивались с окружающим их текстом. Мой MWE:
% !TEX program = xelatex
\documentclass{scrbook}
\usepackage{tikz}
\begin{document}
Some text \tikz \node[rectangle,rounded corners=0.5mm,text=white,fill=black!65,inner sep=2pt] {\scriptsize{}foo}; more text.
\end{document}
Это производит:
Я хотел бы сместить узел вниз так, чтобы базовая линия "foo" совпадала с базовой линией окружающего текста. Есть довольно много информации о выравнивании относительно других узлов, но на самом деле все, что мне нужно сделать, это сместить его вертикально вниз на заданную величину, но я не могу понять, как это сделать.
Какой самый простой/лучший способ сместить весь узел вниз, чтобы базовые линии выровнялись?
решение1
Используйте \tikz[baseline]
и anchor=base
как опцию к узлу или используйте tcolorbox
сbox align=base
\documentclass{scrbook}
\usepackage[most]{tcolorbox}
\usepackage{tikz}
\begin{document}
Some text \tikz[baseline]{%
\node[rectangle,rounded corners=0.5mm,text=white,fill=black!65,inner sep=2pt,anchor=base] (A) {\scriptsize{}foo};} more text.
Some text \tcbox[enhanced,frame hidden,box align=base,nobeforeafter,left=0pt,right=0pt,top=0pt,bottom=0pt,arc=0.5mm,fontupper=\scriptsize,colupper=white,,colback=black!65]{foo} more text
\end{document}