在单个文档中使用多种打字机字体

在单个文档中使用多种打字机字体

阅读有关等宽字体的主题时,我发现更改\tt文档的字体只需要替换序言中的一行。例如,我只更改注释行

\documentclass[a4paper,11pt]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
% PLACE NEW FONT
\begin{document}
Default
\input{test.tex}
\end{document}

\renewcommand

  • \renewcommand{\ttdefault}{cmtt}为了计算机现代打字机
  • \renewcommand{\ttdefault}{cmvtt}为了计算机现代打字机比例
  • \renewcommand{\ttdefault}{lcmtt}为了计算机现代电传打字机 L
  • \renewcommand*\ttdefault{lmvtt}为了拉丁现代打字机比例
  • \renewcommand{\ttdefault}{pcr}为了导游
  • \renewcommand*\ttdefault{txtt}为了短信

或者\usepackage

  • \usepackage[ttdefault=true]{AnonymousPro}为了匿名专业人士
  • \usepackage{ascii}为了ASCII
  • \usepackage[scaled=0.82]{beramono}为了贝拉莫诺
  • \usepackage{courier}为了导游
  • \usepackage[scaled=1.04]{couriers}为了鳞片信使
  • \usepackage{DejaVuSansMono}为了DejaVu Sans Mono
  • \usepackage[defaultmono]{droidmono}为了Droid Sans Mono
  • \usepackage{inconsolata}为了因科索拉塔
  • \usepackage{kpfonts}为了KP 等宽字体
  • \usepackage{lmodern}为了拉丁现代
  • \usepackage[zerostyle=d]{newtxtt}为了新 TXTT
  • \usepackage[ocr-a]{ocr}为了OCR-A 光学字符识别字体A
  • \usepackage{ocr}为了OCR-B 光学字符识别字体B
  • \usepackage{pxfonts}为了PX 字体
  • \usepackage{tgcursor}为了TeX 回旋光标
  • \usepackage[scaled=1.05,proportional,lightcondensed]{zlmtt}为了拉丁现代打字机 Z
  • \usepackage{luximono}为了卢西莫诺(需要getnonfreefonts luximono
  • \usepackage[scaled=1.05]{ulgothic}为了哥特式字母(需要getnonfreefonts lettergothic

我只需test.tex使用{\ttfamily ... }就可以获得选定的字体而不是默认字体\tt

我应该怎么做才能使用全部上面列出的字体同一份文件

主意就像这样

\begin{document}
Default
\input{test.tex}
% Switch to AnonymousPro
\input{test.tex}
% Switch to ...
\end{document}

答案1

如果您想运行一个包含打字机字体和其他样式的测试文档(例如,测试特定打字机字体与正文所用的衬线字体的配合效果)或者您只是不喜欢打字,此示例提供了几个方便的命令:

\documentclass[a4paper,11pt]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}

\newcommand*\ttfontstotry{cmtt,cmvtt,lcmtt,lmvtt,pcr,txtt}% add additional families here, separated by commas
\makeatletter
  \newcommand*\myttfontstest{% defines the actual test command
    \@for \xx:=\ttfontstotry \do {% loops through the families
      \par family: \xx\par
      \renewcommand*\ttdefault{\xx}%
      \input{test}%
    }%
  }
\makeatother

\begin{filecontents}{test.tex}% just for testing
    ABCDEFGHIJKLMNOPQRSTUVWXYZ

    abcdefghijklmnopqrstuvwxyz

    Oh, jinxed quartz of black sphinx, go hear my vow!

    {\ttfamily
      ABCDEFGHIJKLMNOPQRSTUVWXYZ

      abcdefghijklmnopqrstuvwxyz

      Oh, jinxed quartz of black sphinx, go hear my vow!}

\end{filecontents}


\begin{document}

  \myttfontstest% try them out!

\end{document}

具有默认衬线的打字机变体

答案2

预览

您可以直接使用字体系列,而无需将其设为默认。对于软件包,您需要查看其文档以了解所用字体系列的名称,然后以相同的方式使用它。

\documentclass{article}
\usepackage[T1]{fontenc}

\begin{document}


{\fontfamily{cmtt}\selectfont abcdef 123}

{\fontfamily{cmvtt}\selectfont abcdef 123}

{\fontfamily{lcmtt}\selectfont abcdef 123}

{\fontfamily{lmvtt}\selectfont abcdef 123}

{\fontfamily{pcr}\selectfont abcdef 123}

{\fontfamily{txtt}\selectfont abcdef 123}

\end{document}

答案3

大卫·卡莱尔的答案是关于改变当前的字体。cfr 的答案发生了变化\ttdefault
我不能说我的解决方案完整,因为我无法为所有字体提供解决方案。寻找字体系列名称花了一些时间。所以我把它们放在我自己的答案中。

\documentclass[a4paper,11pt]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
% Store the default font
\edef\oldtt{\ttdefault}
% Fonts from packages
\usepackage{ascii}
\usepackage[scale=1.05,ttdefault=true]{AnonymousPro}
\usepackage[scaled=0.84]{beramono}
\usepackage[scaled=1.04]{couriers}
\usepackage[scaled=0.9]{DejaVuSansMono}
\usepackage[defaultmono]{droidmono}
\usepackage[scaled=0.95]{inconsolata}
   %\usepackage{kpfonts}
   % ! LaTeX Error: Option clash for package textcomp.
   %\ifkp@text\ifkp@textcomp\RequirePackage[full]{textcomp}\fi\fi
\usepackage[nomath,notext]{kpfonts}
\usepackage{lmodern}
\usepackage[scaled=0.84]{luximono} % getnonfreefonts luximono
\usepackage[zerostyle=d,scaled=0.96]{newtxtt}
   %\usepackage{ocr}
\usepackage[scaled=.93]{newtxtext}
   %\usepackage{pxfonts}
   %\usepackage{txfonts}
\usepackage{tgcursor}
\usepackage[scaled=0.92]{ulgothic} %  getnonfreefonts lettergothic
\usepackage[scaled=1.20,proportional,lightcondensed]{zlmtt}

\addtolength{\voffset}{-1.5cm}
\addtolength{\hoffset}{-2.0cm}
\addtolength{\textheight}{3.0cm}
\addtolength{\textwidth}{4.0cm}

\begin{document}
% The last one
\ttdefault\\ % why do I get zlmvtt?
\input{testtt}

% Back to default
\renewcommand{\ttdefault}{\oldtt}
Default\\
\input{testtt}

pcr\\
{\renewcommand{\ttdefault}{pcr} \input{testtt}}

cmtt\\
{\renewcommand{\ttdefault}{cmtt} \noindent\input{testtt}}

cmvtt\\
{\renewcommand{\ttdefault}{cmvtt} \noindent\input{testtt}}

lcmtt\\
{\renewcommand{\ttdefault}{lcmtt} \noindent\input{testtt}}

lmvtt\\
{\renewcommand{\ttdefault}{lmvtt} \noindent\input{testtt}}

txtt\\
{\renewcommand{\ttdefault}{txtt} \noindent\input{testtt}}

AnonymousPro\\
{\renewcommand{\ttdefault}{AnonymousPro} \noindent\input{testtt}}

Beramono\\
{\renewcommand{\ttdefault}{fvm} \noindent\input{testtt}} % Beramono

% Courier == pcr

Scaled Courier\\
{\renewcommand{\ttdefault}{pcrs} \noindent\input{testtt}} % Scaled Courier

DejaVuSansMono\\
{\renewcommand{\ttdefault}{DejaVuSansMono-TLF} \noindent\input{testtt}}

Droid Mono\\
{\renewcommand{\ttdefault}{fdm} \noindent\input{testtt}} % Droid Mono

Inconsolata\\
{\renewcommand{\ttdefault}{zi4} \noindent\input{testtt}} % inconsolata

KP tt\\
{\renewcommand{\ttdefault}{jkptt} \noindent\input{testtt}} % KP tt

Latin Modern\\
{\renewcommand{\ttdefault}{lmtt} \noindent\input{testtt}} % latin modern

LuxiMono\\
{\renewcommand{\ttdefault}{ul9} \noindent\input{testtt}} % LuxiMono

New TXTT\\ 
{\renewcommand{\ttdefault}{newtxtt} \noindent\input{testtt}} % New TXTT

% Optical Character Recognition Font B ?

% PX Font tt == TX Fonts == txtt ?

New TX\\
{\renewcommand{\ttdefault}{ntxtt} \noindent\input{testtt}} % New TX

qcr\\
{\renewcommand{\ttdefault}{qcr} \noindent\input{testtt}} % gyre cursor looks like courier ?

Letter Gothic\\
{\renewcommand{\ttdefault}{ulg} \noindent\input{testtt}} % Letter Gothic

zlmtt\\
{\renewcommand{\ttdefault}{zlmtt} \noindent\input{testtt}} % Latin Modern Typewriter Z

ascii\\
{\asciifamily \noindent\input{test}} % No file T1ascii.fd

\end{document}

对于文件testtt.textest.texascii 文件没有{\ttfamily ... }

{\ttfamily 
Normal {\bfseries Bold} 
{\slshape Slanted} {\bfseries\slshape Slanted\&Bold} 
{\itshape Italic} {\bfseries\itshape Italic\&Bold} 
Z2 lI1 S5 O0}

我得到了以下字体比较(注意,有些字体被缩放了!)。

字体比较

相关内容