
고정폭 글꼴에 대해 Courier와 다른 글꼴을 사용하려고 했지만 이 목록에는 없습니다(http://www.ctan.org/topic/font-mono)은 내 시스템에서 사용할 수 있습니다. 분산 시스템에서 작업할 때 사용자 정의 로컬 추가는 옵션이 아닙니다. (서버 구축, 표준 등)
그래서 질문은
- 좀 더 압축되어 수평 공간이 더 적게 필요한 고정 폭 글꼴이 있습니까?
- \texttt의 모든 문자나 전체 글꼴에 대한 일반 커닝을 어떻게 줄일 수 있나요?
답변1
다음은 두 가지 방법입니다. 1) microtype
의 \textls
매크로를 사용하는 방법과 다른 하나는 \spaceout
패키지 없이 을 사용하는 방법입니다. 나는 해당 매크로를 호출 형식 \textttA
으로 래핑했습니다 .\textttB
매크로 \textls
는 선택적 인수를 사용하여 압축 또는 확장을 지정하고 및 \spaceout
값을 사용하여 기본 간격을 수정합니다.\theLetterSpace
\extraWordSpace
두 접근 방식 모두 줄 바꿈을 지원합니다.
아래 의견을 요약하면 이 \textls
접근 방식은 하이픈 넣기를 지원하지만 \spaceout
접근 방식은 지원하지 않는다는 점에 주목할 가치가 있습니다. 또한 인수는 \spaceout
자체적으로 인수를 사용하는 매크로를 포함할 수 없습니다.
\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}