我想定义\code
使用一些等宽字体来显示代码。
最初我使用过\texttt
但是遇到了一些错误:
!pdfTeX error: /Users/az/.local/bin/pdflatex (file cmttb10): Font cmttb10 at 720 not found
答案这里建议改为\fontencoding{T1}\fontfamily{lmtt}\selectfont
。似乎没有 也可以工作\fontencoding{T1}
,所以我把它去掉了。(但也许那是错的?它有什么作用?)
在下面的小示例中,此错误也仅发生在 上\usepackage{bold-extra}
。如果我将其保留,则所有三种变体似乎都可以工作(在此示例中)。不确定哪种更好。在这三种情况下,字体看起来略有不同。
然而,这并不是真正的问题(尽管我对此也很好奇)。
在所有 3 种变体中,问题在于它无法正确对齐块文本。为什么?我该如何修复?
%!TEX encoding = UTF-8 Unicode
% some playground, to test problems, reproduce minimal example
\documentclass[paper=a4, fontsize=11pt]{scrbook}
\usepackage[utf8]{inputenc}
\usepackage{lipsum}
\usepackage{bold-extra}
% https://tex.stackexchange.com/questions/87891/typewriter-text-in-sections-with-acm-sig-alternate-document-class
%\newcommand{\code}[1]{\texttt{#1}}
%\newcommand{\code}[1]{{\fontencoding{T1}\fontfamily{lmtt}\selectfont#1}}
\newcommand{\code}[1]{{\fontfamily{lmtt}\selectfont#1}}
\begin{document}
\tableofcontents
\chapter{Chapter with \code{code}}
\section{Section with \code{code}}
Code:
\code{hello\_world}, \code{hello\_world}, \code{hello\_world}, \code{hello\_world}, \code{hello\_world}, \code{hello\_world}, \code{hello\_world}, \code{hello\_world}, \code{hello\_world}.
\lipsum[0-1]
\end{document}
问题这里有点相关。但是,那里的整个文本都使用等宽字体,而作者不希望等宽空格变成等宽。但是,在我的问题中,空格不是等宽的,所以这应该不是这里的问题。