Латексная команда \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 подобрать параметр, а не делать это самостоятельно.