
Как сделать следующие интегральные символы в Latex?
Я знаю, как сделать интеграл и предел. Я не знаю, как сделать это с линиями, проходящими через него.
решение1
Используя код из записиСимвол главного интеграла(который определяет макрос \dashint
) вЧасто задаваемые вопросы о TeXВ качестве отправной точки достаточно просто определить два новых макроса \lowdashint
и \highdashint
, которые помещают символ «тире» — на самом деле символ «минус» — немного ниже и немного выше соответственно, чем \dashint
.
В приведенном ниже коде макросы \lowdashint
и \highdashint
настроены только для режимов отображения и текстового стиля. (Я не могу себе представить, что они будут встречаться в выражениях в нижних и верхних индексах первого уровня, не говоря уже о втором уровне. Однако, пожалуйста, сообщите мне, является ли это предположение неверным.)
Конечно, вы можете свободно изменять вертикальное положение тире (см. аргументы команд \lower
и \raise
) в соответствии со своими стилистическими предпочтениями.
\documentclass{article}
\usepackage{booktabs,amsmath}
\def\Xint#1{\mathchoice
{\XXint\displaystyle\textstyle{#1}}%
{\XXint\textstyle\scriptstyle{#1}}%
{\XXint\scriptstyle\scriptscriptstyle{#1}}%
{\XXint\scriptscriptstyle\scriptscriptstyle{#1}}%
\!\int}
\def\XXint#1#2#3{{\setbox0=\hbox{$#1{#2#3}{\int}$}
\vcenter{\hbox{$#2#3$}}\kern-.5\wd0}}
\def\dashint{\Xint-}
\def\Yint#1{\mathchoice
{\YYint\displaystyle\textstyle{#1}}%
{\YYYint\textstyle\scriptscriptstyle{#1}}%
{}{}%
\!\int}
\def\YYint#1#2#3{{\setbox0=\hbox{$#1{#2#3}{\int}$}
\lower1ex\hbox{$#2#3$}\kern-.46\wd0}}
\def\YYYint#1#2#3{{\setbox0=\hbox{$#1{#2#3}{\int}$}
\lower0.35ex\hbox{$#2#3$}\kern-.48\wd0}}
\def\lowdashint{\Yint-}
\def\Zint#1{\mathchoice
{\ZZint\displaystyle\textstyle{#1}}%
{\ZZZint\textstyle\scriptscriptstyle{#1}}%
{}{}%
\!\int}
\def\ZZint#1#2#3{{\setbox0=\hbox{$#1{#2#3}{\int}$}
\raise1.15ex\hbox{$#2#3$}\kern-.57\wd0}}
\def\ZZZint#1#2#3{{\setbox0=\hbox{$#1{#2#3}{\int}$}
\raise0.85ex\hbox{$#2#3$}\kern-.53\wd0}}
\def\highdashint{\Zint-}
\begin{document}
$\begin{array}{@{}lccc@{}}
\toprule
\text{Math mode} & \multicolumn{3}{c@{}}{\text{Integral symbol}}\\
\cmidrule(l){2-4}
& \texttt{\string\lowdashint}
& \texttt{\string\highdashint}
& \texttt{\string\dashint} \\
\midrule
\texttt{\string\displaystyle}
& \displaystyle \lowdashint_M f
& \displaystyle \highdashint_M f
& \displaystyle \dashint_M f \\[4ex]
\texttt{\string\textstyle}
& \lowdashint_M f
& \highdashint_M f
& \dashint_M f \\
\bottomrule
\end{array}$
\end{document}
решение2
Одним из способов размещения черточек через математические символы является использование \ooalign.
В двух командах, которые я определил ниже, первое число управляет высотой черточки в знаке интеграла, второе — длиной черточки, а третье — толщиной черточки.
\documentclass{article}
\newcommand{\stI}{%
\ooalign{\hidewidth $\int$\hidewidth\cr\rule[1.1ex]
{1ex}{.4pt}}}
\newcommand{\stII}{%
\ooalign{\hidewidth $\int$\hidewidth\cr\rule[-0.1ex]
{1ex}{.4pt}}}
\begin{document}
\[\stI_m f\]
\[\stII_m f(x)\]
\end{document}
Чтобы они выглядели красиво, вам также может быть интересно прочитать этот ответ:Большой интегральный знак