如何根据答案来控制下划线长度

2020-05-19 17:06发布

## 编译环境 操作系统 * [ ] Windows 7/8/10 Tex发行版 * [ ] TexLive `年份` ## 我的问题 \CJKunderline[hidden]{答案},有没有办...

## 编译环境 操作系统 * [ ] Windows 7/8/10 Tex发行版 * [ ] TexLive `年份` ## 我的问题 \CJKunderline[hidden]{答案},有没有办法能自动的根据(答案的宽度*1.5)来画下划线, 原因是手写体一般比印刷体宽,所以下划线宽度需要预留大一些。
3条回答
纸鸢
2020-05-21 00:13
简单用latex3实现了一下,可选参数是留白的比例 13行那个`>`是>,网页bug ```tex \documentclass{ctexart} \usepackage{xeCJKfntef} \usepackage{xparse} \usepackage{xstring} \ExplSyntaxOn \int_new:N \l_wd_int \tl_new:N \l_answer_tl \str_new:N \l_answer_str \NewDocumentCommand{\answer}{O{0} m}{ \tl_set:Nx \l_answer_tl {#2} \int_set:Nn \l_wd_int {\fp_eval:n {floor(#1 * \str_count:N \l_answer_tl)}} \str_set:Nx \l_answer_str {#2} \int_while_do:nn {\l_wd_int > 0}{ \str_put_right:Nn \l_answer_str {烫} \int_decr:N \l_wd_int } \CJKunderline[hidden]{\l_answer_str} } \ExplSyntaxOff \def\test{答案答案答案答案答案答案答案答案答案答案答案答案答案答案} \begin{document} 答案:\CJKunderline{\test} 答案:\CJKunderline[hidden]{\test} 答案:\answer{\test} 答案:\answer[0.5]{\test} 答案:\answer[1]{\test} \end{document} ``` ![](https://wenda.latexstudio.net/data/attach/200520/QajLKVWx.png)

一周热门 更多>