苏格兰-爱尔兰裔美国姓氏:如何实现美观的带有长音符号 (Mc) 的凸起 c?

苏格兰-爱尔兰裔美国姓氏:如何实现美观的带有长音符号 (Mc) 的凸起 c?

我的姓氏是 McAnulty。它的发音多种多样,例如 Mick-Uh-Nulty、Mick-Nulty 和 Mack-Uh-Nulty,我从小就是这么发音的。小时候,家人的发音和含糊不清的苏格兰-爱尔兰语发音(而不是爱尔兰语发音)让我明白了这一点。(我生来就不是这个姓氏。我一辈子都有这个姓氏,所以这对我来说是一种有趣的特殊兴趣。)

我祖父经常把 McAnulty 这个名字的 c 写成小写,并加下划线。这不仅仅是装饰性的:它包含并解释了发音,因为带下划线的 Mc 是 Mac 的缩写,因此在一些较旧的字母排序系统中,Mc 的字母排序位于 Mab 和 Mad 之间。

影响我理解的相关链接:

我想在 LaTeX 中制作出这个带有下划线的凸起 c,但您可能很容易想象并理解,因为我从小就听着这个名字,并且在旧的手写体和符号中见过带有下划线的凸起 c,所以我对 c 下面的线应该如何呈现以及姓氏的整体形状有着特殊的审美观点。

我制作了这个:

没有下划线 使用此代码:

{\LARGE\scheader \textsc{dan m{\large\raisebox{0.35ex}{{\underline{\smash{c}}}}}{\kern 0.05pc a}nulty}}

和这个:

带有下划线 使用这个:

{\LARGE\scheader \textsc{dan m{\large\raisebox{0.30ex}{c}}anulty}}

两者都与我想象的不太相符。下面的示例图像显示下划线比字母更窄,理想情况下,它的右侧应该与 c 的右侧匹配。我设想的正确凸起和下划线方法包括:

带下划线的 c

c 符号带下划线

麦考密克徽标

虽然我可以用我当前的代码控制 c 的高度和大小,但使用灵魂库我可以控制下划线的接近度和厚度(参见灵魂图书馆示例),目前我还没有找到很好的手段来控制字母下方线条的宽度。

我相信下划线被称为马克龙如下

在这种情况下,有人能对如何正确调整下划线以达到美观效果提出好的建议吗?

我将非常感激任何回应、想法或建议。

答案1

您可以使用一个技巧来发现脚本大小。框的高度由 M 的高度与(减小的)c 的高度之差决定。

\documentclass{article}

