-
Notifications
You must be signed in to change notification settings - Fork 15
Open
Description
检查
- 已在 issues 中进行搜索(包括已关闭的问题)
编译环境
-
操作系统
- Windows 11
- Windows 8/8.1
- Windows 7
- 更早版本的 Windows
- macOS
- Linux(请附发行版)
-
TeX 发行版
- TeX Live 2023
- MiKTeX
- CTeX 套装 2.9.2.164
- 更早版本的 CTeX 套装
描述问题
在使用 ulem 宏包时,中文内容加上下划线不能正确折行。我参考 ctex-forum 上的例子,加入 xeCJKfntef,解决了这个问题。然而这个宏包带来了新的问题——有时我希望在划线的同时对句子中个别词汇加粗强调,这时会在 \uline{} 的花括号中联用 \textbf。在使用 xeCJKfntef 之前,这种用法如我的期望那样达成了既划线又加粗的效果,但加入之后,\textbf 命令就只能影响其后的第一个字了。我尝试将 \textbf{} 改成 {\bfseries },没有变化;使用英文,则 \textbf 效果正常;将 ulem 去掉,也能使 \textbf 正常工作,但这样不能达到我的排版需求。
最小工作示例(MWE)
\documentclass{article}
\usepackage{ulem}
\usepackage{ctex}
\usepackage{xeCJKfntef}
\begin{document}
\uline{这是\textbf{示例}文档}. \uline{this is minimal working example. \textbf{lorem} ipsum dolor sit amet. consectitur }
\end{document}
(用 XeLaTeX 编译后)输出
更改
上述的叙述是我不清楚 xeCJKfntef 的使用方式导致的,今重新叙述如右:使用 xeCJKfntef 后,在 \uline{} 中联用 \textbf 则后者的影响范围只限命令后紧接的一个字。我一开始说「将 ulem 去掉,也能使 \textbf 正常工作」是因为当时的 MWE 中用的划线命令是 \emph{},在没有 ulem 包时,这个命令等效于 \textit{},而在意大利体命令中联用粗体,其表现确实正常。
另外,使用了 xeCJKfntef 后,在 \uline 内部联用会出现问题的命令除了 \textbf 还有 \large、\textit 等,总之似乎这时所有在 \uline 内部联用的字体命令都只能影响到紧接着的一个字。
Metadata
Metadata
Assignees
Labels
No labels