有没有办法(使用 tikz)获得如下图所示的效果?
即什么命令\inserteffect
会产生这种效果,而不是像以下 MWE(pdflatex)那样仅仅插入括号中:
\documentclass{article}
\newcommand{\inserteffect}[1]{(#1)}
\begin{document}
Here some \inserteffect{very nice} text.
\end{document}
答案1
像这样吗?这确实使用了 TikZ,尽管这确实有点过头了。
\documentclass[welsh]{article}
\usepackage{tikz,babel}
\usetikzlibrary{calc,tikzmark}
\begin{document}
Yn y fan hon, mae\tikzmark{a} \tikzmark{b}geiriau.
\hskip 5em\tikzmark{c}testun neis iawn\tikzmark{d}
\begin{tikzpicture}[overlay, remember picture]
\draw ([xshift=-.25em]{pic cs:c}) -- ++(0,.25em) [out=90, in=-95] to ([yshift=.25em]$({pic cs:a})!1/2!({pic cs:b})$) [out=-85, in=90] to ([yshift=.25em, xshift=.25em]{pic cs:d}) -- ++(0,-.25em);
\end{tikzpicture}
\end{document}
编辑
这是一个使用单个命令的版本。但是,您需要确保留出足够的垂直空间以容纳文本。
该命令接受 2 个参数。第一个是页面上该点的唯一名称。第二个是文本。
\documentclass[welsh]{article}
\usepackage{tikz,babel}
\usetikzlibrary{calc,tikzmark}
\newcommand\neis[2]{%
\tikzmark{#1}%
\tikz[remember picture,overlay]{%
\node (#1-1) [inner ysep=.1em] at ([yshift=-1em]{pic cs:#1}) {#2};
\draw (#1-1.south west) -- ++(0,.25em) [out=90, in=-95] to ([yshift=.25em]{pic cs:#1}) [out=-85, in=90] to ([yshift=.25em]#1-1.south east) -- ++(0,-.25em);
}%
}
\begin{document}
Yn y fan hon, mae \neis{a}{testun neis iawn} geiriau.\bigskip
Dyma'r \neis{b}{geiriau bendigedig} testun arall.
\end{document}
编辑2
如果你真的如果你想把它挤在文本行之间,你可以。但是,我认为这样做没什么意义,因为文本和添加的内容很快就会变得难以辨认。
但是,这个网站是关于 TikZ 中想法的技术实现的,不管它们有多么疯狂。
\documentclass[welsh]{article}
\usepackage{tikz,babel}
\usetikzlibrary{calc,tikzmark}
\newcommand\neis[2]{%
\tikzmark{#1}%
\tikz[remember picture,overlay]{%
\node (#1-1) [font=\tiny, inner xsep=.1em, inner ysep=.05em] at ([yshift=-.35em]{pic cs:#1}) {#2};
\draw [thin] (#1-1.south west) -- ++(0,.075em) [out=90, in=-95] to ([yshift=.25em]{pic cs:#1}) [out=-85, in=90] to ([yshift=.075em]#1-1.south east) -- ++(0,-.075em);
}%
}
\begin{document}
Yn y fan hon, mae \neis{a}{testun neis iawn} geiriau.
Dyma'r \neis{b}{geiriau bendigedig} testun arall.
Y mae llawer o eiriau mewn ieithoedd --- hyd yn oed yn un ohonynt.
\end{document}
编辑3
\footnotesize
这是假设双倍行距并用于插入文本的版本。尽管仍然有些拥挤,但在我看来,这左右是一个合理的折衷方案。
\documentclass[welsh]{article}
\usepackage{tikz,babel,setspace}
\usetikzlibrary{calc,tikzmark}
\newcommand\neis[2]{%
\tikzmark{#1}%
\tikz[remember picture,overlay]{%
\node (#1-1) [inner xsep=.2em, inner ysep=.05em, font=\footnotesize] at ([yshift=-.65em]{pic cs:#1}) {#2};
\draw [thin] (#1-1.south west) -- ++(0,.25em) [out=90, in=-95] to ([yshift=.25em]{pic cs:#1}) [out=-85, in=90] to ([yshift=.25em]#1-1.south east) -- ++(0,-.25em);
}%
}
\begin{document}
\doublespacing
Yn y fan hon, mae \neis{a}{testun neis iawn} geiriau.
Dyma'r \neis{b}{geiriau bendigedig} testun arall.
Y mae llawer o eiriau mewn ieithoedd --- hyd yn oed yn un ohonynt.
\end{document}