无法使用 renewcommand{\ttdefault}{qcr} 将表格中的字体更改为 qcr

无法使用 renewcommand{\ttdefault}{qcr} 将表格中的字体更改为 qcr

1

假设我的序言中有以下命令:

\documentclass{article}
\usepackage{calc}
\setlength\textwidth{6.5in}
\setlength\textheight{10in}\setlength\oddsidemargin{(\paperwidth-\textwidth)/2 - 1in}
\setlength\topmargin{(\paperheight-\textheight-\headheight-\headsep-\footskip)/2 - 1in}
\usepackage{amsmath, amssymb, array}
\usepackage{tabu, colortbl}
\usepackage[table]{xcolor}
\usepackage[cache=false]{minted}
\usepackage{xpatch}
\xpatchcmd{\minted}{\VerbatimEnvironment}{\VerbatimEnvironment\let\itshape\relax}{}{}
\usemintedstyle{bw}

2

现在我创建一些随机表:

\begin{table}[ht]
\centering
\footnotesize
\renewcommand{\ttdefault}{qcr}
\begin{tabular}{rrlllrlllrllllrlrllrrrrrrrlrllllrrrrlr}
% border
 & STATE\_\_ & BGN\_DATE & BGN\_TIME & TIME\_ZONE & COUNTY & COUNTYNAME & STATE & EVTYPE & BGN\_RANGE & BGN\_AZI & BGN\_LOCATI & END\_DATE & END\_TIME & COUNTY\_END & COUNTYENDN & END\_RANGE & END\_AZI & END\_LOCATI & LENGTH & WIDTH & F & MAG & FATALITIES & INJURIES & PROPDMG & PROPDMGEXP & CROPDMG & CROPDMGEXP & WFO & STATEOFFIC & ZONENAMES & LATITUDE & LONGITUDE & LATITUDE\_E & LONGITUDE\_ & REMARKS & REFNUM \\ 
  \hline
  1 & 1.00 & 4/18/1950 0:00:00 & 0130 & CST & 97.00 & MOBILE & AL & TORNADO & 0.00 &  &  &  &  & 0.00 &  & 0.00 &  &  & 14.00 & 100.00 & 3.00 & 0.00 & 0.00 & 15.00 & 25.00 & K & 0.00 &  &  &  &  & 3040.00 & 8812.00 & 3051.00 & 8806.00 &  & 1.00 \\ 
  2 & 1.00 & 4/18/1950 0:00:00 & 0145 & CST & 3.00 & BALDWIN & AL & TORNADO & 0.00 &  &  &  &  & 0.00 &  & 0.00 &  &  & 2.00 & 150.00 & 2.00 & 0.00 & 0.00 & 0.00 & 2.50 & K & 0.00 &  &  &  &  & 3042.00 & 8755.00 & 0.00 & 0.00 &  & 2.00 \\ 
  3 & 1.00 & 2/20/1951 0:00:00 & 1600 & CST & 57.00 & FAYETTE & AL & TORNADO & 0.00 &  &  &  &  & 0.00 &  & 0.00 &  &  & 0.10 & 123.00 & 2.00 & 0.00 & 0.00 & 2.00 & 25.00 & K & 0.00 &  &  &  &  & 3340.00 & 8742.00 & 0.00 & 0.00 &  & 3.00 \\ 
  4 & 1.00 & 6/8/1951 0:00:00 & 0900 & CST & 89.00 & MADISON & AL & TORNADO & 0.00 &  &  &  &  & 0.00 &  & 0.00 &  &  & 0.00 & 100.00 & 2.00 & 0.00 & 0.00 & 2.00 & 2.50 & K & 0.00 &  &  &  &  & 3458.00 & 8626.00 & 0.00 & 0.00 &  & 4.00 \\ 
  5 & 1.00 & 11/15/1951 0:00:00 & 1500 & CST & 43.00 & CULLMAN & AL & TORNADO & 0.00 &  &  &  &  & 0.00 &  & 0.00 &  &  & 0.00 & 150.00 & 2.00 & 0.00 & 0.00 & 2.00 & 2.50 & K & 0.00 &  &  &  &  & 3412.00 & 8642.00 & 0.00 & 0.00 &  & 5.00 \\ 
  6 & 1.00 & 11/15/1951 0:00:00 & 2000 & CST & 77.00 & LAUDERDALE & AL & TORNADO & 0.00 &  &  &  &  & 0.00 &  & 0.00 &  &  & 1.50 & 177.00 & 2.00 & 0.00 & 0.00 & 6.00 & 2.50 & K & 0.00 &  &  &  &  & 3450.00 & 8748.00 & 0.00 & 0.00 &  & 6.00 \\ 
% border
\end{tabular}
\end{table}

但是,请注意,\footnotesize应用于表中的所有元素,但qcrfront 不适用。我做错了什么?

答案1

