
Я хотел бы правильно набрать путь к файлу, например
C:\Program Files\Some program\bin\executable.exe
Первая проблема, с которой я столкнулся, заключалась в том, что LaTeX пытается трактовать \Program
как команду. Я попытался экранировать ее еще одним обратным слешем, что привело к переносу строки.
Потом я нашел этот пакетклавиши менюно я не очень доволен, потому что он набирает системные разделители (например, \
для Windows и /
Unix-подобных систем) в виде каких-то странных стрелок.
Это подводит меня к вопросу: какой способ указания пути к файлу в LaTeX является предпочтительным?
решение1
Вы можете загрузить пакет url
с опцией obeyspaces
и заключить полное имя файла в \url
инструкцию:
\documentclass{article}
\usepackage[obeyspaces]{url}
\begin{document}
\path{C:\Program Files\Some program\bin\executable.exe} % equivalent to \url{...}, but more semantic
\end{document}
Приложение: Если вам необходимо или вы хотите разрешить переносы строк в пробелах, выберите spaces
также опцию:
\usepackage[obeyspaces,spaces]{url}
решение2
Мне очень нравится menukeys
, и я думаю, вам все равно стоит рассмотреть возможность его использования.
К сожалению, menukeys
в настоящее время не предоставляет своим пользователям возможность настраиватьвыходразделитель пути ("странная стрелка", о которой вы говорите). Однако я уверен,Тобиас «Тоби» Вех(автор menukeys
) добавит эту функцию в будущий релиз, если увидит этот вопрос.
А пока вот способ настройки разделителя пути.
\documentclass{article}
\usepackage{menukeys}
\makeatletter
% --- macro for changing path sep ---
\newcommand\setnewpathsep[1]
{%
\tw@declare@style@simple*{paths}{%
{\ttfamily\CurrentMenuElement}%
}[%
#1%
]{blacknwhite}
}
% --- reset the path separator (macro expands to original style def) ---
\newcommand\resetpathsep
{%
\tw@declare@style@simple*{paths}{%
{\ttfamily\CurrentMenuElement}%
}[%
\hspace{0.2em plus 0.1em}%
\raisebox{0.08ex}{%
\tikz{\fill[\usemenucolor{txt}] (0,0) -- (0.5ex,0.5ex)%
-- (0,1ex) -- cycle;}%
}%
\hspace{0.2em plus 0.1em}%
]{blacknwhite}
}
\makeatother
\begin{document}
% original style
\directory{C:/Program Files/Some program/bin/executable.exe}
% Windows style
\setnewpathsep{\textbackslash}
\directory{C:/Program Files/Some program/bin/executable.exe}
% Unix style
\setnewpathsep{/}
\directory{C:/Program Files/Some program/bin/executable.exe}
% back to original style
\resetpathsep
\directory{C:/Program Files/Some program/bin/executable.exe}
\end{document}