行内盒子断行问题解决?

发布于 2025-12-05 22:57:35

发行版:texlive2025overleaf
编译方式:xelatex(或者 lualatex
问题:想要在 elegantbook 文档类中实现行内盒子断行,但是 tcolorbox 行内盒子无法自动断行?
效果如下:
image.png

盒子实现如下:

% 英文单词背景框(微调内边距,更舒展美观)
\newtcbox{\englishbox}{
    on line,
    boxrule=0pt,
    boxsep=1.5pt, % 盒内文字与边框的间距(比1pt舒展、比2pt紧凑)
    top=1pt,
    bottom=1pt,
    left=3pt, % 盒左侧内边距(比2pt更舒展)
    right=3pt, % 盒右侧内边距(比2pt更舒展)
    colback=cyan!10,
    colframe=cyan!10,
    arc=3pt,
    enhanced jigsaw
}

% 核心命令(保留你原有的写法)
\newcommand{\wordbox}[2]{%
    \englishbox{\textbf{#1}}% 
    \textcolor{blue!70!black}{(#2)}% 
}

查看更多

关注者
0
被浏览
48
1 个回答
Absinthe
Absinthe 10小时前
这家伙很懒,什么也没写!

解决方案

感谢 Explorer 老师 Eureka 老师在 QQ 群(604354275)里的关注:
Explorer 最开始给出如下实现方案 这种问题的最佳实践是 xeCJKfntef xeCJK 宏包

或者luacolor+lua-ul lua-ul.pdf
(在 elegantbook 中不太好的实现,在本地貌似编译不了)

类似问题以及相关链接

luatex - 法语引言内含灵魂包的高亮单词 - TeX - LaTeX Stack Exchange --- luatex - Highlight words with soul package inside a french quotation - TeX - LaTeX Stack Exchange

在使用xeCJKfntef包排版高亮文字时,footnote无法正常显示,如何解决? - LaTeX问答

最终实现

最终的实现为

% ===== 方案 1 需要使用 lualatex 编译,在 elegantbook 内不推荐 =====
% \usepackage{luacolor}
% \usepackage[soul]{lua-ul}
% \newcommand{\wordbox}[2]{%
%     \highLight[cyan!10]{\textbf{#1}}% 
%     \textcolor{blue!70!black}{(#2)}% 
% }

% ===== 方案 2 xelatex =====
\usepackage{xeCJKfntef}
\NewDocumentCommand{\wordbox}{ m m }{%
    {\bfseries\CJKunderanyline*{0.5ex}{\color{cyan!10}\rule{2pt}{2.5ex}}{#1}\textcolor{blue!70!black}{(#2)}}%
}

完整的例子

方案1

\documentclass[lang=cn,14pt]{elegantbook}
\usepackage{zhlipsum}
\usepackage{luacolor}
\usepackage[soul]{lua-ul}

\newcommand{\wordbox}[2]{%
    \highLight[cyan!10]{\textbf{#1}}% 
    \textcolor{blue!70!black}{(#2)}% 
}
\begin{document}
\hl{\zhlipsum[1]}

\highLight[cyan!10]{\zhlipsum[1]}

\wordbox{\zhlipsum[1]}{\zhlipsum[1]}
\end{document}

方案2

\documentclass[lang=cn,14pt]{elegantbook}
\usepackage{xcolor}
\usepackage{xeCJKfntef}
\NewDocumentCommand{\wordbox}{ m m }{%
    {\bfseries\CJKunderanyline*{0.5ex}{\color{cyan!10}\rule{2pt}{2.5ex}}{#1}}%
    \textcolor{blue!70!black}{(#2)}%
}
\begin{document}
\wordbox{劳仑衣普桑,认至将指点效则机,最你更枝。劳仑衣普桑,认至将指点效则机,最你更枝。劳仑衣普桑,认至将指点效则机,最你更枝。}{劳仑衣普桑,认至将指点效则机,最你更枝。劳仑衣普桑,认至将指点效则机,最你更枝。劳仑衣普桑,认至将指点效则机,最你更枝。}
\end{document}

撰写答案

请登录后再发布答案,点击登录

发布
问题

分享
好友

手机
浏览

扫码手机浏览