\makeatletter
\newcommand{\Mc}{}
\DeclareRobustCommand{\Mc}{%
  M%
  \raisebox{\dimexpr\fontcharht\font`M-\height}{%
    \check@mathfonts\fontsize{\sf@size}{0}\selectfont
    \underline{c}%
  }%
}
\makeatother

\begin{document}

\Mc Anulty

\Large\Mc Anulty

\end{document}

在此处输入图片描述

以下是

\textsc{\Mc Anulty}

在此处输入图片描述

扩展版本

  1. 下划线略短
  2. 宏也适用于\MakeUppercase
\documentclass{article}

\makeatletter
\DeclareRobustCommand{\Mc}{\Mcx{c}}
\DeclareRobustCommand{\MC}{\Mcx{\textsc{c}}}
\DeclareRobustCommand{\Mcx}[1]{%
  M%
  \raisebox{\dimexpr\fontcharht\font`M-\height}{%
    \check@mathfonts\fontsize{\sf@size}{0}\selectfont
    \kern.1ex\underline{\kern-.1ex #1\kern-.1ex}\kern.1ex
  }%
}
\expandafter\def\expandafter\@uclclist\expandafter{%
  \@uclclist\Mc\MC
}
\makeatother

\begin{document}

\Mc Anulty \textsc{\Mc Anulty} \MakeUppercase{\Mc Anulty}

\Large \Mc Anulty

\end{document}

扩展

还有另一个版本ulem(我不推荐soul用于该应用程序)。

\documentclass{article}
\usepackage[normalem]{ulem}

\makeatletter
\DeclareRobustCommand{\Mc}{%
  M%
  \raisebox{\depth}{%
    \check@mathfonts\fontsize{\sf@size}{\sf@size}\selectfont
    \kern.3ex \uline{\kern-.3ex C\kern-.2ex}\kern.2ex
  }%
}
\makeatother

\begin{document}

\Mc Anulty \textsc{\Mc Anulty} \MakeUppercase{\Mc Anulty}

\Large \Mc Anulty

\end{document}

在此处输入图片描述

答案2

这种方法的要点

  1. c 与 M 的高度顶部对齐,而下划线位于基线上(这在 OP 提供的McCormick图像中很明显)

  2. 底线的厚度可以作为可选参数提供

  3. 我把小 c 保持在标称尺寸,但改变其中的1可以\scalebox改变它以适应。

  4. 我把下划线的宽度设为c宽度的 70%。我还把\kern下划线稍微向右移动了一点,以适应字母的不对称边距 c

  5. \Mc将会改变以适应当前的字体大小和样式。

这是 MWE(第二个实例中使用的可选参数)。

\documentclass{article}
\usepackage{stackengine,graphicx}
\newcommand\Mc[1][.17ex]{%
  \setbox0=\hbox{\scalebox{1}{c}}%
  \setbox2=\hbox{M}%
  M\stackengine{0pt}{\kern.07\wd0\rule{.7\wd0}{#1}}{\belowbaseline[-\ht2]{\copy0}}%
    {O}{c}{F}{F}{L}%
}

\begin{document}
\Mc CORMICK

\LARGE\Mc[.13ex]CORMICK

\sffamily

\Mc CORMICK

\normalsize \Mc CORMICK
\end{document}

在此处输入图片描述

替代方案

这里,下划线不位于基线上,而是位于 下方规定的间隙处c。其他变化包括 的大小c已减小到 70%;下划线的粗细减小到.13ex;可选参数指定 和 下划线之间的间隙c(在第二个实例中应用)

\documentclass{article}
\usepackage{stackengine,graphicx}
\newcommand\Mc[1][.13ex]{%
  \setbox0=\hbox{\scalebox{.7}{c}}%
  \setbox2=\hbox{M}%
  M\stackengine{\dimexpr\ht0-\ht2+#1}{\belowbaseline[-\ht2]{\copy0}}%
    {\kern.07\wd0\rule[-.13ex]{.7\wd0}{.13ex}}%
    {U}{c}{F}{F}{L}%
}

\begin{document}
\Mc CORMICK

\LARGE\Mc[.3ex]CORMICK

\sffamily

\Mc CORMICK

\normalsize \Mc CORMICK
\end{document}

在此处输入图片描述

方法 3

这试图实现 OP 的编辑,其中的高度c不是设置为 M 的顶部,而是可能为顶部以下的衬线厚度。

因此,我所做的就是将下划线的粗细设为可选参数的值(默认为.12ex,对于衬线字体,应设置为衬线粗细,对于无衬线字体,应设置为笔画粗细),并且将 距离C行顶的距离也设为相同的下降量。此外,与之前的做法不同,我使用了大写字母 ,而不是小写字母C。最后,我根据特写图中 OP 提供的边框线修改了下划线的宽度。除了右对齐下划线之外,我还估计 的边距为C字母宽度的 7%,因此将下划线的宽度设为宽度的 86% C(考虑到边距)减去作为可选参数提供的衬线宽度。

\documentclass{article}
\usepackage{stackengine,graphicx}
\newcommand\Mc[1][.12ex]{%
  \setbox0=\hbox{\scalebox{.7}{C}}%
  \setbox2=\hbox{M}%
  M\stackengine{0pt}{\rule{\dimexpr.86\wd0-#1}{#1}\kern.07\wd0}%
    {\belowbaseline[\dimexpr-\ht2+#1]{\copy0}}%
    {O}{r}{F}{F}{L}%
}

\begin{document}
\Mc[.08ex]CORMICK

\LARGE\Mc[.08ex]CORMICK

\sffamily

\Mc CORMICK

\normalsize \Mc CORMICK
\end{document}

在此处输入图片描述

答案3

一个简单的解决方案是使用\textsuperscriptsoulutf8。我定义了一个\Mc命令,其中包含一个可选参数(用于调整上标的高度)c和一个强制参数(名称的变量部分)。

\documentclass[12pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{amsmath}
\usepackage{soulutf8}
\newcommand\Mc[2][-0.6\depth]{\setul{0.25ex}{0.08ex}\setuloverlap{-0.08em}M\textsuperscript{\raisebox{#1}{\ul{c}}}#2}

\begin{document}

{\LARGE\textsc{dan \Mc{Anulty}}} \vspace{1cm}

{\normalsize\textsc{dan \Mc[0pt]{Anulty}}}

\end{document} 

在此处输入图片描述

答案4

适用于 ConTeXt 用户的一个版本:

%\setupbodyfont[pagella]
%\setupbodyfont[scholas]
\setupbodyfont[termes]

\starttext
  \newbox\MacMBox
  \setbox\MacMBox\hbox{M}
  \newbox\MacCBox
  \setbox\MacCBox\hbox{c}
  \newbox\MacKernBox
  \setbox\MacKernBox\hbox{\inframed[offset=\zeropoint, width=fit]{Mc}}

  \def\MacDelta{\dimexpr\wd\MacKernBox-\wd\MacMBox-\wd\MacCBox\relax}
  \def\MacUWidth{\dimexpr\wd\MacCBox-.75\MacDelta\relax}
  \def\MacRule{\vrule width \MacUWidth height .05em depth \zeropoint \relax}
  \def\MacKern{\dimexpr\wd\MacKernBox-\wd\MacMBox-\wd\MacCBox\relax}

  \def\Mac{%
    M{%
      \dontleavehmode{\raisebox{\dimexpr\ht\MacMBox-\ht\MacCBox}\hbox{c}}%
      \kern-1.04\MacUWidth
      \MacRule
      \kern.08\MacUWidth
    }%
  }

  \scale[scale=5000]{\Mac Anulty}
  \Mac Anulty
\stoptext

C 与 Macron

相关内容