Я поместил матричное выражение в таблицу. Теперь я пытаюсь вставить подпись, но получаю ошибку, и подпись не отображается в моем pdf. Вот мой код:
\begin{table*}
\[
\begin{bmatrix}
y_\triangle \\
y
\end{bmatrix}
\Large
=
\renewcommand\arraystretch{2}
\begin{bmatrix}[c|ccc]
- \frac{\omega_i C C_{dyn} H G}{1+C C_{dyn} H G} & \frac{\omega_i C C_{dyn}}{1+C C_{dyn} H G} & \frac{\omega_i}{1+C C_{dyn} H G} & - \frac{\omega_i C C_{dyn} H}{1+C C_{dyn} H G} \\ \hline
\frac{\omega_p G}{1+C C_{dyn} H G} & \frac{\omega_p C C_{dyn} G}{1+C C_{dyn} H G} & \frac{\omega_p G}{1+C C_{dyn} H G} & - \frac{\omega_p C C_{dyn} H G}{1+C C_{dyn} H G}
\end{bmatrix}
\normalsize
\renewcommand\arraystretch{1}
\begin{bmatrix}
u_\triangle \\
r\\
\omega \\
n
\end{bmatrix}
\]
\caption{Trasformata U_LFT del sistema}
\label{fig:ulft}
\end{table*}
В преамбуле я вставил этот код для вставки вертикальной линии в матрицу.
\makeatletter
\renewcommand*\env@matrix[1][*\c@MaxMatrixCols c]{%
\hskip -\arraycolsep
\let\@ifnextchar\new@ifnextchar
\array{#1}}
\makeatother
Спасибо всем за помощь.
решение1
Чтобы избавиться от сообщения об ошибке, генерируемого подписью, измените _
на \_
в аргументе \caption
.
Вам также следует подумать об исправлении нескольких других проблем. Избавьтесь от изменений размера шрифта в формуле, директиве \hline
и изменениях в \arraystretch
. Используйте \dfrac
вместо , \frac
если вам нужны более крупные дробные члены.
\documentclass{article}
\usepackage[italian]{babel}
\usepackage{amsmath} % for 'bmatrix' environment and '\dfrac' macro
\usepackage[a4paper,margin=2.5cm]{geometry} % set page and text block parameters
\begin{document}
\begin{table}
\[
\begin{bmatrix} y_\triangle \\ y \end{bmatrix}
%%%\Large
=
%%%\renewcommand\arraystretch{2}
\begin{bmatrix}%%%[c|ccc]
-\dfrac{\omega_i C C_{\mathrm{dyn}} H G}{1+C C_{\mathrm{dyn}} H G} &
\dfrac{\omega_i C C_{\mathrm{dyn}}}{1+C C_{\mathrm{dyn}} H G} &
\dfrac{\omega_i}{1+C C_{\mathrm{dyn}} H G} &
-\dfrac{\omega_i C C_{\mathrm{dyn}} H}{1+C C_{\mathrm{dyn}} H G} \\[3ex] %%%\hline
\dfrac{\omega_p G}{1+C C_{\mathrm{dyn}} H G} &
\dfrac{\omega_p C C_{\mathrm{dyn}} G}{1+C C_{\mathrm{dyn}} H G} &
\dfrac{\omega_p G}{1+C C_{\mathrm{dyn}} H G} &
-\dfrac{\omega_p C C_{\mathrm{dyn}} H G}{1+C C_{\mathrm{dyn}} H G}
\end{bmatrix}
%%%\normalsize
%%%\renewcommand\arraystretch{1}
\begin{bmatrix} u_\triangle \\ r\\ \omega \\ n \end{bmatrix}
\]
\caption{Trasformata U\_LFT del sistema} % <--- change "_" to "\_"
\label{fig:ulft}
\end{table}
\end{document}
Приложение: Если вам нужно вставить вертикальную и горизонтальную линию в матрицу 2x4, я предлагаю вам сделать это с помощью окружения array
, а не bmatrix
окружения. Таким образом, вам не придется \hline
генерировать слишком длинную линию, которая в итоге будет мешать квадратным скобкам.
\left[ \begin{array}{@{}c|ccc@{}}
-\dfrac{\omega_i C C_{\mathrm{dyn}} H G}{1+C C_{\mathrm{dyn}} H G} &
\dfrac{\omega_i C C_{\mathrm{dyn}}}{1+C C_{\mathrm{dyn}} H G} &
\dfrac{\omega_i}{1+C C_{\mathrm{dyn}} H G} &
- \dfrac{\omega_i C C_{\mathrm{dyn}} H}{1+C C_{\mathrm{dyn}} H G} \\[2ex]
\hline
% use '\mathstrut' to get a bit more vertical separation:
\dfrac{\omega_p G^{\mathstrut}}{1+C C_{\mathrm{dyn}} H G} &
\dfrac{\omega_p C C_{\mathrm{dyn}} G}{1+C C_{\mathrm{dyn}} H G} &
\dfrac{\omega_p G}{1+C C_{\mathrm{dyn}} H G} &
- \dfrac{\omega_p C C_{\mathrm{dyn}} H G}{1+C C_{\mathrm{dyn}} H G}
\end{array}\right]