用户可以定义自定义连字符吗?

用户可以定义自定义连字符吗?

我希望我没有错,因为我没有检查过,所以认为这样的问题从来没有被提出过。

我想到了一个名叫 Gioia 的女孩,我注意到大写字母G和小写字母a的形状类似于,所以6我试着把她的名字写成垂直镜像的。6ioiXX6

“Bando alle ciance”,我画的是这个:

在此处输入图片描述

您建议我该如何进行?

我认为镜像前两个字符一点也不难,但我不知道是否存在6与该i字符的任何连字符......我也不知道是否存在具有类似形状的特殊字符6来支持这种连字符。

制作自定义连字符是否可以以某种方式定义LaTeX

爱。它让我想做任何可能的事情,甚至不可能的事情,哈哈哈哈!

答案1

作为一组经过裁剪和缩放的字形,它非常字体相关。显然,这不是创建连字,而只是将图像拼凑在一起。

\documentclass{article}
\usepackage{stackengine,trimclip,graphicx}
\newcommand\Gi{\clipbox{0pt -.1ex .65ex -.1ex}{6}\stackengine{0pt}{%
  \clipbox{.52ex -.1ex 0pt .4ex}{6}}{\scalebox{2}[1]{\clipbox{.52ex 1.1ex 0pt -.1ex}{6}}}%
  {O}{l}{F}{F}{S}\kern-.75ex \i}
\newcommand\ia{\scalebox{-1}[1]{\Gi}}
\begin{document}
\Gi o\ia
\end{document}

在此处输入图片描述

更复杂的剪辑(不同垂直比例的碎片/部分),同样在计算机现代

\documentclass{article}
\usepackage{stackengine,trimclip,graphicx}
\newcommand\Gi{\clipbox{0pt -.1ex .65ex -.1ex}{6}\stackengine{0pt}{%
  \clipbox{.52ex -.1ex 0pt .45ex}{6}}{\scalebox{2}[1.22]{\clipbox{.55ex 1.14ex 0pt -.1ex}{6}}}%
  {O}{l}{F}{F}{S}\kern-.75ex \i\kern-.1ex}
\newcommand\ia{\scalebox{-1}[1]{\Gi}}
\begin{document}
\Gi o\ia
\end{document}

在此处输入图片描述

然后使用 Baskervald (2 种变体):

\documentclass{article}
\usepackage{stackengine,trimclip,graphicx}
\newcommand\Gi{\clipbox{0pt -.1ex .77ex -.1ex}{6}\stackengine{0pt}{%
  \clipbox{.50ex -.1ex 0pt .4ex}{6}}{\scalebox{1.7}[1.4]{\clipbox{.545ex 1.37ex 0pt -.1ex}{6}}}%
  {O}{l}{F}{F}{S}\kern-.66ex \i\kern-.1ex}
\newcommand\ia{\scalebox{-1}[1]{\Gi}}
\usepackage{baskervald}
\begin{document}
\Gi o\ia

\renewcommand\Gi{\clipbox{0pt -.1ex .85ex -.1ex}{6}\stackengine{0pt}{%
  \clipbox{.42ex -.1ex 0pt .49ex}{6}}{\scalebox{1.83}[1.83]{\clipbox{.49ex 1.377ex 0pt -.1ex}{6}}}%
  {O}{l}{F}{F}{S}\kern-.68ex \i\kern-.1ex}

\Gi o\ia
\end{document}

在此处输入图片描述

答案2

也许是这个?

平均能量损失

\documentclass{article}
\usepackage{graphicx}
\begin{document}
\rotatebox[origin=b]{-25}{\large6}%
\kern-.3em\i\kern-.05em o\kern-.05em%
\reflectbox{\rotatebox[origin=b]{-25}{\large6}\kern-.3em\i}
\end{document}

答案3

今天我有时间在 TeXSE 上搜索最合适的工具来生成“类似连字符”的字符排列。

我刚刚遇到这个答案,这给了我改进的想法(恕我直言,显然!)@Fran 的回答,我发现非常非常聪明!

最终代码如下,

\documentclass{standalone}

\usepackage{tikz}

\def\slant#1#2{%
  \tikz[baseline=(X.base), xslant=tan(#1)]
    \node[inner sep=0pt, xslant=tan(#1)](X){#2};%
}
\def\resize#1#2{%
  \tikz[baseline=(X.base), yscale=#1]
    \node[inner sep=0pt, yscale=#1](X){#2};%
}

\newcommand{\gi}{\resize{.94}{\slant{30}{6}}\hskip-3.8pt\slant{10}{i}}
\newcommand{\ia}{\scalebox{-1}[1]{\gi}}

\usepackage{baskervald}

\begin{document}

\gi\hskip-1.5pt o\hskip-1.5pt\ia

\end{document}

其结果相当不错:

在此处输入图片描述

我本来希望文字是直立的,就像@Steven 的最后一个示例一样,这样也能得到很好的结果。但也许要获得完美的结果需要从头开始创建一个符号,而那不是 LaTeX。

我会再等一天,等待一位有远见的人来回答!:D

相关内容