Сделать определенные математические символы более жирными

Сделать определенные математические символы более жирными

Я пытаюсь понять, как иметь точный контроль над набором моих документов. Я рассматривалэтот pdf-файлно я не могу понять, как сделать так, чтобы такие символы, как '(), +, -, =,...' сталинемноготяжелее остальной математики. Возможно ли это? Я также знаю, что математика unicode ломает множество опций с другими пакетами, но я использую ее для получения другого шрифта для латинских и греческих символов. Я открыт для возможности устранения зависимости от unicode, если я могу добиться того же самого без него, но я бы предпочел решение, которое учитывает этот пакет.

решение1

Здесь есть две проблемы: первая — найти шрифт, который действительно содержит нужные вам глифы, а вторая — разместить их там, где вам нужно.

Ниже представлены доступные в настоящее время математические шрифты OpenType, которые поддерживают несколько вариантов начертания:

  • Lucida Bright Math предлагает Regular и Demibold
  • Minion Math предлагает шрифты Regular, Medium, Semibold и Bold (каждый в пяти оптических размерах)
  • XITS Math предлагает обычный и жирный шрифты

Итак, предположим, вы используете Minion Math Regular в качестве основного математического шрифта и решили, что Minion Math Semibold «немного» жирнее именно в том смысле, в котором вам нравится (светлее, чем полужирная математическая версия, я полагаю?). Затем, если вы хотите, чтобы заданный символ отображался полужирнымчерезВ вашем документе вы можете использовать rangeключ \setmathfontв преамбуле, например, следующим образом:

% Ignoring optical sizes
\setmathfont{MinionMath-Regular.otf}
\setmathfont[
  range = { "002B,"2212,"003C,"003E,"003D,"007B,"007D,"007C,"0028,"0029 } % +-<>={}|() 
]{MinionMath-Semibold.otf}

Коды дополнительных слотов или диапазонов Unicode можно найти в unimath-symbols.pdf.

Если вы хотите применить эффекттолько в некоторых частяхдокумента, вам придется каждый раз переназначать символы. Вы можете сделать что-то вроде этого:

\documentclass{article}
\usepackage{unicode-math}

\setmathfont{MinionMath-Regular.otf}

\NewDocumentCommand\applysemi{}{%
  \setmathfont[
    range = { "002B,"2212,"003C,"003E,"003D,"007B,"007D,"007C,"0028,"0029 } 
  ]{MinionMath-Semibold.otf}%
}
\NewDocumentCommand\removesemi{}{%
  \setmathfont[
    range = { "002B,"2212,"003C,"003E,"003D,"007B,"007D,"007C,"0028,"0029 } 
  ]{MinionMath-Regular.otf}%
}

\begin{document}

$ a + ( b - c ) = x $
\applysemi
$ a + ( b - c ) = x $
\removesemi
$ a + ( b - c ) = x $

\end{document}

Если вы используете XeLaTeX, вы также можете использовать клавишу FakeBoldдля искажения внешнего вида шрифта, которому не хватает заданной разработанной толщины, как описано в документации fontspec, раздел 9.3. Например, для Cambria Math вы можете сделать

\setmathfont[
  range = { "002B,"2212,"003C,"003E,"003D,"007B,"007D,"007C,"0028,"0029 } ,
  FakeBold = 2
]{Cambria Math}

Однако это не совсем рекомендуется: результат не может эстетически соответствовать правильно разработанному шрифту.

решение2

Окончательный ответ на ваш вопрос: если вас не устраивает внешний вид имеющихся шрифтов, создайте свой собственный! Но разработка шрифтов — это тяжелая и утомительная работа, у вас, вероятно, не останется на нее времени, учитывая другие ваши обязанности в жизни.

Есть быстрый способ: если вы хотите смешать символы из разных шрифтов, вы можете создатьвиртуальный шрифти используйте это. Подсказки о том, как это сделать, см. в этом вопросе:Как создать виртуальный шрифт?

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