Извините, если на этот вопрос уже был дан ответ, но ни chatgpt не дал мне удовлетворительного ответа, и я не нашел того, что искал, на Stack Exchange. Я хотел бы узнать, существует ли «канонический» способ обрезать математический оператор, чтобы создать новый.
Позвольте мне быть более конкретным и показать вам, какой (очевидно, отсутствующий) оператор мне бы понравился:
Я хочу иметьсимвол прямого множителя, который является половинным символом прямой суммы ( \oplus
). Я хочу сохранить левую половину и избавиться от правой половины.
Кто-нибудь знает, как это сделать?
Вот что предоставил chatgpt:
\newcommand{\eplus}{\mathbin{\clipbox{0pt 0pt 0.5\width 0pt}{$\oplus$}}}
Что само по себе круто, но имеет проблемы с выравниванием и приводит к возникновению ошибки:
missing number, treated as zero
Заранее спасибо за вашу помощь!
PS: Если вы знаете пакет, который работает с этим символом, это тоже меня удовлетворит :)!
Вот (почти полный документ): (заранее извиняюсь, мне пришлось вернуться к своим документам cls, надеюсь, все в порядке):
\documentclass[a4paper,10pt]{article}
\usepackage[english]{babel}
\usepackage{graphicx}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{hyperref}
\usepackage{enumitem}
\renewcommand{\thechapter}{\Roman{chapter}}
\renewcommand{\thesection}{\@arabic\c@section}
\setitemize[1]{label=$\bullet$}
\setitemize[2]{label=-}
\setenumerate[0]{label=$(\roman*)$}
\usepackage{amsmath}
\usepackage{stmaryrd}
\usepackage{amssymb}
\usepackage{mathrsfs}
\usepackage{dsfont}
\usepackage{mathtools}
\usepackage{cancel}
\usepackage{faktor}
\usepackage{esint}
\usepackage{mathdots}
\usepackage{multirow}
\usepackage{tikz}
\usetikzlibrary{decorations.pathmorphing}
% A lot of things (essentially macros and environments + drawings things)
\usepackage{geometry}
\pagestyle{headings}
\\usepackage{caption}
\DeclareCaptionFormat{sanslabel}{#3}%
\usepackage{adjustbox}
\usepackage{multicol}
\newcommand{\eplus}{\mathbin{\clipbox{0pt 0pt 0.5\width 0pt}{$\oplus$}}}
\begin{document}
%blabla
\( A \eplus B\)
%blabla
\end{document}
решение1
Во-первых: ChatGPTкажетсячтобы дать разумные ответы. Однако обычно они таковыми не являются.
Однако, \clipbox
это, безусловно, то, с чего стоит начать.
Не следует обрезать половинную ширину, поскольку при этом теряется большая часть вертикальной полосы; далее вам понадобится некоторая боковая опора справа.
Коэффициент 0,484 был вычислен «на глаз», с некоторыми попытками, и, очевидно, зависит от математического шрифта.
\documentclass{article}
\usepackage{amsmath}
\usepackage{trimclip}
\makeatletter
\NewDocumentCommand{\eplus}{}{\mathbin{\mathpalette\eplus@\relax\mspace{1mu}}}
\newcommand{\eplus@}[2]{%
\clipbox{0 0 {0.484\width} 0}{$\m@th#1\oplus$}%
}
\makeatother
\begin{document}
$A\eplus B$
$x_{A\eplus B}$
\end{document}
Обратите внимание на скобки вокруг 0.484\width
, в противном случае вы получите ошибку.