背景
使用\path
URL 包中的命令标记目录路径。部分路径带有空格。
问题
前导码设置为:
\usepackage{algorithm}
\usepackage{booktabs}
% ... many other packages ...
\usepackage[automark,nouppercase]{scrpage2}
\usepackage[obeyspaces,dvipsnames,svgnames,x11names,table,hyperref]{xcolor}
该命令的代码\path
:
\path{c:\Program Files\Java\jdk1.6.0_22}
(PDF) 输出缺少空格:
c:\ProgramFiles\Java\jdk1.6.0_22
URL 包的文档中提到了obeyspaces
。文档并未说明当包被间接包含时如何强制执行参数。
问题
如何强制\path
命令在其参数中保留空格,而不必重写所有语句(包括不间断空格或其 LaTeX 等效项)?
谢谢你!
答案1
将选项指定obeyspaces
为文档类选项。然后应自动将其传递给url
包。
答案2
该url
软件包不允许稍后使用\urlsetup
命令设置选项,因此您必须破解代码才能获得所需的内容。在使用此破解之前,请确保您无法通过过早放置或来预先调用url
带有选项的软件包(例如,在之后)。obeyspaces
\usepackage[obeyspaces]{url}
\PassOptionsToPackage{obeyspaces}{url}
\documentclass
\documentclass{article}
\usepackage{url}
\makeatletter
\begingroup \lccode`+=32 \lowercase
{\endgroup \def\Url@ObeySp{\Url@Edit\Url@String{ }{+}}}
\def\Url@space{\penalty\Url@sppen\ }
\makeatother
\begin{document}
\path{c:\Program Files\Java\jdk1.6.0_22}
\end{document}