有沒有辦法加載 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}
有關合適的大符號的建議,請參閱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:
我認為在這種情況下,您最好完全放棄 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}
更新
這是已編輯問題的答案。正如我在評論中解釋的那樣,在那裡發布的解決方案不是一個好的解決方案,因為它並沒有真正按照您的想法進行。
讓我們先檢查不同的字體,因為這會造成一些混亂:
代碼:
\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,大膽且現代的計算機
粗體部分的問題是不同的。如果載入會發生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 字體命令和不對應。sf
md
sf
md
sffamily
mdseries
\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}
重要的是,這可以讓您在需要時使用粗體:
\textbf{bold} and normal
請注意,即使您不想使用粗體,加載iwona
以擺脫它也不是一個好的解決方案,因為某些字體(例如 Iwona)做有一個大膽的b
系列,你很可能會發生奇怪的事情。此外,控制台上的日誌和輸出會經常抱怨缺少字體,這使得識別您確實想要找到的真正問題變得更加困難。