編輯:註釋

編輯:註釋

有沒有辦法加載 Iwona 和 CMBright 包,以便 Iwona 僅用於文本,CMBright 僅用於數學,並且所有文本和數學都是無襯線的?

到目前為止我想到的唯一命令是:

\usepackage{cmbright}
\usepackage{iwona}
\renewcommand*{\familydefault}{\sfdefault}
\SetSymbolFont{largesymbols}{normal}{OMX}{iwona}{m}{n}

這當然不完全正確。預先感謝任何願意幫助我的人。

PS如果有人覺得有用的話我可以提供完整的程式碼。

預計抵達時間:

這是一些基本文檔,我們可以從中嘗試解決我的問題:

\documentclass{article}
\usepackage[french]{babel}
\usepackage[T1]{fontenc}
\usepackage[latin1]{inputenc}
\usepackage{amsfonts, amsmath, amssymb}
\usepackage{lipsum}
\usepackage[math]{iwona}
\usepackage{cmbright}

\renewcommand*{\familydefault}{\sfdefault}
\SetSymbolFont{largesymbols}{normal}{OMX}{iwona}{m}{n}

\begin{document}
    \section{A section}

    \begin{equation}
        S\!\left(x\right) = \mathsf{Pr}\!\left[X > x\right] \qquad \widehat{S}\!\left(t\right) = \textsf{exp}\!\left(-\widehat{H}\!\left(t\right)\right).
    \end{equation}

    \noindent \lipsum[1-1]
\end{document}

預計抵達時間:

我們快到了。最後剩下的就是章節、小節等字體,它們非常粗體且醜陋,據我所知與 Iwona 無關。這是我們可以補救的事情嗎?至於正文的字體,我希望各部分的字體是 Iwona 的無襯線字體...再次感謝!

預計抵達時間:

我想我在最後一部分發現了一些非常有趣的東西:

\makeatletter
\renewcommand\section{\@startsection {section}{1}{\z@}%
{-3.5ex \@plus -1ex \@minus -.2ex}%
{2.3ex \@plus.2ex}%
{\normalfont\Large}}
\makeatother

\makeatletter
\renewcommand\subsection{\@startsection {subsection}{1}{\z@}%
{-3.5ex \@plus -1ex \@minus -.2ex}%
{2.3ex \@plus.2ex}%
{\normalfont\large}}
\makeatother

\makeatletter
\renewcommand\subsubsection{\@startsection {subsubsection}{1}{\z@}%
{-3.5ex \@plus -1ex \@minus -.2ex}%
{2.3ex \@plus.2ex}%
{\normalfont\normalsize}}
\makeatother

不知何故,這似乎確實可以做到這一點,所以現在如果有人有時間的話,我想了解(即使只是多一點)為什麼像我一樣混合字體不是一個好主意。我保證盡我最大的努力對它產生的語義問題保持開放的態度。

預計抵達時間:

好吧,花了一些時間進行更多測試,而我最後的解決方案畢竟不太正確。儘管如此,我還是能夠用以下程式碼來救贖自己(至少我認為):

\documentclass{article}
\usepackage[french]{babel}
\usepackage[T1]{fontenc}
\usepackage[latin1]{inputenc}
\usepackage{amsfonts, amsmath, amssymb}
\usepackage{lipsum}
\usepackage[math]{iwona}
\usepackage{sfmath}

\renewcommand*{\familydefault}{\sfdefault}

\begin{document}
    \title{MY TITLE}
    \date{}

    \maketitle

    \section{A section}

    \section{Another section}

    \subsection{A subsection}

    \subsubsection{A subsubsection}

    \begin{equation}
        \begin{aligned}
            S\!\left(x\right) & \ = \ \mathsf{Pr}\!\left[X > x\right]\\
            H\!\left(x\right) & \ = \ \int_0^x h\!\left(t\right)\mathsf{d}t\\
        \end{aligned}
        \qquad
        \begin{aligned}
            \widehat{S}\!\left(t\right) & \ = \ \textsf{exp}\!\left(-\widehat{H}\!\left(t\right)\right)\\
            \widehat{H}\!\left(t\right) & \ = \ \sum_{k \, | \, t_k \leq t} d_k / n_k
        \end{aligned}
    \end{equation}

    \noindent \lipsum[1-1]
\end{document}

它擁有我想要的一切:無襯線字體,無襯線數學,沒有醜陋的超粗體部分字體。關鍵是 sfmath 包,它做得非常出色。

