переопределить путь с конечным обратным слешем

переопределить путь с конечным обратным слешем

Следующий MWE работает нормально:

\documentclass{article}
\usepackage{url}
\renewcommand{\path}[1]{hidden for privacy}
\begin{document}
\path{C:\User\John Doe}
\end{document}

С обратной косой чертой в конце ( \path{C:\User\John Doe\}) он не скомпилируется. У меня есть

Runaway argument?
{C:\User \John Doe\} \end {document} 
! File ended while scanning use of \path.

Как мне переопределить \path, чтобы это работало и с конечными обратными слешами?

решение1

Вы можете использовать xparseи его vспецификатор аргумента типа. Если ваша установка LaTeX на 100% актуальна, xparseто она уже встроена в latex

\RenewDocumentCommand\path{v}{hidden for privacy}

Полная МВЭ:

\documentclass{article}
\usepackage{url}
%\renewcommand{\path}[1]{hidden for privacy}
\RenewDocumentCommand\path{v}{hidden for privacy}
\begin{document}
\path{C:\User\John Doe\}
\end{document}

Аналогично с xparseявно загруженным

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage{xparse}
\usepackage{url}
%\renewcommand{\path}[1]{hidden for privacy}
\RenewDocumentCommand\path{v}{»Path hidden for privacy«}
\begin{document}
\path{C:\User\John Doe\}
\end{document}

Связанный контент