投影片文件類別中的符號不一致

投影片文件類別中的符號不一致

問題描述

我喜歡slides文檔類排版大部分數學的方式,我在所見即所得的幻燈片編輯器中裁剪和使用它們。

首先,我不確定如何將字體設定為 10pt,以便新公式類似於我使用article文件類別產生的公式(導入時我的投影片軟體中的公式放大到 360%,因此我將slides其縮放至180%,因為它們預設使用20pt 大小)。

其次,文檔類似乎有一些怪癖。即垂直點、分號和冒號看起來不一樣。水平點和逗號看起來不錯。 在此輸入影像描述 為了進行比較,使用article文檔類我得到以下結果。 在此輸入影像描述

最後,我不完全確定我理解什麼字體用於什麼。值得注意的是,在我看來,直立字體是無襯線字體,某些符號也是無襯線字體(例如括號,括號,其他?),斜體拉丁字母和希臘字母是襯線字體。

有人可以解釋一下這個文檔類別嗎?
如果這個課程不再是主流,我也願意接受其他選擇。

附加資訊

PS 是否應該向類別維護者提交錯誤報告以修復不一致之處?

用於產生上述範例的程式碼如下:

\documentclass{slides}
\begin{document}
\[
\ldots\;\cdots\;\vdots\;,\;;\;:\;\sin(2x)
\]
\end{document}

ghostscript然後用於從渲染的 PDF 中裁剪出數學內容。

現場調試

slides已給出文檔級字體答案這裡經過艾格雷格。在這種情況下,我對使用beamer.我想理解這是怎麼回事。

文件,第 9.1 節指出字體設定為:

\def\rmdefault{lcmss}
\def\sfdefault{lcmss}
\def\ttdefault{lcmtt}
\def\itdefault{sl}
\def\sldefault{sl}
\def\bfdefault{bx}
\def\updefault{n}

儘管在 an 中執行這些命令article確實會更改主文本字體,但數學運算的行為與使用該類別時不同slides

啊,好吧,從第 9.5 節我們可以看出:

\SetSymbolFont{operators}{normal}{OT1}{lcmss}{m}{n}
\SetSymbolFont{letters}{normal}{OML}{lcmm}{m}{it}
\SetSymbolFont{symbols}{normal}{OMS}{lcmsy}{m}{n}
\SetSymbolFont{largesymbols}{normal}{OMX}{lcmex}{m}{n}

這使得數學以無襯線字體呈現,並且標點符號不一致,但至少三個垂直點沒有被擠壓在一起。

在此輸入影像描述

我想現在最好始終使用三個小正方形而不是圓形,並且\ldots……\dots也許現在要求太多了。

另外,逗號是怎麼回事?為什麼它看起來不像其他標點符號那樣呈方形?

最後,編譯上面的 tex 會pdftex產生多個有關丟失字體和執行替換的警告。

早期結論

  1. 三個垂直點通過 轉換為小方塊\def\rmdefault{lcmss},這會更改主要文字字體(但如果不是三個垂直點,則數學不會改變)。這對我來說就像一個蟲子。
  2. 分號、冒號、sin、括號和數字透過單一指令以無襯線字體呈現\SetSymbolFont{operators}{normal}{OT1}{lcmss}{m}{n}。我不明白為什麼逗號不受影響。

早期自我回答

使用以下模板可以直觀地了解 10 分數學slides

\documentclass{article}
\SetSymbolFont{operators}{normal}{OT1}{lcmss}{m}{n}
\begin{document}
\[

\]
\end{document}

答案1

預設情況下\vdots(並且\ddots不是來自字體的字符,而是根據定位構建的\hbox{.},正如您所注意到的,使用使用方點的cm sans serif 非常引人注目,尤其是與計算機現代羅馬斜體數學配對時,這是幻燈片中的預設設定。

這重新定義\vdots為使用(圓形)數學.並加載粗體未擴展的 cm 羅馬字體以獲得(至少):;為了匹配數學字體,中等粗細的羅馬字體;在無襯線幻燈片旁邊看起來太細,所選的b粗細可能有點重,但可能可行。

在此輸入影像描述

重新定義\vdots為使用回合後,.如果需要的話,您還可以調整位置(儘管我在這裡沒有這樣做)

\RequirePackage{fix-cm}% cope with non standard sizes
\documentclass{slides}
\makeatletter
\DeclareSymbolFont{rmops}   {OT1}{cmr} {b}{n}% get back a roman font, for ; at least
\DeclareRobustCommand
  \vdots{\vbox{\baselineskip4\p@ \lineskiplimit\z@
      \kern6\p@\hbox{$.$}\hbox{$.$}\hbox{$.$}}} % no $ by default
  \DeclareMathSymbol{:}{\mathrel}{rmops}{"3A}% was operators
  \DeclareMathSymbol{;}{\mathpunct}{rmops}{"3B}% was operators
\makeatother
\begin{document}
\[
\ldots\;\cdots\;\vdots\;,\;;\;:\;\sin(2x)
\]
\[
\ldots\;\cdots\;\vdots\;,\;;\;:\;\sin(2\mathsf{x})
\]
\end{document}

相關內容