Оператори ви винайшли один раз
DeclareMathOperator для argmin, argmax тощо.
Оператори, які ви винайшли один раз
LaTeX поставляється з іменованими операторами, такими як \sin, \log і \max, які друкуються вертикальним шрифтом із правильним інтервалом навколо них. Він не постачається з \argmin або \argmax, навіть якщо документи про оптимізацію постійно використовують їх. Якщо ви вводите argmin як прості літери в математичному режимі, LaTeX розглядає це як добуток шести змінних: літери виходять курсивом, стиснуті разом, без інтервалів між операторами. Оголошіть оператор самостійно один раз у преамбулі.
Оголошення оператора
\usepackage{amsmath}\DeclareMathOperator*{\argmin}{arg\,min}\DeclareMathOperator*{\argmax}{arg\,max}
\[\theta^\star = \argmin_\theta \mathcal{L}(\theta)\]Ось що робить кожен фрагмент. \DeclareMathOperator походить від amsmath і створює нову команду, аргумент якої набирається як текст оператора: вертикальні латинські літери, з правилами інтервалів, які LaTeX вже застосовує до \max і \lim. Перший аргумент — це назва команди, яку ви вводите, другий — текст, який фактично друкується. \, всередині arg\,min вставляє тонкий пробіл між двома словами, що читається краще, ніж використовувати їх разом.
Зірочка після \DeclareMathOperator має значення. Оголошення із зірочкою змушує оператор поводитися як \lim: у математиці відображення все, що ви приєднуєте за допомогою _, розміщується прямо під оператором, а не в нижньому правому куті. Це саме те, що ви хочете для \argmin_\theta, де оптимізована змінна має з’явитися нижче. Без зірочки нижній індекс залишається збоку, що є конвенцією для таких операторів, як \log_2. У вбудованій математиці нижній індекс залишається збоку, щоб уникнути розтягування висоти рядка.
Повторне використання шаблону
Ця ж техніка охоплює будь-який оператор, який використовує ваша сфера, про який LaTeX не знає. Кілька поширених:
\DeclareMathOperator{\tr}{tr}\DeclareMathOperator{\rank}{rank}\DeclareMathOperator{\diag}{diag}\DeclareMathOperator*{\esssup}{ess\,sup}Зверніть увагу, що \tr, \rank і \diag не позначені зірочкою, тому що їхні індекси, якщо вони є, знаходяться збоку. Лише оператори стилю обмеження, такі як \esssup, отримують зірочку.
Оголошення операторів у преамбулі замість вбудованого написання \mathrm{argmin} окупається подвійно. Позначення залишаються узгодженими в усьому документі, і якщо журнал просить інше відтворення, ви змінюєте один рядок замість того, щоб переглядати кожне рівняння. Спробуйте об’єднати оголошення та рядок відображення на живому майданчику, щоб побачити, як поводиться розміщення підрядкового індексу із зірочкою.
Поширена помилка: оголошення оператора, ім’я якого суперечить існуючій команді, наприклад \max або \deg. LaTeX зупиниться з помилкою «вже визначено». Виберіть нову назву або використовуйте \renewcommand, лише якщо ви дійсно маєте намір замінити оригінал.