
Trabajé duro para encontrar un MWE para este problema, eliminando casi todo, desde mi preámbulo y mi archivo de clase SAE hasta que descubrí que parece que el paquete siunitx no funciona bien con la fuente times (funciona bien con Helvetica).
Comenzaré con un MWE de mi archivo de clase, en el que forcé la fuente Times para que cumpliera con las pautas SAE y sus archivos de plantilla:
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{saeRyan}[2016/02/23 SAE Technical paper format^^J]
% Option for the "Times New Roman" font
\DeclareOption{times}{%
\renewcommand{\familydefault}{ptm}%
\typeout{^^JSetting document font to Times^^J}%
}
% Option for letter size paper (U.S.)
\DeclareOption{letterpaper}{%
% Define the margins for letter size paper (0.5" margins all the way around) using the geometry package.
\PassOptionsToPackage{letterpaper,nohead,left=.5in,top=.5in,right=.5in,textheight=10in}{geometry}%
\typeout{^^JPaper size: Letter^^J}%
\AtBeginDocument{ \columnsep .5in }
}
\DeclareOption{pdftex}{%
\PassOptionsToClass{\CurrentOption}{article}%
\PassOptionsToPackage{\CurrentOption}{geometry}
}
\DeclareOption{nonumber}{%
\pagestyle{empty}%
}
% This handles any options that are not understood by the class.
\DeclareOption*{\typeout{^^JOption [\CurrentOption] not supported by this style.^^J}}
% Default Options
\ExecuteOptions{times,letter,9pt}
\ProcessOptions
% The extarticle class allows for 9 pt font as the normalsize font.
\LoadClass[twocolumn,9pt]{extarticle}
Ahora aquí hay un MWE del problema que tengo al usar este archivo de clase mínima:
\documentclass[letterpaper]{saeRyan}
%\usepackage{lmodern}
\usepackage[detect-all]{siunitx}
\usepackage{enumitem,booktabs,cfr-lm}
\usepackage{tabularx}
\usepackage[referable]{threeparttablex}
\renewlist{tablenotes}{enumerate}{1}
% This package is for convenience in making notes during the revision process.
%\usepackage[colorinlistoftodos]{todonotes}
\begin{document}
\begin{table}[h]
\footnotesize
\centering
\begin{tabular}{ll}
\toprule
times vs. helvetica using siunitx: & \SI{110}{\micro\meter} 110 micrometers (correct font)\\
\bottomrule
\end{tabular}
\caption{Font Test}\label{tab:test}
\end{table}
\end{document}
Puedes ver cuál es el problema aquí... a pesar de que siunitx tiene el interruptor de detección total, la unidad de siunitx es helvética mientras que el resto del documento es tiempos. Esto genera algunas unidades de aspecto extraño en todo el documento (no solo en las tablas). ¿Alguien ve un problema obvio? Realmente no sé mucho sobre cómo escribir archivos de clase, solo intento aprender cosas sobre la marcha.
Respuesta1
Eso es latín moderno. Estás utilizando Latin Modern Roman, Sans y Mono como fuentes predeterminadas. Más específicamente, su serifa es LM Roman con figuras colgantes proporcionales; tu sans es LM Sans con figuras colgantes proporcionales; y su máquina de escribir probablemente sea una máquina de escribir LM de ancho variable con figuras colgantes proporcionales.
Nunca cargues algo que no sabes lo que hace.
Simplemente configurando serif enptm
no obtendrá buenos resultados. Tu sans, mono y todas tus matemáticas estarán en Computer Modern. Probablemente quieras algo como esto quehaceutilizar NimbusRomanNo9L:
\usepackage{mathptmx}
\usepackage[scaled=.90]{helvet}
\usepackage{courier}
Además, su archivo de clase contiene varios espacios falsos y el manejo de opciones es confuso. Su clase no declara ninguna 9pt
de las dos letter
opciones válidas.
Probablemente quieras algo más como esto:
\begin{filecontents}{saeRyan.cls}
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{saeRyan}[2016/02/23 SAE Technical paper format]
\newif\iftimesfont\timesfontfalse
% Option for the "Times New Roman" font
\DeclareOption{times}{%
\timesfonttrue
\typeout{Setting document font to Times, with complementary sans, typewriter and mathematics fonts.}%
}
% Option for letter size paper (U.S.)
\DeclareOption{letterpaper}{%
% Define the margins for letter size paper (0.5" margins all the way around) using the geometry package.
\PassOptionsToPackage{letterpaper,nohead,left=.5in,top=.5in,right=.5in,textheight=10in}{geometry}%
\typeout{Paper size: Letter}%
\AtBeginDocument{\columnsep .5in}%
}
\DeclareOption{nonumber}{%
\pagestyle{empty}%
}
% This handles any options that are not understood by the class.
\DeclareOption*{\typeout{Option [\CurrentOption] not supported by this style.}}
% Default Options
\ExecuteOptions{times,letterpaper}
\ProcessOptions
% The extarticle class allows for 9 pt font as the normalsize font.
\LoadClass[twocolumn,9pt]{extarticle}
\iftimesfont
\RequirePackage{mathptmx}
\RequirePackage[scaled=.90]{helvet}
\RequirePackage{courier}
\fi
\endinput
\end{filecontents}
\documentclass[letterpaper]{saeRyan}
\usepackage[detect-all]{siunitx}
\usepackage{enumitem,booktabs}
\usepackage{tabularx}
\usepackage[referable]{threeparttablex}
\renewlist{tablenotes}{enumerate}{1}
\begin{document}
\begin{table}[h]
\footnotesize
\centering
\begin{tabular}{ll}
\toprule
times vs.\ helvetica using siunitx: & \SI{110}{\micro\meter} 110 micrometers (correct font)\\
\bottomrule
\end{tabular}
\caption{Font Test}\label{tab:test}
\end{table}
\end{document}