\documentclass[12pt]{article}
\usepackage[obeyspaces,spaces]{url}
\usepackage{indentfirst}
\usepackage{changepage}
\newlength{\anIndent}
\setlength{\anIndent}{\parindent}
\newcommand{\myPar}[1]
{
\begin{adjustwidth}{2\anIndent}{}
\hspace{\anIndent}
#1
\end{adjustwidth}
}
\begin{document}
\myPar
{
\path{C:\Data Temp\Cam.dat}
}
\end{document}
这是我找到的最接近 MWE 示例的例子。这里的问题似乎是 indentfirst 和 changepage 包以某种方式改变了 url 包的工作方式,并在路径中的“Cam”文本后插入了一个不必要的空格。有什么解决办法吗?非常感谢您的宝贵时间!
答案1
提供的命令url
使用与逐字命令相同的机制。因此您必须以特殊方式处理它。对于您来说,该软件包cprotect
将帮助您:
\documentclass[12pt]{article}
\usepackage[obeyspaces,spaces]{url}
\usepackage{cprotect}
\def\testcommand#1{#1{}}
\begin{document}
\cprotect\testcommand{\path{C:\Data Temp\Cam.dat}}
\testcommand{\path{C:\Data Temp\Cam.dat}}
\end{document}
或者就你的情况而言:
\documentclass[12pt]{article}
\usepackage[obeyspaces,spaces]{url}
\usepackage{indentfirst}
\usepackage{changepage}
\usepackage{cprotect}
\newlength{\anIndent}
\setlength{\anIndent}{\parindent}
\newcommand{\myPar}[1]
{
\begin{adjustwidth}{2\anIndent}{}
\hspace{\anIndent}
#1
\end{adjustwidth}
}
\begin{document}
\cprotect\myPar
{
\path{C:\Data Temp\Cam.dat}
}
\end{document}