1) 如何生成 '\',以及 2) 在 \newcommand 中使用 \verb——可能吗?

1) 如何生成 '\',以及 2) 在 \newcommand 中使用 \verb——可能吗?

我正在编写文档,其中经常引用 Windows 样式的路径,例如“K:\Folder1\folder2\filename”。我看到一本组织不良的 LaTeX 用户指南,其中某些特殊字符可以通过在它们前面加上“\”本身来显示 - 例如“\#” - 但这对于反斜杠本身不起作用。我该如何显示该字符?


第 2 部分:我尝试使用 \verb 命令,它似乎有效:我可以使用“K:\verb-\-Folder1\verb-\-folder2\verb-\-filename”并得到我想要的结果。但是今天早上我决定应该将该路径放入我的第一个 \newcommand 中,但我不知道如何避免出现错误消息“\verb 结束于行尾”。

我尝试过使用反斜杠的较短的 \newcommands,足以让我自己确信此错误消息肯定是不真实的;即使使用较短的行,我也收到此消息。但我注意到在用户指南中列出的下一个错误消息是“\verb 在命令参数中非法”。LaTeX 没有向我显示该消息,但这是真的吗?在 \newcommand 中没有办法使用 \verb 吗?因为如果是这样,这看起来有点奇怪;一行包含大量 \verb 命令的文本似乎是 \newcommand 快捷方式的理想候选者。

答案1

您可以使用 url 包来设置路径(至少只要您不在名称中使用变音符号和类似的符号),或者使用 手动设置路径\textbackslash,或者使用带有斜杠的菜单键作为输入:

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage{url}
\usepackage{menukeys}
\newmenustylesimple*{mystyle}{\ttfamily\CurrentMenuElement}[\textbackslash]{blacknwhite}
\renewmenumacro{\directory}[/]{mystyle}
\begin{document}
url:

\path{K:\Folder1\folder2\filename}

manual:

K:\textbackslash Folder1\textbackslash folder2\textbackslash filename

menu keys:

\directory{K:/Folder1/folder2/filename}

\end{document}

在此处输入图片描述

答案2

按照@Teepeemm 的建议,您可以在 expl3 中定义一个接受v参数的命令(逐字):

\NewDocumentCommand{\mypath}{v}{#1}

解释3

平均能量损失

\documentclass{article}
\ExplSyntaxOn
\NewDocumentCommand { \mypath } { v } {
  #1
}
\ExplSyntaxOff

\begin{document}

\mypath{K:\Folder1\folder2\filename}

\end{document}

相关内容