也就是說,如果文件中還隱藏著一顆滴答作響的炸彈,我將不勝感激。

我要感謝所有試圖幫助我的人,尤其是 CFR。謝謝你,小夥伴。我是認真的(很遺憾我的代表阻止我給你投票)。

答案1

我絕不建議這樣做,因為我認為這在美學上充其量是極其可疑的。然而,該網站並不關心內容在排版上是否明智,而只關心它們在 TeX 中技術上最優雅的實現。

iwona將字體設定為預設羅馬系列。cmbright將字體設定為預設 sans 系列,然後將預設系列設為 sans。

因此,如果我們iwona首先加載,我們可以cmbright覆蓋數學配置,這將回退到CM Bright 未提供的iwona選項。 OMX(這不是一個好主意,但似乎正是您的想法。)

然後,我們可以將預設係列切換回羅馬以獲得文字的 Iwona。

\documentclass[12pt]{article}
\usepackage[T1]{fontenc}
\usepackage[math]{iwona}
\usepackage{cmbright}
\usepackage{amsfonts, amsmath, amssymb}
\usepackage{lipsum}
\renewcommand*{\familydefault}{\rmdefault}

\begin{document}
  \begin{equation}
    \begin{aligned}
      H\!\left(x\right)
      & \ = \ \int_0^x h\!\left(t\right)\mathsf{d}t\\
      &\\
      \widehat{H}\!\left(t\right)
      & \ = \ \sum_{k \, | \, t_k \leq t} d_k / n_k\\
    \end{aligned}
    \qquad
    \begin{aligned}
      S\!\left(x\right)
      & \ = \ \mathsf{Pr}\!\left[X > x\right]\\
      &\\
      \widehat{S}\!\left(t\right)
      & \ = \ \textsf{exp}\!\left(-\widehat{H}\!\left(t\right)\right).
    \end{aligned}
  \end{equation}

  \noindent
  \lipsum[1-1]

\end{document}

Iwona 和 CM Bright

有關合適的大符號的建議,請參閱cmbright的文檔,例如cmex。這些可能比混合 Iwona 更好一點。但是,由於您已經混合了兩種無字體,也許大符號是您最不用擔心的。

您還應該考慮一種解決方案,其中僅替換您不喜歡的符號。網站上有幾個此類問題可用作指南。

編輯:註釋

如果您使用以下程式碼:

\documentclass[12pt]{article}
\usepackage[T1]{fontenc}
\usepackage[math]{iwona}
\usepackage{cmbright}
\usepackage{amsfonts, amsmath, amssymb}
\usepackage{lipsum}
\renewcommand*{\familydefault}{\sfdefault}

\begin{document}
  \begin{equation}
    \begin{aligned}
      H\!\left(x\right)
      & \ = \ \int_0^x h\!\left(t\right)\mathsf{d}t\\
      &\\
      \widehat{H}\!\left(t\right)
      & \ = \ \sum_{k \, | \, t_k \leq t} d_k / n_k\\
    \end{aligned}
    \qquad
    \begin{aligned}
      S\!\left(x\right)
      & \ = \ \mathsf{Pr}\!\left[X > x\right]\\
      &\\
      \widehat{S}\!\left(t\right)
      & \ = \ \textsf{exp}\!\left(-\widehat{H}\!\left(t\right)\right).
    \end{aligned}
  \end{equation}

  \noindent
  \lipsum[1-1]

\end{document}

那麼您將獲得 CM Bright 的文本數學。唯一的例外是大型數學符號,CM Bright 缺少這些符號,而這些符號將來自 Iwona:

CM Bright 附有大型 Iwona 數學符號

我認為在這種情況下,您最好完全放棄 Iwona 並使用 的cmbright文檔中建議的配置:

\documentclass[12pt]{article}
\usepackage[T1]{fontenc}
\usepackage{cmbright}
\usepackage{amsfonts, amsmath, amssymb}
\usepackage{lipsum}
\renewcommand*{\familydefault}{\sfdefault}

\begin{document}
  \begin{equation}
    \begin{aligned}
      H\!\left(x\right)
      & \ = \ \int_0^x h\!\left(t\right)\mathsf{d}t\\
      &\\
      \widehat{H}\!\left(t\right)
      & \ = \ \sum_{k \, | \, t_k \leq t} d_k / n_k\\
    \end{aligned}
    \qquad
    \begin{aligned}
      S\!\left(x\right)
      & \ = \ \mathsf{Pr}\!\left[X > x\right]\\
      &\\
      \widehat{S}\!\left(t\right)
      & \ = \ \textsf{exp}\!\left(-\widehat{H}\!\left(t\right)\right).
    \end{aligned}
  \end{equation}

  \noindent
  \lipsum[1-1]

