禁用文档部分内容的微类型

禁用文档部分内容的微类型

更新日期:2013-04-18

今天升级到microtype2.5 后,这个特定的测试用例确实运行得更快了(从大约 3 分钟缩短到 8 秒)。但是,我确实遇到了其他一些情况,编译时间并没有改善太多:只从 2:05 缩短到 1:30。

问题:

我想禁用该microtype软件包中部分文档的功能。我尝试过\microtypesetup{activate=false}但似乎没有效果。我尝试过的其他选项包括:

\microtypesetup{expansion=false}
\microtypesetup{protrusion=false}
\microtypesetup{kerning=false}
\microtypesetup{tracking=false}

但似乎并没有解决编译时问题。

背景:

这个问题似乎与为什么使用microtype和xfrac会导致编译时间过长?因为我对这个小文档的编译时间非常长,如果全部\def顶部定义的三个未注释:即

  • microtype包已使用,
  • \sfracxfrac包装中使用,
  • \bracr我使用的“扩展”版本的宏

否则,本文档可以顺利编译。%\def\UseMicrotype{}注释掉其他两行,\def取消注释,结果如下:

在此处输入图片描述

最后一句话只是为了说明为什么我需要“扩展”版本的宏\bracr

笔记:

  • 我正在使用microtypeCTAN (2.4),一旦发布就会更新到 2.5(显然不存在编译时间过长的问题\sfrac)。同时,如果有办法禁用microtype它,那将会很有帮助。

代码:

%%% Problems ONLY if ALL three of these are uncommented
%\def\UseMicrotype{}%    Enable use of microtype.
\def\UseExtendedBrac{}% Enable use of "extended" version of \brac macro
\def\UseSFrac{}%        Enable use of \sfrac

\documentclass{article}
\usepackage{showframe}%
\usepackage{amsmath}%
\usepackage{xfrac}%     Provides sfrac


\ifdefined\UseMicrotype
    \usepackage{microtype}%  
\fi


\ifdefined\UseExtendedBrac% 
    \makeatletter
    \newcommand{\@Brac}[3]{% #1,#3 = left/right bracket type
        \ensuremath{%
            \left#1\vphantom{#2}\right.% left bracket
            #2% content
            \left.\vphantom{#2}\right#3% right bracket
        }%
    }%
    \newcommand{\bracr}[1]{\@Brac{(}{#1}{)}}%
    \newcommand{\bracs}[1]{\@Brac{[}{#1}{]}}%
    \makeatother
\else% Works if these are used
    \newcommand{\bracr}[1]{\left(#1\right)}
    \newcommand{\bracs}[1]{\left[#1\right]}
\fi

\ifdefined\UseSFrac
\else% No problem if we don't use \sfrac
    \renewcommand*{\sfrac}[2]{\frac{#1}{#2}}%
\fi

\begin{document}
\ifdefined\UseMicrotype
    \microtypesetup{activate=false}
\fi
%
\begin{align*}
    f(x,y)
    &= \bracr{\frac{x^{ \sfrac{3}{2}}}
                    y^{-\sfrac{1}{2}}}^{\!\!\!-2} \\
    &= \bracr{ 
        \bracs{
            \frac{x^{ \sfrac{3}{2}}}
                 {y^{-\sfrac{1}{2}}}}^2}^{\!\!\!-1}
\end{align*}
%
% Reason for using the "extended" brac as it yields line wrapping.
As we can see in the following, the \verb|\bracr| wraps around lines: 
$\bracr{x^{-1} + x^{-2} + x^{-3} +x^{-4} + x^{-5} + \cdots }$
\end{document}

答案1

如果你仍在使用较旧但仍为官方版本的 2.4:未记录的密钥disable真的关闭 microtype,enable然后再次启用它:

\microtypesetup{disable}
...
\microtypesetup{enable}

编辑:microtypev3.0 以来,这些密钥已分别重命名为deactivatereactivate,但它们仍未记录,因为它们不用于一般用途,而只是在错误修复可用之前作为最后的手段。因此,每当您发现自己被迫使用这些密钥时,请确保也提交错误报告

相关内容