
Intenté usar una fuente diferente a courier para fuentes monoespaciadas pero ninguna de esta lista (http://www.ctan.org/topic/font-mono) están disponibles en mi sistema y, como trabajamos en un sistema distribuido, las adiciones locales personalizadas no son una opción. (Construir servidor, estándares, etc.)
entonces la pregunta es
- ¿Existe una fuente monoespaciada habitualmente disponible, que esté más condensada, es decir, que necesite menos espacio horizontal?
- ¿Cómo puedo reducir el interletraje general de todas las letras en \texttt o de toda la fuente?
Respuesta1
Aquí hay dos formas: 1) con microtype
la \textls
macro y la otra, \spaceout
sin ningún paquete. He empaquetado esas macros en \textttA
formularios \textttB
de invocación.
La \textls
macro usa un argumento opcional para especificar la compresión o expansión, mientras \spaceout
usa los valores de \theLetterSpace
y \extraWordSpace
para modificar los espacios predeterminados.
Ambos enfoques admiten el ajuste de línea.
Resumiendo los comentarios a continuación, vale la pena señalar que el \textls
enfoque admite la separación de palabras, mientras que el \spaceout
enfoque no. Además, el argumento \spaceout
no puede incluir una macro que a su vez tome un argumento.
\documentclass{article}
\def\theLetterSpace{-0.5pt}
\def\extraWordSpace{-0.5pt}
\newcommand\spaceout[2][\theLetterSpace]{%
\def\LocalLetterSpace{#1}\expandafter\spaceouthelpA#2 \relax\relax}
\def\spaceouthelpA#1 #2\relax{%
\spaceouthelpB#1\relax\relax%
\ifx\relax#2\else\kern\extraWordSpace\ \kern\LocalLetterSpace\spaceouthelpA#2\relax\fi
}
\def\spaceouthelpB#1#2\relax{%
#1%
\ifx\relax#2\else
\kern\LocalLetterSpace\spaceouthelpB#2\relax%
\fi
}
\parskip 1ex
\usepackage{microtype}
\def\textttA#1{\texttt{\textls*[-70]{#1}}}
\def\textttB#1{\texttt{\spaceout{#1}}}
\begin{document}
\def\mytext{a bit of texttt}
This is \texttt{\mytext}\par
This is \textttA{\mytext}\par
This is \textttB{\mytext}\par
\def\mytext{a bit of texttt. a bit of texttt. a bit of texttt. a bit of texttt.
a bit of texttt. a bit of texttt. a bit of texttt. a bit of texttt. }
\noindent\hrulefill\sloppy\par
This is \texttt{\mytext}\par
This is \textttA{\mytext}\par
This is \textttB{\mytext}
\end{document}