在给定的 MWE 中,请注意新slur
命令并不以它连接的两个 F 为中心。
我尝试调整scale
,lilyGlyph
但它仍然太靠左了。我希望 的两端slur
以 F 居中。但如果不是也很难,我还想看看如何才能使末端位于整个F$^x$
单元的中心。
\stackon
从stackengine
包装中可能会有帮助,如图所示双行文本(文本上方为文本)(也可以看看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}