使用 tikz 将一个字母精确地放在另一个字母上

使用 tikz 将一个字母精确地放在另一个字母上

尽管我完全是初学者,但我还是想使用 tikz 设计徽标。我非常想显示 2 个大写字母,每个字母的垂直边上都放置一个小写字母。

我试过

\documentclass[tikz]{standalone}
\usetikzlibrary{positioning}
\begin{document}
\begin{tikzpicture}
  \node [anchor=base, scale=5] (0,0) {EF} ;
  \node (s) [fill=white,scale=.8] at (-.9,.9) {e};
  \node [right=.95cm of s,fill=white,scale=.8] {f};
\end{tikzpicture}
\end{document}

产生

图像EF

  1. 有没有办法精确改变两个字母 E 和 F 之间的间距?我想让它们几乎互相接触。

    我猜想最好的方法是先将小写字母粘贴到大写字母的上方,然后将每个实体放置在彼此特定的距离处。但我不知道该怎么做。

  2. 此外,我如何确保将小写字母放在大写字母粗垂直腿的中间?

  3. 我还希望小写字母周围的方框尽可能小。这个方框可以是圆形而不是矩形吗?

答案1

您可以尝试几个值,直到获得所需的结果:

在此处输入图片描述

根据评论中的要求,这里有一个将不透明度应用于主文本以及插入的小写文本的示例:

在此处输入图片描述

参考:

笔记:

  • \kern申请了A以获得F正确的只是触碰E
  • 我建议使用可以根据所用字体缩放的长度单位:em水平和ex垂直。
  • 用来inner sep设置嵌入字符之间的间隔,
  • shape=circle使得节点根据需要变成圆形。

代码:

\documentclass[tikz]{standalone}
\usetikzlibrary{positioning}
\begin{document}
\begin{tikzpicture}
  \node [anchor=base, scale=5] (0,0) {E\kern-0.1175em F} ;
  \node (s) [fill=white,scale=.8, inner sep=0.025pt, shape=circle] at (-2.15em,5.9ex) {e};
  \node [right=2.245em of s,fill=white,scale=.8, inner sep=0.15pt, shape=circle] {f};
\end{tikzpicture}
\end{document}

代码:应用不透明度

\documentclass[tikz]{standalone}
\usetikzlibrary{positioning}
\begin{document}
\begin{tikzpicture}
  \node [anchor=base, scale=5, , text opacity=0.6, color=brown] (0,0) {E\kern-0.1175em F} ;
  \node (s) [fill=white,scale=.8, inner sep=0.025pt, shape=circle] at (-2.15em,5.9ex) {e};
  \node [right=2.245em of s,fill=white,scale=.8, inner sep=0.15pt, shape=circle, fill opacity=0.8, text opacity=1] {f};
\end{tikzpicture}
\end{document}

答案2

这使用堆栈而不是tikz。可以更改字母间的字距调整以及插入字母的垂直和水平偏移距离。lb表示插入相对于基础图像的左下角。

\documentclass{article}
\usepackage{xcolor,stackengine,graphicx}
\begin{document}
\stackinset{l}{1.00pt}{b}{3.8pt}{\smash{\stackon[-1.5pt]{\scalebox{.33}
  {\textcolor{white}{$\bullet$}}}{\scalebox{.15}{\strut e}}}}{E}%
\kern-1pt%
\stackinset{l}{1.00pt}{b}{3.8pt}{\smash{\stackon[-1.65pt]{\scalebox{.33}
  {\textcolor{white}{$\bullet$}}}{\scalebox{.15}{\strut f\,}}}}{F}%
\end{document}

在此处输入图片描述

这是对您的请求的另一种解释,使用反色而不是圆圈或盒子。

\documentclass{article}
\usepackage{xcolor,stackengine,graphicx}
\begin{document}
\stackinset{l}{1.34pt}{b}{3.5pt}{\scalebox{.2}{\textcolor{white}{\strut e}}}{E}%
\kern-1pt%
\stackinset{l}{1.40pt}{b}{3.5pt}{\scalebox{.2}{\textcolor{white}{\strut f}}}{F}
\end{document}

在此处输入图片描述

相关内容