lmodern 字体和成对分隔符/上划线的问题

lmodern 字体和成对分隔符/上划线的问题

我目前正在写我的学士论文,忘记包含\usepackage[T1]{fontenc}。但我正在使用\usepackage[utf8]{inputenc}\usepackage{microtype}。当我包含时,\usepackage[T1]{fontenc}我需要选择一种可缩放的字体,所以我选择了\usepackage{lmodern}。现在我遇到了一些新问题。帽子$\widehat{K}$太大了。我用一个新命令解决了这个问题:

\usepackage{accents}
\DeclareMathSymbol{\widehatsym}{\mathord}{largesymbols}{"62}
\newcommand\lowerwidehatsym{%
  \text{\smash{\raisebox{-1.2ex}{%
    $\widehatsym$}}}}
\newcommand\fixwidehat[1]{%
  \mathchoice
    {\accentset{\displaystyle\lowerwidehatsym}{#1}}
    {\accentset{\textstyle\lowerwidehatsym}{#1}}
    {\accentset{\scriptstyle\lowerwidehatsym}{#1}}
    {\accentset{\scriptscriptstyle\lowerwidehatsym}{#1}}
}

现在我有以下疑问/问题:

  1. 我用了$\fixwidehat{}$但是$\overline{\fixwidehat{K}}$帽子越界了。
  2. 我的绝对值命令在使用\newcommand{\abs}[1]{\left\vert#1\right\vert}时不会缩放尺寸。$\fixwidehat{}$
  3. $\abs{e^{i*t*\omega}}$与普通计算机现代字体相比,其尺寸不太合适。它太高了。

我对之前的结果非常满意\usepackage{lmodern},只是想调整一下,让它看起来与旧版本相似。你能帮帮我吗?我必须在一周多一点的时间内打印论文,目前我对 LaTeX 真的很失望。

编辑:这是一个最小的工作示例:

\documentclass[
11pt,
a4paper,
twoside = false,
headings=standardclasses,
toc=chapterentrywithdots,
toc=bibliography]{scrbook}

\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage{lmodern}

\usepackage{amsmath}
\usepackage{amsthm, thmtools}
\usepackage{amsfonts}
\usepackage{amssymb}

\usepackage{accents}
\DeclareMathSymbol{\widehatsym}{\mathord}{largesymbols}{"62}
\newcommand\lowerwidehatsym{%
  \text{\smash{\raisebox{-1.2ex}{%
    $\widehatsym$}}}}
\newcommand\fixwidehat[1]{%
  \mathchoice
    {\accentset{\displaystyle\lowerwidehatsym}{#1}}
    {\accentset{\textstyle\lowerwidehatsym}{#1}}
    {\accentset{\scriptstyle\lowerwidehatsym}{#1}}
    {\accentset{\scriptscriptstyle\lowerwidehatsym}{#1}}
}

\newcommand{\norm}[1]{\left\lVert#1\right\rVert}
\newcommand{\abs}[1]{\left\vert#1\right\vert}

\usepackage[pdftex]{graphicx}
\usepackage{tikz}
\usepackage[final,babel,tracking=true,kerning=true,spacing=true]{microtype}

\begin{document}
\begin{align*}
\overline{\fixwidehat{K}} \\
\abs{\fixwidehat{K}} \\
\norm{\fixwidehat{K}} \\
\abs{e^{it\omega}}
\end{align*}
\end{document}

答案1

您已经被以下问题所困扰使用 lmodern 处理非常小的字体时出现的问题并且解决方案也类似。

\documentclass[
  11pt,
  a4paper,
  twoside = false,
  headings=standardclasses,
  toc=chapterentrywithdots,
  toc=bibliography,
]{scrbook}

\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage{lmodern}

\usepackage{amsmath}
\usepackage{amsthm, thmtools}
\usepackage{amsfonts}
\usepackage{amssymb}

\newcommand{\norm}[1]{\left\lVert#1\right\rVert}
\newcommand{\abs}[1]{\left\vert#1\right\vert}

\usepackage{graphicx}
\usepackage{tikz}
\usepackage[final,babel,tracking=true,kerning=true,spacing=true]{microtype}

\DeclareFontShape{OMX}{cmex}{m}{n}{
  <-7.5> cmex7
  <7.5-8.5> cmex8
  <8.5-9.5> cmex9
  <9.5-> cmex10
}{}
\SetSymbolFont{largesymbols}{normal}{OMX}{cmex}{m}{n}
\SetSymbolFont{largesymbols}{bold}  {OMX}{cmex}{m}{n}


\begin{document}
\begin{gather*}
\overline{\widehat{K}} \\
\abs{\widehat{K}} \\
\norm{\widehat{K}} \\
\abs{e^{it\omega}} \\
X_{\widehat{x}_{\widehat{x}}}
\end{gather*}
\end{document}

在此处输入图片描述

为了进行比较,输出没有经过修复。

在此处输入图片描述


我认为你不应该使用自动\left和:第二行和第三行说明\right\abs原因\norm。查看文档以mathtools了解更好的方法。例如,加载mathtools和发出

\DeclarePairedDelimiter{\norm}{\lVert}{\rVert}
\DeclarePairedDelimiter{\abs}{\lvert}{\rvert}

你可以看看输出

\[
\norm{\widehat{K}}+\norm[\big]{\widehat{K}}
+\norm[\Big]{\widehat{K}}+\norm*{\widehat{K}}
\]

在此处输入图片描述

如您所见,第一个非常正确,也许您可​​能更喜欢第二个,但是第三个和第四个(与您的定义完全对应)的围栏肯定太大了。

最后说明:我也删除了“自己动手”pdftex选项graphicx。这与问题无关,但这是更好的政策。

相关内容