I am setting e.g. directory names in a typewriter font. These names can become long. With the hyphenat package, I enabled hyphenation. Now, what is missing, is that the hyphenation character is replaced e.g. by a backwards oriented arrow. Thus, what I want to do is something like
\usepackage[htt]{hyphenat}
\newcommand{\origttfamily}{}%
\let\origttfamily=\ttfamily%
\renewcommand{\ttfamily}{\origttfamily \hyphenchar\font=\ensuremath{\hookleftarrow}}
\begin{document}
\texttt{/etc/really/long{\fshyp}directory{\fshyp}name/}
\end{document}
however, \ensuremath{\hookleftarrow} does not work in this case - it is not a single character.
Can somebody point me towards a solution? Thanks a lot!
You cannot set the \hyphenchar
to a character from a different font, but you can redefine \BreakableSlash
:
\documentclass{minimal}
\usepackage[htt]{hyphenat}
\newsavebox\leftarrowbox
\sbox\leftarrowbox{$\leftarrow$}
\makeatletter
\renewcommand*{\BreakableSlash}{%
\leavevmode
\prw@zbreak
/%
\discretionary{\usebox\leftarrowbox}{}{}%
\prw@zbreak
}
\makeatother
\begin{document}
\parbox{20mm}{%
\texttt{/etc\fshyp really\fshyp long\fshyp directory\fshyp name/}%
}
\end{document}