\end{document}

CM Bright 和 CM Extended 用於大型數學符號

更新

這是已編輯問題的答案。正如我在評論中解釋的那樣,在那裡發布的解決方案不是一個好的解決方案,因為它並沒有真正按照您的想法進行。

讓我們先檢查不同的字體,因為這會造成一些混亂:

字體取樣器

代碼:

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{amsfonts, amsmath, amssymb}
\usepackage{lipsum}
\begin{document}
  Default Computer Modern Roman (serif):

    \lipsum[1]

  \sffamily Computer Modern Sans Serif:

    \lipsum[1]

  \fontfamily{cmbr}\selectfont Computer Modern Bright:

    \lipsum[1]

  \fontfamily{iwona}\selectfont Iwona:

    \lipsum[1]
\end{document}

我從評論中得知,你實際上並不喜歡 Iwona。也就是說,您不想使用上面採樣器中的最後一個字體。這不是“Iwona serif”或“Iwona roman”。這只是伊沃娜。如果你不喜歡那種字體,那你就不喜歡 Iwona。

計算機現代 Sans

我認為您希望使用的是 Computer Modern Bright 或 Computer Modern Sans Serif。我之前給出的程式碼示範如何使用 CM Bright。要使用電腦現代無襯線字體:

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{amsfonts, amsmath, amssymb}
\usepackage{lipsum}
\renewcommand*{\familydefault}{\sfdefault}
\begin{document}

    \lipsum[1]

\end{document}

管理系統

所有這一切的複雜之處在於iwona.sty將 Iwona 安裝為預設的羅馬/襯線字體系列,即使 Iwona 實際上是無襯線字體。因此,如果您加載文檔iwona,然後切換到 sans,您實際上根本看不到任何用於文字的 Iwona。 (除非你明確要求羅馬家族。)

我認為您真正想做的是使用 Iwona 中的大型數學符號來避免使用其他襯線版本。我不確定這是否是最好的解決方案。然而,...

數學

數學會發生什麼事?預設情況下,什麼都沒有。我們所做的只是更改文字字體。正如您所解釋的,sfmath可用於激活無數學:

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{amsfonts, amsmath, amssymb}
\usepackage{lipsum}
\usepackage{sfmath}
\renewcommand*{\familydefault}{\sfdefault}
\begin{document}

  \lipsum[1]

  \begin{equation}
    \begin{aligned}
      S\!\left(x\right) & \ = \ \mathsf{Pr}\!\left[X > x\right]\\
      H\!\left(x\right) & \ = \ \int_0^x h\!\left(t\right)\mathsf{d}t\\
    \end{aligned}
    \qquad
    \begin{aligned}
      \widehat{S}\!\left(t\right) & \ = \ \textsf{exp}\!\left(-\widehat{H}\!\left(t\right)\right)\\
      \widehat{H}\!\left(t\right) & \ = \ \sum_{k \, | \, t_k \leq t} d_k / n_k
    \end{aligned}
  \end{equation}

\end{document}

無數學

這是從 Computer Moderncmex字體中提取大符號,並使用無襯線字體中的字母和運算符。

Iwona 的大符號

如果您想從 Iwona 獲取大符號,您可以這樣做:

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{amsfonts, amsmath, amssymb}
\usepackage{lipsum}
\usepackage{sfmath}% use cm, cmbright or lm as options for similar maths fonts (cm is default)
\renewcommand*{\familydefault}{\sfdefault}
% take large maths symbols from Iwona as these aren't available in Computer Modern for sans (otherwise we get serif symbols from cmex)
\SetSymbolFont{largesymbols}{normal}  {OMX}{iwona}{m}{n}
\SetSymbolFont{largesymbols}{bold}  {OMX}{iwona}{b}{n}
\begin{document}

  \lipsum[1]

  \begin{equation}
    \begin{aligned}
      S\!\left(x\right) & \ = \ \mathsf{Pr}\!\left[X > x\right]\\
      H\!\left(x\right) & \ = \ \int_0^x h\!\left(t\right)\mathsf{d}t\\
    \end{aligned}
    \qquad
    \begin{aligned}
      \widehat{S}\!\left(t\right) & \ = \ \textsf{exp}\!\left(-\widehat{H}\!\left(t\right)\right)\\
      \widehat{H}\!\left(t\right) & \ = \ \sum_{k \, | \, t_k \leq t} d_k / n_k
    \end{aligned}
  \end{equation}

