Латексная команда \path внутри \newcommand определение не работает?

Я хотел бы использовать \path команда внутри \newcommand определение внутри латексного документа. Однако мое определение не работает, как я ожидал бы, что это будет работать. Минимальный пример для этого

\documentclass[12pt]{article}
\usepackage{path}
\newcommand{\code}[1]{\path!{#1}!}
\begin{document}
Testing the path command with: \code{this.texts.should.not.be.typeseted.on.a.single.line}.

Testing the path command with: \path!this.texts.should.not.be.typeseted.on.a.single.line!.
\end{document}

Какую ошибку я делаю при определении новой команды?

1 ответ

Решение

Вкратце, \ path делает \ catcode обманом, во многом как \ verb, и поэтому, как и \ verb, он не будет работать правильно в других командах. (См. http://www.tex.ac.uk/cgi-bin/texfaq2html?label=verbwithin) Очевидно, что вы делаете что-то дополнительное в своем приложении, в противном случае вы могли бы просто сказать \newcommand\code{\path} или даже \ let \ code \ path, который работает, потому что команда затем позволит \ path подобрать параметр, а не делать это самостоятельно.

Другие вопросы по тегам