使用 \ul{}(来自 soul 包)和引用标签(\nameref)

使用 \ul{}(来自 soul 包)和引用标签(\nameref)

我有以下代码:

\documentclass[12pt]{article}

\usepackage{hyperref}
\usepackage{soul}
\usepackage{blindtext}

\begin{document}

\section{Introducton}
\label{sec:intro}
\blindtext{}

\section{Second Section}
\label{sec:second}

This \ul{sentence works with ``ul''}.

Reference without ``ul'': \nameref{sec:intro}

This does not work with ``ul'': \ul{\nameref{sec:intro}}.

\end{document}

在我正在处理的文档中,我尝试\nameref{}使用 来为 加下划线\ul{},但这样做时它崩溃了(出于某种原因,在本文档中它不会崩溃,只是不显示)。我使用 是\ul{}因为与 相比它支持换行\underline{}。我想知道是否有人对此有解决方案。谢谢。

编辑:此图像是上述代码生成的: 图片 1

尝试 1

我尝试查看类似的问题并发现,并通过添加一组括号将\ul{\nameref{sec:intro}}其改为\ul{{\nameref{sec:intro}}},但它只是用黑色方块替换了缺失的文本,如下所示: 图片 2

第二次尝试

按照罗伯特对这个问题的评论,\soulregister\nameref7在下面添加\usepackage{soul}对我来说第一张图片没有什么区别。

第三次尝试

按照乌尔丽克·菲舍尔的评论,(第一种方法)\ul{\mbox{\nameref{sec:intro}}}确实可以让文本显示出来,但是不会在文档上换行。

第四次尝试

按照乌尔丽克·菲舍尔的评论,(第二种方法)使用\underLine{\nameref{sec:intro}}with\usepackage{lua-ul}和 runninglualatex documentname而不是pdflatex documentname在终端中对我有用,并且可以对交叉引用的文本进行换行。

答案1

按照乌尔丽克·菲舍尔的评论,(第二种方法)使用\underLine{\nameref{sec:intro}}with\usepackage{lua-ul}和 runninglualatex documentname代替pdflatex documentname在终端中对我有用,并且可以对交叉引用的文本进行换行

相关内容