\end{document}

帶有無數學和 Iwona 大符號的計算機 Modern Sans

Iwona,大膽且現代的計算機

粗體部分的問題是不同的。如果載入會發生iwona什麼,它會重新定義粗體系列

\renewcommand{\bfdefault}{b}

所以下面的文檔

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{amsfonts, amsmath, amssymb}
\usepackage[math]{iwona}
\usepackage{lipsum}
\usepackage{sfmath}% use cm, cmbright or lm as options for similar maths fonts (cm is default)
\renewcommand*{\familydefault}{\sfdefault}
% take large maths symbols from Iwona as these aren't available in Computer Modern for sans (otherwise we get serif symbols from cmex)
\SetSymbolFont{largesymbols}{normal}  {OMX}{iwona}{m}{n}
\SetSymbolFont{largesymbols}{bold}  {OMX}{iwona}{b}{n}
\begin{document}

  \textbf{bold} and normal text

\end{document}

將產生這個:

禁用粗體

也就是說,您根本不能使用粗體。發生這種情況是因為遠非理想的重新定義iwona.sty與遠非理想的 Computer Modern 字體預設值相互作用。事實上,手冊sfmath建議在 之前加載fix-cm並執行此操作\documentclass。添加

\RequirePackage{fix-cm}

\documentclass解決問題之前:

恢復粗體

因此,iwona僅僅為了獲取非粗體部分而加載也會在各處殺死粗體。但修復粗體也會恢復粗體部分,因為如果 LaTeX 可以找到粗體字體,它會預設將它們用於部分標題。此外,它可能會導致令人驚訝的地方出現不一致。最好是向 LaTeX 詢問非粗體部分而不是希望 LaTeX 根本找不到粗體字。

非粗體部分

使用該titlesec包可以輕鬆實現此目的。以下內容傳遞了無襯線、中等粗細部分標題的和titlesec選項。 [請注意,選項是and而不是和,即它們與 LaTeX 字體命令和不對應。sfmdsfmdsffamilymdseries\sffamily\mdseries

\RequirePackage{fix-cm}% recommended in documentation for sfmath
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{amsfonts, amsmath, amssymb}
\usepackage{lipsum}
\usepackage{sfmath}% use cm, cmbright or lm as options for similar maths fonts (cm is default)
\renewcommand*{\familydefault}{\sfdefault}
% take large maths symbols from Iwona as these aren't available in Computer Modern for sans (otherwise we get serif symbols from cmex)
\SetSymbolFont{largesymbols}{normal}  {OMX}{iwona}{m}{n}
\SetSymbolFont{largesymbols}{bold}  {OMX}{iwona}{b}{n}
\usepackage[sf,md]{titlesec}
\begin{document}

  \section{A section}

  \section{Another section}

  \subsection{A subsection}

  \subsubsection{A subsubsection}

  \lipsum[1]

  \begin{equation}
    \begin{aligned}
      S\!\left(x\right) & \ = \ \mathsf{Pr}\!\left[X > x\right]\\
      H\!\left(x\right) & \ = \ \int_0^x h\!\left(t\right)\mathsf{d}t\\
    \end{aligned}
    \qquad
    \begin{aligned}
      \widehat{S}\!\left(t\right) & \ = \ \textsf{exp}\!\left(-\widehat{H}\!\left(t\right)\right)\\
      \widehat{H}\!\left(t\right) & \ = \ \sum_{k \, | \, t_k \leq t} d_k / n_k
    \end{aligned}
  \end{equation}

\end{document}

Sans、中等部分、無數學和文字、來自 Iwona 的大符號

重要的是,這可以讓您在需要時使用粗體:

\textbf{bold} and normal

粗體和正常保留

請注意,即使您不想使用粗體,加載iwona以擺脫它也不是一個好的解決方案,因為某些字體(例如 Iwona)有一個大膽的b系列,你很可能會發生奇怪的事情。此外,控制台上的日誌和輸出會經常抱怨缺少字體,這使得識別您確實想要找到的真正問題變得更加困難。

相關內容