\mathcal не работает должным образом

\mathcal не работает должным образом

Я пытаюсь использовать его, \mathcalи он работает для нижних индексов, но не для главной буквы.

\begin{table}[h]
    \centering
    \caption{Data integration framework}
    \label{tab:data_integration}
\begin{tabular}{| l | c | c |}
    \toprule
        & Language & Alphabet \\
    \midrule
    Global schema & \[\mathcal{L}_{\mathcal{G}}\] & \[\mathchal{A}_\mathcal{G}\] \\
    Source schema & \[\mathcal{L}_{\mathcal{S}}\] & \[\mathcal{A}_{\mathcal{S}}\] \\
    \hline
    Query \[\mathcal{q}_{\mathcal{S}}\] & \[\mathcal{L}_{\mathcal{M},\mathcal{S}}\] & \[\mathcal{A}_{\mathcal{S}}\] \\
    Query \[\mathcal{q}_{\mathcal{G}}\] & \[\mathcal{L}_{\mathcal{M},\mathcal{G} \] & \[\mathcal{A}_{\mathcal{G}}\] \\
    \bottomrule
    \end{tabular}
\end{table}

Я использую pdflatexи получаю вот такую ​​ошибку

! LaTeX Error: \mathcal allowed only in math mode.

See the LaTeX manual or LaTeX Companion for explanation.
Type  H <return>  for immediate help.
 ...                                              
                                                  
l.34    Global schema & \[\mathcal
                                {L}_{\mathcal{G}}\] & \[\mathcal{A}_\mathcal...

? 
! Missing $ inserted.
<inserted text> 
                $
l.34    Global schema & \[\mathcal{L}_
                                    {\mathcal{G}}\] & \[\mathcal{A}_\mathcal...

? x

Вот полная преамбула

\documentclass[12pt]{report}

\usepackage[utf8]{inputenc}
\PassOptionsToPackage{
        natbib=true,
    style=authoryear-comp,
        backend=biber,
        url=false,
        doi=false,
        isbn=false,
        eprint=false,
            }{biblatex}
\usepackage[backend=biber,bibencoding=utf8]{biblatex}
\addbibresource{/home/enrico/Università/uni_bib.bib}
\usepackage[bottom]{footmisc}
\usepackage[inline]{enumitem}
\usepackage{hyperref}
\usepackage{array}
\usepackage{svg}
\usepackage{graphicx}
\graphicspath{ {images/} }
\usepackage{tabularx}
\usepackage{booktabs}
\usepackage[T1]{fontenc}
\usepackage{blindtext}
\usepackage[a4paper,width=150mm,top=25mm,bottom=25mm,bindingoffset=6mm]{geometry}
\usepackage[final]{microtype}
\usepackage{setspace}
\onehalfspacing

%%%This is to have the titles of the chapters without the number%%%
\usepackage[raggedright,pagestyles]{titlesec}

\newpagestyle{main}{
  \sethead[\thepage][][\chaptertitle]{\chaptertitle}{}{\thepage}
  \headrule
}
\pagestyle{main}

\titleformat{\chapter}{\normalfont\huge\bfseries}{}{0pt}{\Huge}

Я не понимаю, что не так с моим использованием \[ \].

@quark67 ответил в комментарии. В этом случае мне нужно использовать $...$вместо \[ \].

решение1

Ошибка немного тонкая. Команда \[выполняет некоторую работу и в конечном итоге выдает команду $$на запуск режима отображения математики (обратите внимание, что это $$никогда не должно использоваться в documentсреде LaTeX, но, конечно, режим отображения математики использует его внутренне).

Но что делает $$в вашем случае? Ячейка выравнивания типа l, cили r(не p) обрабатывается вограниченный горизонтальный режимгде режим отображения математики не допускается и, по правилу, $$просто входит и выходит из режима встроенной математики. Таким образом, TeX являетсянетв математическом режиме, когда \mathcalнаходится. Отсюда (правда, загадочно)

! LaTeX Error: \mathcal allowed only in math mode.

сообщение об ошибке. Увы, возможно, можно было бы отловить ошибку использования \[в ячейке таблицы типа или когда TeX находится в ограниченном горизонтальном режиме l, но в настоящее время это не реализовано (и я не вижу для этого никаких реальных причин).cr

Для этой задачи используйте режим встроенной математики, или \(...\).$...$

Обратите внимание, что \mathcal{q}при имеющихся у вас настройках шрифтов не будет получено разумного результата.

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