cambiar el kerning de \texttt

cambiar el kerning de \texttt

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

  1. ¿Existe una fuente monoespaciada habitualmente disponible, que esté más condensada, es decir, que necesite menos espacio horizontal?
  2. ¿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 microtypela \textlsmacro y la otra, \spaceoutsin ningún paquete. He empaquetado esas macros en \textttAformularios \textttBde invocación.

La \textlsmacro usa un argumento opcional para especificar la compresión o expansión, mientras \spaceoutusa los valores de \theLetterSpacey \extraWordSpacepara 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 \textlsenfoque admite la separación de palabras, mientras que el \spaceoutenfoque no. Además, el argumento \spaceoutno 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}

ingrese la descripción de la imagen aquí

ingrese la descripción de la imagen aquí

información relacionada