我想tikzpicture
无缝地在文本中使用它作为命令。
我正在尝试做以下事情
\documentclass{article}
\usepackage{tikz}
\newcommand{\textrot}[1]{%
\begin{tikzpicture}
\node[scale=-1] {#1};
\end{tikzpicture}
}
\begin{document}
My beautiful text
My \textrot{beautiful} text
\end{document}
但一切都发生了变化。我的目标是使用内联修改文本tikz
,而不影响其他文字。
笔记:我并不是在寻找反映单词的方法。我打算将 tikzpicture 用作其他用途的命令。
答案1
您必须说出tikzpicture
基线必须去往何处(我添加了一个带有后代的字母,因为它很重要......):
请注意,您必须定义对齐的含义。在第一种情况下,文本的两个基线对齐。在第二种情况下,反射文本的顶部位于基线上。在最后一种情况下,文本的中心位于基线上。
\documentclass{article}
\usepackage{tikz}
\newcommand{\textrot}[1]{%
\begin{tikzpicture}[baseline=(A.base)]
\node[scale=-1, inner sep=0pt](A) {#1};
\end{tikzpicture}%
}
\newcommand{\textrotb}[1]{%
\begin{tikzpicture}[baseline=(A.north)]
\node[scale=-1, inner sep=0pt](A) {#1};
\end{tikzpicture}%
}
\newcommand{\textrotc}[1]{%
\begin{tikzpicture}[baseline]% baseline at 0,0 of the picture
\node[scale=-1, inner sep=0pt](A) {#1};
\end{tikzpicture}%
}
\begin{document}
My beautiful text
My \textrot{beautjful} text
My \textrotb{beautjful} text
My \textrotc{beautjful} text
\end{document}
如果你draw, red
向节点选项添加一个,你会看到更好的效果:
您可以明确使用带有可选参数的定义作为基线锚点,例如
\newcommand{\textrot}[2][base]{%
\begin{tikzpicture}[baseline=(A.#1)]
\node[draw, red, thin, scale=-1, inner sep=0pt](A) {#2};
\end{tikzpicture}%
}