最后给出的灵活代码的极度简化

最后给出的灵活代码的极度简化

在法语中,单词不是独立发音的:当两个单词相邻时,省略例如,可能会发生。

我怎样才能以小弧线的形式在单词下方绘制这些绑定?我正在使用 LaTeX,如果需要,可以使用 LuaTeX 引擎。

联络员

笔记:

  • 在此图的第一行中,最左边的弧从“s”下方开始;

  • 在第二行中,最左边的弧从第二个“l”下方开始。

答案1

不幸的是,你真正想要的是——根据你的评论—不清楚根本在问题中。因此,我留下了四个不同的例子来尝试实现你的愿望。

最后给出的灵活代码的极度简化

\documentclass{article}
\usepackage{tikz}

\newcommand{\liaison}{%
  \tikz[baseline=0pt] \draw (0,0) to[bend right=20] (0.2,0);%
}

\begin{document}

Nous\liaison avons mangé des\liaison amandes grillées.

\end{document}

在此处输入图片描述

在文档中任意位置之间绘制联系

这可以通过tikzmarkTiZ 库:

\documentclass{article}
\usepackage{xparse}
\usepackage{tikz}
\usetikzlibrary{tikzmark}

\ExplSyntaxOn
\NewDocumentCommand \liaison { O{0.5mm} O{20} m m }
  {
    \begin{tikzpicture}[remember~picture, overlay]
      \draw ([yshift=-#1]#3.south) to[bend~right=#2] ([yshift=-#1]#4.south);
    \end{tikzpicture}
  }
\ExplSyntaxOff

\begin{document}

El\tikzmarknode{A}{l}e \tikzmarknode{B}{a} faim.\liaison{A}{B}

Please fr\tikzmarknode{here}{o}bnicate the damn toa\tikzmarknode{there}{s}ter.%
\liaison{here}{there}

\end{document}

在此处输入图片描述

使弧线终止于字母前后“南点”以下的代码

以下代码使弧线从相关字母的“南点”下方开始和结束:

\documentclass{article}
\usepackage{xparse}
\usepackage{tikz}
\usetikzlibrary{positioning}

\ExplSyntaxOn
\clist_new:N \l__Nik_clist
\tl_new:N \l__Nik_last_before_tl
\tl_new:N \l__Nik_first_after_tl

\NewDocumentCommand \liaison { O{0.5mm} m }
  {
    \clist_set:Nn \l__Nik_clist {#2}
    \clist_pop:NN \l__Nik_clist \l__Nik_last_before_tl
    \clist_pop:NN \l__Nik_clist \l__Nik_first_after_tl

    \begin{tikzpicture}[baseline=(a.base), nodes={inner~sep=0}]
      \draw node (a) {\l__Nik_last_before_tl}
            node[right=\pgfkeysvalueof{/tikz/ma~liaison/width}~of~a]
              (b) {\l__Nik_first_after_tl}
            ([yshift=-#1]a.south) to[bend~right=20]
            ([yshift=-#1]b.south);
    \end{tikzpicture}
    \ignorespaces
  }
\ExplSyntaxOff

\tikzset{ma liaison/width/.initial=0.2}

% Set /tikz/ma liaison/width to the width of an interword space in the font
% current at the beginning of the document. Comment out if you prefer to use
% the above default.
\AtBeginDocument{%
  \tikzset{ma liaison/width/.expand once=\the\fontdimen2\font}%
}

\begin{document}

Nou\liaison{s,a} vons mangé de\liaison{s,a} mandes grillées.

\end{document}

在此处输入图片描述

灵活代码(弧线结束于字母角)

这是一个 Ti基于 Z 的解决方案,带有一堆旋钮来设置默认值或微调结果:

\documentclass{article}
% The following 3 packages are only used here to provide good typography and
% PDF output with the sample text in French.
\usepackage{lmodern}
\usepackage[T1]{fontenc}
\usepackage[english,french]{babel}

\usepackage{tikz}
\usetikzlibrary{babel}          % comment this out if your TikZ is too old

\tikzset{
  ma liaison/.is family,
  ma liaison/bend amount/.initial=20,
  % The following three values are in x units of the TikZ xyz coordinate system.
  ma liaison/width/.initial=0.2,
  ma liaison/left padding/.initial=0.01,
  ma liaison/right padding/.initial=0.01,
  ma liaison/padding/.style={left padding={#1}, right padding={#1}},
  ma liaison/color/.initial=blue!40,
  ma liaison/default options/.style={line cap=round},
  ma liaison/other options/.style={/tikz/.cd, #1},
}

\newcommand*{\liaison}[1][]{%
  \begin{tikzpicture}[baseline=0pt, ma liaison/default options, ma liaison, #1]
    \draw[color/.expanded=\pgfkeysvalueof{/tikz/ma liaison/color}]
      (-\pgfkeysvalueof{/tikz/ma liaison/left padding}, 0)
      (0,0) to[bend right=\pgfkeysvalueof{/tikz/ma liaison/bend amount}]
      (\pgfkeysvalueof{/tikz/ma liaison/width}, 0)
      +(\pgfkeysvalueof{/tikz/ma liaison/right padding}, 0);
  \end{tikzpicture}%
  \ignorespaces
}

\begin{document}

Nous\liaison avons mangé des\liaison amandes grillées. Elles\liaison étaient
délicieuses !

On peut aussi faire des liaisons\liaison[color=red!40, width=1.5cm] à
rallonge... pour les amateurs.

\begin{otherlanguage}{english}
Another example of customization: before%
\liaison[color=green!40!blue, width=4, bend amount=15, padding=0.2,
         other options={line width=2pt}] % space token ignored due to the
                                         % \ignorespaces
after.
\end{otherlanguage}

\end{document}

在此处输入图片描述

如果你有很多联络员如果您的文档中具有相同的图形方面,您可能希望将相应的内容保存tikzpicture在一个框中并打印出来\usebox以加快编译速度。

相关内容