免費論壇 繁體 | 簡體
Sclub交友聊天~加入聊天室當版主
分享
返回列表 发帖

请教文本修改的气泡式文本要怎么做

如题。就是过去作文修改时,会在某句话里加一些词句A,然后把A用一个气泡形的框起来,再插入到正文中,这个在latex里要怎么做?
比如这样的:
无标题.gif
2020-10-23 13:54
分享到: QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友

\documentclass{ctexart}
\usepackage{tikz}
\usetikzlibrary{calc,shapes.callouts}

\newcommand\qipao[1]{%
\tikz[baseline={($(co.pointer)+(0,-8pt)$)},
trim left=(co.pointer),trim right=(co.pointer)]{
\node[draw,inner sep=1pt,ellipse callout,
callout relative pointer={(-90:4pt)}] (co) {#1};
}}

\begin{document}

我不管!我要妹子!

我不管!我要\qipao{萌}妹子!

我不管!我要\qipao{肉肉哒}妹子!

\end{document}
QQ截图20201031002810.png
$\href{https://kuingggg.github.io/}{\text{About Me}}$

TOP

回复 2# kuing

谢谢,就是这个效果。这回作文修改什么东西能标出来了。

TOP

再撸了一个圆角长方形的气泡,并且分左、中、右三种方式:
\documentclass{ctexart}
\usepackage{tikz}

\newlength\qpjl\setlength\qpjl{5pt}
\newcommand\recqipao[4]{%
\tikz[baseline=-9pt,trim left=(o),trim right=(o)]{
\coordinate (o) at (0,0);
\node[inner sep=2pt,minimum width=15pt,minimum height=10pt,#1] (t) at (o) {#4};
\draw (o)++(#2*\qpjl,\qpjl)--(o)--++(#3*\qpjl,\qpjl)
[rounded corners]--(t.south east)--(t.north east)--(t.north west)--(t.south west)
[sharp corners]--cycle;
}}
\newcommand\recqp[1]{\recqipao{above=\qpjl}{-0.5}{0.5}{#1}}
\newcommand\recqpr[1]{\recqipao{above right=\qpjl,xshift=-2*\qpjl}{0}{1}{#1}}
\newcommand\recqpl[1]{\recqipao{above left=\qpjl,xshift=2*\qpjl}{-1}{0}{#1}}

\begin{document}

我不管!我要\recqp{x}妹子!我要\recqp{萌}妹子!我要\recqp{肉肉哒}妹子!

我不管!我要\recqpr{x}妹子!我要\recqpr{萌}妹子!我要\recqpr{肉肉哒}妹子!

我不管!我要\recqpl{x}妹子!我要\recqpl{萌}妹子!我要\recqpl{肉肉哒}妹子!

\end{document}
QQ截图20201031211705.png
$\href{https://kuingggg.github.io/}{\text{About Me}}$

TOP

回复 4# kuing

这个可以定义两个参数的吧,然后第一个参数默认是中间,可选是左右,第二个参数是文本。只要一个命令就行了。

TOP

回复 3# abababa

这太费事儿了,直接打印出来,或者平板直接书写,高效多了

你这个目的我真不能接受

TOP

回复 5# abababa

那还得多打个中括号呢,我现在的三个命令的后两个也就多个 r 和 l 而已。

默认参数还是留给以后需要调整某些东西的时候再定吧。比如说,因为你的描述是针对文本,所以我现在设计的气泡的竖直位置是固定的,如果以后遇到某些需要调整位置的情况,就可以增设一个默认参数来设定位置,那么正文原先的代码就不需要改。

TOP

返回列表 回复 发帖