如果您希望 TeX Gyre Cursor 成为整个文档的默认等宽字体,则只需\ttdefault在序言中设置一次即可。这样更简单,也更不容易出错。然后,\texttt\ttfamily将在整个过程中正常工作。

如果你想使用多个等宽字体,你可以不是每次都不想重新定义\ttdefault。您可以添加命令

\newcommand\courierfamily{\fontfamily{qcr}\selectfont}
\DeclareTextFontCommand\textcourier{\courierfamily}

然后\courierfamily和将像和\textcourier一样工作。(或者,或者任何你喜欢的。)如果你更新到LuaTeX或XeTeX,或者想要更改字体,你可以将的定义更改为,而不必更改文档正文。\ttfamily\texttt\crfamily\courier\courierfamily\newfontfamily\courierfamily{TeX Gyre Cursor}

答案2

谢谢@Ulrike Fischer你的帮助。我找到了解决问题的方法。

关键是调用\ttfamily下面的方法\renewcommand{\ttdefault}{qcr}

\begin{table}[ht]
\centering
\footnotesize
\renewcommand{\ttdefault}{qcr}
\ttfamily
\begin{tabular}{rrlllrlllrllllrlrllrrrrrrrlrllllrrrrlr}
% border
 & STATE\_\_ & BGN\_DATE & BGN\_TIME & TIME\_ZONE & COUNTY & COUNTYNAME & STATE & EVTYPE & BGN\_RANGE & BGN\_AZI & BGN\_LOCATI & END\_DATE & END\_TIME & COUNTY\_END & COUNTYENDN & END\_RANGE & END\_AZI & END\_LOCATI & LENGTH & WIDTH & F & MAG & FATALITIES & INJURIES & PROPDMG & PROPDMGEXP & CROPDMG & CROPDMGEXP & WFO & STATEOFFIC & ZONENAMES & LATITUDE & LONGITUDE & LATITUDE\_E & LONGITUDE\_ & REMARKS & REFNUM \\ 
  \hline
  1 & 1.00 & 4/18/1950 0:00:00 & 0130 & CST & 97.00 & MOBILE & AL & TORNADO & 0.00 &  &  &  &  & 0.00 &  & 0.00 &  &  & 14.00 & 100.00 & 3.00 & 0.00 & 0.00 & 15.00 & 25.00 & K & 0.00 &  &  &  &  & 3040.00 & 8812.00 & 3051.00 & 8806.00 &  & 1.00 \\ 
  2 & 1.00 & 4/18/1950 0:00:00 & 0145 & CST & 3.00 & BALDWIN & AL & TORNADO & 0.00 &  &  &  &  & 0.00 &  & 0.00 &  &  & 2.00 & 150.00 & 2.00 & 0.00 & 0.00 & 0.00 & 2.50 & K & 0.00 &  &  &  &  & 3042.00 & 8755.00 & 0.00 & 0.00 &  & 2.00 \\ 
  3 & 1.00 & 2/20/1951 0:00:00 & 1600 & CST & 57.00 & FAYETTE & AL & TORNADO & 0.00 &  &  &  &  & 0.00 &  & 0.00 &  &  & 0.10 & 123.00 & 2.00 & 0.00 & 0.00 & 2.00 & 25.00 & K & 0.00 &  &  &  &  & 3340.00 & 8742.00 & 0.00 & 0.00 &  & 3.00 \\ 
  4 & 1.00 & 6/8/1951 0:00:00 & 0900 & CST & 89.00 & MADISON & AL & TORNADO & 0.00 &  &  &  &  & 0.00 &  & 0.00 &  &  & 0.00 & 100.00 & 2.00 & 0.00 & 0.00 & 2.00 & 2.50 & K & 0.00 &  &  &  &  & 3458.00 & 8626.00 & 0.00 & 0.00 &  & 4.00 \\ 
  5 & 1.00 & 11/15/1951 0:00:00 & 1500 & CST & 43.00 & CULLMAN & AL & TORNADO & 0.00 &  &  &  &  & 0.00 &  & 0.00 &  &  & 0.00 & 150.00 & 2.00 & 0.00 & 0.00 & 2.00 & 2.50 & K & 0.00 &  &  &  &  & 3412.00 & 8642.00 & 0.00 & 0.00 &  & 5.00 \\ 
  6 & 1.00 & 11/15/1951 0:00:00 & 2000 & CST & 77.00 & LAUDERDALE & AL & TORNADO & 0.00 &  &  &  &  & 0.00 &  & 0.00 &  &  & 1.50 & 177.00 & 2.00 & 0.00 & 0.00 & 6.00 & 2.50 & K & 0.00 &  &  &  &  & 3450.00 & 8748.00 & 0.00 & 0.00 &  & 6.00 \\ 
% border
\end{tabular}
\end{table}

答案3

你不想\renewcommand{\ttdefault}。只是

\fontfamily{qcr}\selectfont

足够了。

相关内容