使用包逐字框可以使用 href 的目标(第二个参数)作为逐字框。但我尝试使用没有框的版本。
我在使用盒装版本时发现了一些问题。下面是一个示例,首先展示了问题,然后展示了我使用非盒装版本的尝试
\documentclass[12pt,notitlepage]{article}
\usepackage{hyperref}
\usepackage{verbatimbox}
%code thanks to
%https://tex.stackexchange.com/questions/697506/why-unable-to-recall-verbbox-from-vebatimbox-package-in-enumeration-list
\newcommand{\theverbboxitem}{%
\kern-\labelwidth\kern-\labelsep
\theverbbox
\kern\labelwidth\kern\labelsep
}
\begin{document}
\begin{enumerate}
\item \leavevmode\begin{verbbox}7_Inverse_hyperbolic_functions/7.1_Inverse_hyperbolic_sine/186_7.1.2-d_x-^m-a+b_arcsinh-c_x-^n\end{verbbox}
\href{https://some_url_1/report.htm}{\theverbboxitem}
\item \leavevmode\begin{verbbox}7_Inverse_hyperbolic_functions/7.2_Inverse_hyperbolic_sine/186_7.1.2-d_x-^m-a+sin_x_y+b_arcsinh-c_x-^n\end{verbbox}
\href{https://some_url_2/report.htm}{\theverbboxitem}
\end{enumerate}
\end{document}
使用 lualatex 编译后得到
它在最后会卷起来。我不想要。我认为这是因为使用盒子。
这是我构建的大型文档的屏幕截图,显示了问题
我试图看看是否可以拥有不带盒子的版本,但它做不到这一点。
原来软件包提供了一个noboxed
版本!但我不知道如何使用非盒装版本。当我尝试
\begin{verbnobox}my nice site\end{verbnobox}
\href{https://site_URL_here/index.htm}{\theverbbox}
我明白了
上面不是 href。单击它没有任何反应。下面的点是空框。我明白发生了什么。但不知道怎样才能让无盒装版本在 href 中与有盒装版本一样工作。
医生说
好吧,我记不起它们是如何使用的\theverbbox
。但是如何将它们与 href 一起使用呢?我尝试直接使用它
\href{https://site_URL_here/index.htm}{\begin{verbnobox}my nice site\end{verbnobox}}
但出现编译错误。
Missing } inserted. ...begin{verbnobox}my nice site\end{verbnobox}}
我的问题是:如果无法调用它并且无法直接插入它,如何使用verbnobox
而不是verbbox
作为第二个参数href
?我基本上只是想找到一种方法来使用 Verbatim 作为 href 的第二个参数。上面的包就是这样做的,但我不想在它周围加上方框,以便修复上面示例中显示的包装。
这是 MWE
\documentclass[12pt,notitlepage]{article}
\usepackage{hyperref}
\usepackage{verbatimbox}
\begin{document}
\begin{verbnobox}my nice site\end{verbnobox}
\href{https://site_URL_here/index.htm}{\theverbbox} %not correct
%this is also not correct
%\href{https://site_URL_here/index.htm}{\begin{verbnobox}my nice site\end{verbnobox}}
\end{document}
TL 2023
答案1
我认为 verbatimbox 不是一个好的解决方案。你会得到一个方框,这意味着没有合理的换行符。我会用它\urldef
来存储类似文本的 url:
\documentclass[12pt,notitlepage]{article}
\usepackage{hyperref}
\usepackage{verbatimbox}
\textwidth=4cm
\usepackage{xurl}
\begin{document}
\begin{myverbbox}{\myTarget}https://some_url_with_^many_%*?_strange_characters/report.htm\end{myverbbox}
\href{https://some_url_with_^many_%*?_strange_characters/report.htm}{\myTarget}
\bigskip
\urldef\mytarget\nolinkurl{https://some_url_with_^many_%*?_#strange_characters/report.htm}
\href{https://some_url_with_^many_%*?_strange_characters/report.htm}{\mytarget}
\end{document}