版本号 1

版本号 1

当我运行以下代码时,我收到Overfull\hbox(... too wide) in paragraph警告。

\documentclass{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[english]{babel}
\newenvironment{fonttfp}{\fontfamily{cmtt}\selectfont}{\par}

\begin{document}
\begin{itemize}
  \item[] {\fonttfp Afghanistan\_Albania Algeria\_Andorra Angola\_Antigua and Barbuda\_Argentina Armenia\_Australia Austria\_Azerbaijan}
\end{itemize}
\end{document}

我该如何摆脱它?当我删除语句时,\fonttfp警告消失。我也尝试过使用sloppypar和包microtype。两种方法都无法清除警告。

答案1

版本号 1

您可以像使用环境一样执行此操作\fonttfp ... \endfonttfp,结果会给您带来以下结果:

图片

\documentclass{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[english]{babel}
\newenvironment{fonttfp}{\fontfamily{cmtt}\selectfont}{\par}

\begin{document}
\begin{itemize}
  \item[] {\fonttfp Afghanistan Albania Algeria Andorra Angola Antigua and Barbuda Argentina Armenia Australia Austria Azerbaijan \endfonttfp}
\end{itemize}
\end{document}

版本号 2

你可以用 LaTeX 的方式来做 ( \begin{fonttfp}...\end{fonttfp}):

\documentclass{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[english]{babel}
\newenvironment{fonttfp}{\fontfamily{cmtt}\selectfont}{\par}

\begin{document}
\begin{itemize}
  \item[] \begin{fonttfp}Afghanistan Albania Algeria Andorra Angola Antigua and Barbuda Argentina Armenia Australia Austria Azerbaijan\end{fonttfp}
\end{itemize}
\end{document}

版本号 3

使用命令。

\documentclass{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[english]{babel}
\newcommand{\fonttfp}[1]{\begingroup\fontfamily{cmtt}\selectfont#1\endgroup\par}

\begin{document}
\begin{itemize}
  \item[] \fonttfp{Afghanistan Albania Algeria Andorra Angola Antigua and Barbuda Argentina Armenia Australia Austria Azerbaijan}
\end{itemize}
\end{document}

版本号 4

执行与 (3) 相同的操作,但不带参数并\par手动添加。

答案2

不是\newenvironment,但是\newcommand

您可以\spaceskip灵活地设置:

\documentclass{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[english]{babel}

\newcommand{\fonttfp}{%
  \fontfamily{cmtt}\selectfont % better \ttfamily
  \spaceskip=.3em plus 0.2em minus .1em
}
\DeclareTextFontCommand{\texttfp}{\fonttfp}

\begin{document}

\begin{itemize}
\item[] {\fonttfp Afghanistan Albania Algeria Andorra Angola Antigua and
         Barbuda Argentina Armenia Australia Austria Azerbaijan}
\item[] \texttfp{Afghanistan Albania Algeria Andorra Angola Antigua and
          Barbuda Argentina Armenia Australia Austria Azerbaijan}
\end{itemize}

\end{document}

在此处输入图片描述

相关内容