在文本上水平居中字形

在文本上水平居中字形

在给定的 MWE 中,请注意新slur命令并不以它连接的两个 F 为中心。

我尝试调整scalelilyGlyph但它仍然太靠左了。我希望 的两端slur以 F 居中。但如果不是很难,我还想看看如何才能使末端位于整个F$^x$单元的中心。

\stackonstackengine包装中可能会有帮助,如图所示双行文本(文本上方为文本)(也可以看看Stackengine 居中问题)。我已经尝试过将 MWE 调到最低,但它仍然没有充分居中,我也无法找到降低它的方法。

(对于任何好奇的人来说,这是一种特殊类型的音乐符号。)

%XeLaTeX
\documentclass{report}
\usepackage{fontspec}
\usepackage{graphicx}
\usepackage{lilyglyphs}
\usepackage{stackengine}

\newcommand{\slur}{%
    \scalebox{2}[1]{%
        \rotatebox{180}{\lilyGlyph[scale=1.5,raise=-2.0]{ties.lyric.default}}%
            }%
        \phantom{\textendash}%
        }

\begin{document}
G$^2$--F$^2$\slur F$^1$--E$^1$

G$^2$--\stackon{F$^2$\phantom{\textendash}F$^1$}{\scalebox{2}[1]{\rotatebox{180}{\lilyGlyph[scale=1.5]{ties.lyric.default}}}}--E$^1$
\end{document}

在此处输入图片描述

在此处输入图片描述

答案1

我更改了堆叠间隙、连线线的水平比例,并添加了一个小的字距。我还使用了完整的\stackengine宏,轻松将“useanchorwidth”设置为 true。

我把它放在一个宏中,带有一个可选参数,用于确定水平缩放。

%XeLaTeX
\documentclass{report}
\usepackage{fontspec}
\usepackage{graphicx}
\usepackage{lilyglyphs}
\usepackage{stackengine}
\newcommand\slur[3][3.5]{%
\stackengine{-.5pt}{#2\phantom{\textendash}#3}%
  {\scalebox{#1}[1]{\rotatebox{180}%
  {\lilyGlyph[scale=1.5]{ties.lyric.default}}}\kern1pt}%
  {O}{c}{F}{T}{S}
}

\begin{document}
G$^2$--\slur{F$^2$}{F$^1$}--E$^1$

G$^2$--\slur[2.4]{F}{G}--E$^1$
\end{document}

在此处输入图片描述

相关内容