Операторы, которые вы изобретаете один раз
ОбъявитеMathOperator для 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 не отмечены звездочками, поскольку их индексы, если они есть, находятся сбоку. Звезду получают только операторы предельного стиля, такие как \essup.
Объявление операторов в преамбуле вместо встроенного \mathrm{argmin} окупается дважды. Обозначения остаются единообразными во всем документе, и если журнал запрашивает другое оформление, вы меняете одну строку вместо того, чтобы просматривать каждое уравнение. Попробуйте объединить объявление и строку отображения в живой игровой площадке, чтобы увидеть, как ведет себя размещение помеченного индекса.
Распространенная ошибка: объявление оператора, имя которого конфликтует с существующей командой, например \max или \deg. LaTeX остановится с «уже определенной» ошибкой. Выберите новое имя или используйте \renewcommand, только если вы действительно намерены заменить исходное.