我希望使用 tikz 来制作文章中的一些强调内容,
我选择使用 tikz 来实现这种效果,
但是 tikz 的节点排列不是很美观。
下面是我的代码,如何使文本对齐,
我的 tikz 不太好理解。尝试使用 yshift 选项没有效果。
尝试使用 \vspace{} 命令无效。我该怎么办?
期待高手的帮助。
以下是我的代码:
\documentclass{book}
\usepackage{tikz}
\begin{document}
\Huge
Here are some test text{ \tikz \draw (0,-1) node[draw,minimum width=1mm, minimum height=1mm, align=center,inner sep=0.5mm, outer sep=0mm,rectangle,fill = gray] {Some texts to emphasize}; }
\end{document}
答案1
为什么不使用soul
?
\documentclass{book}
\usepackage{xcolor,soul}
\sethlcolor{lightgray}
\begin{document}
{\Huge Here are some test text \hl{Some texts to emphasize}}
\end{document}
编辑
举例说明原因蒂克兹不是一个好的方法(包装)。
\documentclass{book}
\usepackage{tikz}
\usetikzlibrary{positioning}
\tikzset{hl/.style={anchor=base,fill = lightgray,inner sep=3pt}}
\begin{document}
{\Huge Here are some test text. \tikz[baseline]\node[hl]{Some texts to emphasize, but it won't wrap to a new line};}
\end{document}
答案2
将选项添加baseline=0
到您的tikz
命令anchor=text
和node
:
text \tikz[baseline=0]{\node[anchor=text, inner sep=1ex, fill=yellow] {hilite};}
第一个选项强制 tikZ 的 x 轴与周围 tex 的基线对齐
第二个选项强制使用 tikZ 的 x 轴作为节点内文本的基线
完整代码:
\documentclass{book}
\usepackage{tikz}
\begin{document}
Here are some test text{ \tikz[baseline=0] \draw (0,-1) node[anchor=text, draw,minimum width=1mm, minimum height=1mm, align=center,inner sep=0.5mm, outer sep=0mm,rectangle,fill = gray] {Some texts to emphasize}; }
\end{document}