От lmodern до newtx (с amsmath и другими пакетами AMS)

От lmodern до newtx (с amsmath и другими пакетами AMS)

Мне нужно изменить шрифт с lmodernTimes на принадлежащий newtxпакету.

Начал с этого MWE

\documentclass{minimal}

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

\input{glyphtounicode}
\pdfgentounicode=1

\usepackage[centertags,intlimits,namelimits,sumlimits]{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}


\begin{document}

\(f \colon \mathbb{R} \to \mathbb{R}\) such that
\begin{align*}
  f(25) &= f(5^2) \\
  &= f(3^2 + 4^2) \\
  &= f(3) + f(4)
\end{align*}

\end{document}

...и добрался до этого MWE

\documentclass{minimal}

\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}

\input{glyphtounicode}
\pdfgentounicode=1

\usepackage{newtxtext}
\usepackage[centertags,intlimits,namelimits,sumlimits]{amsmath}
\usepackage{newtxmath}
\usepackage{amsfonts}
\usepackage{amssymb}


\begin{document}

\(f \colon \mathbb{R} \to \mathbb{R}\) such that
\begin{align*}
  f(25) &= f(5^2) \\
  &= f(3^2 + 4^2) \\
  &= f(3) + f(4)
\end{align*}

\end{document}

Последняя не скомпилирована успешно (хотя в прошлом году 18 марта это удалось сделать со следующими версиями: newtxtext 2018/03/27 v1.531, newtxmath 2018/05/15 v1.553, amsmath 2018/12/01 v2.17b AMS math features, amsfonts 2013/01/14 v3.01 Basic AMSFonts support, amssymb 2013/01/14 v3.01 AMS font symbols):

amssymb.sty:261: LaTeX Error: Command `\Bbbk' already defined.

Размещение комментария \usepackage{amssymb}решает проблему, но в руководстве есть несколько замечаний по использованию newtxtextи newtxmathсопутствующим вещам AMS, newtxкоторые я, вероятно, неправильно истолковываю.

  1. В целом, как мне перейти к newtxиспользованию функций, которые у меня были раньше lmodern?
  2. Есть ли лучший способ настройки amsmathпараметров? Обратите внимание на несколько странный порядок newtxtext, amsmathи newtxmath.

С уважением

решение1

Вам не нужно ни то, amsfontsни другое amssymbпри загрузке newtxmath, это охватывает все, что делают два пакета.

Так как newtxmathзагружается amsmath; если вы хотите передать параметры в amsmath, загрузите его раньше.

\documentclass{article}

\usepackage[T1]{fontenc}
%\usepackage[utf8]{inputenc} % unnecessary for releases 2018 and later of LaTeX 

\input{glyphtounicode}
\pdfgentounicode=1

\usepackage[centertags,intlimits,namelimits,sumlimits]{amsmath}
\usepackage{newtxtext,newtxmath}


\begin{document}

\(\lessapprox\)

\(f \colon \mathbb{R} \to \mathbb{R}\) such that
\begin{align*}
  f(25) &= f(5^2) \\
  &= f(3^2 + 4^2) \\
  &= f(3) + f(4)
\end{align*}

\end{document}

решение2

\documentclass{article}

\usepackage[T1]{fontenc}

\input{glyphtounicode}
\pdfgentounicode=1

\usepackage{newtxtext}
\usepackage[centertags,intlimits,namelimits,sumlimits]{mathtools}
\usepackage{amssymb}
\usepackage{newtxmath}

\begin{document}

\(f \colon \mathbb{R} \to \mathbb{R}\) such that
\begin{align*}
  f(25) &= f(5^2) \\
  &= f(3^2 + 4^2) \\
  &= f(3) + f(4)
\end{align*}

\end{document}

У меня компилируется нормально.

Обратите внимание, что amsfontsуже включено в amssymb(так что вам не нужно загружать его дважды). И использование mathtoolsвместо amsmathне является обязательным, ноэто улучшаетнекоторые аспекты amsmath. И за исключением случаев, когда вы используете старую версию LaTeX или ваш файл не в кодировке UTF-8, [utf8]{inputenc}можно пропустить, так как это стало стандартом в 2018 году .

Связанный контент