Sometimes people here use \verb!A SHORT COMMAND! and sometimes \textt{A SHORT COMMAND}.
I'm unsure when to use which.
Are there any guidelines or arguments for \verbatim vs. \texttt?
Sometimes people here use \verb!A SHORT COMMAND! and sometimes \textt{A SHORT COMMAND}.
I'm unsure when to use which.
Are there any guidelines or arguments for \verbatim vs. \texttt?
The short answer is you use \verb where you need to write a small piece of inline verbatim material that contains characters TeX treats (or rather, is currently treating) as special. \texttt is for when you just want typewriter font.
\verb has some downsides, such as not working in moving arguments. In those cases, you're probably better off using \texttt (or related semantic markup) and performing the appropriate escaping.
Sometimes using \verb|...| is better. For example if you copy paste a piece of code like __start: in a \texttt{} environment you might get an error as symbol "_" is not inside a math environment. And then you have to rewrite the code like this: "\texttt{\_\_start}". But why would you do this when you can just use:"\verb|__start|".
\verb{__start} will give tons of errors. I've fixed the delimiters: they should be identical characters that are not among those to typeset verbatim.
– egreg
Mar 12 '12 at 17:21
One advantage of \verb is that underscores are typeset better. For example in
\documentclass{article}
\usepackage{verbatim}
\begin{document}
\texttt{foo\_bar}
\verb|foo_bar|
\end{document}
the first foo_bar has a thinner underscore. See Underscores in words (text) for more details.
\texttt allows line breaks, whereas \verb does not. They serve slightly different purposes.
Just found that wanting to highlight text in a document makes a difference....
highlighting with
\usepackage{color,soul}
and
\hl{text to highlight}
This works fine if the text to highlight includes \texttt but fails with \verb
so for example
\hl{\texttt{printf} format specifiers}
works fine, but
\hl{\verb$printf$ format specifiers}
fails...
\hl, but with \verb. \verb (and any other verbatim-like commands and environments) don't work in arguments to other commands. It's the same principle as here: https://tex.stackexchange.com/a/447081/134574
– Phelype Oleinik
Sep 21 '18 at 11:19
One more thing: \texttt{ Hello } will print Hello, while \verb| Hello | will print Hello . In other words, \texttt ignores leading and trailing spaces.
Just to add on to what @TH mentioned, \texttt also works well inside equation/eqnarray environments and TikZ code. \verb (in its primitive form) doesn't work very well in such cases.
\verb (in its primitive form) works without problem in equation (or eqnarray)...
– Werner
Jul 22 '15 at 17:24
\texttt(or, better, a macro with semantic name that uses\texttt) unless you know it won't work for your particular string, such as with\verb|x=1%2|. And even then, using\texttt{1\%2}is probably just as good. – Will Robertson Sep 06 '10 at 09:04\verbI think is it sometimes doesn't work with other environments. I think for instance you can't use\verbin a\section{}environment. – willeM_ Van Onsem Mar 12 '12 at 17:40\protectallow\verbto work in moving arguments? I'm only asking, because I don't know how to test for myself. – Tyler Crompton Oct 21 '15 at 21:02\usepackage{upquote}. I want those if I'm using tt to represent source code/computer input (which is about the only thing I use tt for). – dedded Sep 21 '18 at 15:33\textttis that it doubles the space after the colon. No idea how to avoid this one. (Incidentally, it shows that\textttmay silently “mess up” with characters without saying anything and possibly without the author’s knowledge, which I find scary – I wonder what the complete list is of such characters that have to be watched for when using\texttt.) – Olivier Cailloux Dec 22 '19 at 18:57