![为什么这里需要 \raisebox 来正确对齐方程?](https://linux22.com/image/472446/%E4%B8%BA%E4%BB%80%E4%B9%88%E8%BF%99%E9%87%8C%E9%9C%80%E8%A6%81%20%5Craisebox%20%E6%9D%A5%E6%AD%A3%E7%A1%AE%E5%AF%B9%E9%BD%90%E6%96%B9%E7%A8%8B%EF%BC%9F.png)
我刚刚偶然发现了以下问题:
我想对齐最后一列的矩阵,以便它从其他列开始。
但是,我需要一个偏移量,我使用 \raisebox 命令来实现。但我想知道为什么这是必要的。有没有更好的解决方案?
\documentclass{article}
\usepackage{graphicx} % Required for inserting images
\usepackage{xltabular}
\usepackage{adjustbox}
\usepackage{amsmath}
\usepackage{amssymb}
\begin{document}
{
\centering
\renewcommand{\arraystretch}{2}
\begin{xltabular}{\textwidth}{ >{\centering\arraybackslash}p{1.4em} >{\arraybackslash}X >{\centering\arraybackslash}p{.7\textwidth} }
5 & Mit dem Operationsverstärker wird ähnlich verfahren: hier wird der Ausgangsstrom I\_VCVS dem Gleichungssystem hinzugefügt. Alle Elemente der Netzliste sind damit abgearbeitet. & \raisebox{-.85\height}{$\left[\begin{matrix}
\dfrac{1}{R1} & -\dfrac{1}{R1} & 0 & 0 & 1 & 0 \\
-\dfrac{1}{R1} & \dfrac{1}{R1}+\dfrac{1}{R2} & -\dfrac{1}{R2} & 0 & 0 & 0 \\
0 & -\dfrac{1}{R2} & \dfrac{1}{R2} & 0 & 0 & 1 \\
0 & 0 & 0 & 0 & -1 & 0 \\
1 & 0 & 0 & -1 & 0 & 0 \\
0 & v & 1 & 0 & 0 & 0 \\
\end{matrix}\right]\cdot\left[\begin{array}{@{} c @{}}
V1 \\
V2 \\
V3 \\
0 \\
I\_V0 \\
I\_VCVS \\
\end{array}\right]=\left[\begin{array}{@{} c @{}}
0 \\
0 \\
0 \\
0 \\
U0 \\
0 \\
\end{array}\right]$} \\
6 & Zum Abschluss werden die zum Masse-Potential gehörende Zeile und Spalte wegen ihrer linearen Abhängigkeit entfernt. Das Ergebnis ist gesuchte \textbf{MNA}-Gleichungssystem. Auf diese Weise stellt im Übrigen auch \textbf{SPICE} seine Netzwerkgleichungen auf & \raisebox{-.85\height}{$\left[\begin{matrix}
\dfrac{1}{R1} & -\dfrac{1}{R1} & 0 & 1 & 0 \\
-\dfrac{1}{R1} & \dfrac{1}{R1}+\dfrac{1}{R2} & -\dfrac{1}{R2} & 0 & 0 \\
0 & -\dfrac{1}{R2} & \dfrac{1}{R2} & 0 & 1 \\
1 & 0 & 0 & 0 & 0 \\
0 & v & 1 & 0 & 0 \\
\end{matrix}\right]\cdot\left[\begin{array}{@{} c @{}}
V1 \\
V2 \\
V3 \\
I\_V0 \\
I\_VCVS \\
\end{array}\right]=\left[\begin{array}{@{} c @{}}
0 \\
0 \\
0 \\
U0 \\
0 \\
\end{array}\right]$} \\
\end{xltabular}
}
\end{document}
答案1
您可以使用adjustbox
选项valign=t
,这样您就不必猜测。
我做了其他一些修复:例如,bmatrix
不用那么多\left[
和\right]
;也\tfrac
不用\dfrac
,这有助于将矩阵保持在可读的大小,而行之间没有太多空间。
\documentclass[a4paper]{article}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\usepackage{newtxtext,newtxmath} % Times font
\usepackage{graphicx} % Required for inserting images
\usepackage{xltabular}
\usepackage{adjustbox}
\usepackage{amsmath}
%\usepackage{amssymb} % not with newtx
\begin{document}
\begingroup\small
\begin{xltabular}{\textwidth}{
@{}
c
X
>{\centering\arraybackslash\renewcommand{\arraystretch}{1.3}}p{.7\textwidth}
@{}
}
5 & Mit dem Operationsverstärker wird ähnlich verfahren: hier wird der
Ausgangsstrom I\_VCVS dem Gleichungssystem hinzugefügt. Alle Elemente
der Netzliste sind damit abgearbeitet. &
\begin{adjustbox}{valign=t}$
\begin{bmatrix}
\tfrac{1}{R1} & -\tfrac{1}{R1} & 0 & 0 & 1 & 0 \\
-\tfrac{1}{R1} & \tfrac{1}{R1}+\tfrac{1}{R2} & -\tfrac{1}{R2} & 0 & 0 & 0 \\
0 & -\tfrac{1}{R2} & \tfrac{1}{R2} & 0 & 0 & 1 \\
0 & 0 & 0 & 0 & -1 & 0 \\
1 & 0 & 0 & -1 & 0 & 0 \\
0 & v & 1 & 0 & 0 & 0 \\
\end{bmatrix}
\cdot
\begin{bmatrix}
V1 \\
V2 \\
V3 \\
0 \\
I\_V0 \\
I\_VCVS \\
\end{bmatrix}
=
\begin{bmatrix}
0 \\
0 \\
0 \\
0 \\
U0 \\
0 \\
\end{bmatrix}
$\end{adjustbox} \\
6 & Zum Abschluss werden die zum Masse-Potential gehörende Zeile und Spalte
wegen ihrer linearen Abhängigkeit entfernt. Das Ergebnis ist gesuchte
\textbf{MNA}-Gleichungssystem. Auf diese Weise stellt im Übrigen auch
\textbf{SPICE} seine Netzwerkgleichungen auf &
\begin{adjustbox}{valign=t}$
\begin{bmatrix}
\tfrac{1}{R1} & -\tfrac{1}{R1} & 0 & 1 & 0 \\
-\tfrac{1}{R1} & \tfrac{1}{R1}+\tfrac{1}{R2} & -\tfrac{1}{R2} & 0 & 0 \\
0 & -\tfrac{1}{R2} & \tfrac{1}{R2} & 0 & 1 \\
1 & 0 & 0 & 0 & 0 \\
0 & v & 1 & 0 & 0 \\
\end{bmatrix}
\cdot
\begin{bmatrix}
V1 \\
V2 \\
V3 \\
I\_V0 \\
I\_VCVS \\
\end{bmatrix}
=
\begin{bmatrix}
0 \\
0 \\
0 \\
U0 \\
0 \\
\end{bmatrix}
$\end{adjustbox} \\
\end{xltabular}
\endgroup
\end{document}
然而,我认为这并不是表达你的想法的好方法:阅读狭窄的专栏很困难。
\documentclass[a4paper]{article}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\usepackage{newtxtext,newtxmath} % Times font
\usepackage{amsmath}
%\usepackage{amssymb} % not with newtx
\begin{document}
\begin{enumerate}
\setcounter{enumi}{4}% just to get 5 and 6 as in your example
\item Mit dem Operationsverstärker wird ähnlich verfahren: hier wird der
Ausgangsstrom I\_VCVS dem Gleichungssystem hinzugefügt. Alle Elemente
der Netzliste sind damit abgearbeitet.
\[
\begin{bmatrix}
\tfrac{1}{R1} & -\tfrac{1}{R1} & 0 & 0 & 1 & 0 \\
-\tfrac{1}{R1} & \tfrac{1}{R1}+\tfrac{1}{R2} & -\tfrac{1}{R2} & 0 & 0 & 0 \\
0 & -\tfrac{1}{R2} & \tfrac{1}{R2} & 0 & 0 & 1 \\
0 & 0 & 0 & 0 & -1 & 0 \\
1 & 0 & 0 & -1 & 0 & 0 \\
0 & v & 1 & 0 & 0 & 0 \\
\end{bmatrix}
\cdot
\begin{bmatrix}
V1 \\
V2 \\
V3 \\
0 \\
I\_V0 \\
I\_VCVS \\
\end{bmatrix}
=
\begin{bmatrix}
0 \\
0 \\
0 \\
0 \\
U0 \\
0 \\
\end{bmatrix}
\]
\item Zum Abschluss werden die zum Masse-Potential gehörende Zeile und Spalte
wegen ihrer linearen Abhängigkeit entfernt. Das Ergebnis ist gesuchte
\textbf{MNA}-Gleichungssystem. Auf diese Weise stellt im Übrigen auch
\textbf{SPICE} seine Netzwerkgleichungen auf
\[
\begin{bmatrix}
\tfrac{1}{R1} & -\tfrac{1}{R1} & 0 & 1 & 0 \\
-\tfrac{1}{R1} & \tfrac{1}{R1}+\tfrac{1}{R2} & -\tfrac{1}{R2} & 0 & 0 \\
0 & -\tfrac{1}{R2} & \tfrac{1}{R2} & 0 & 1 \\
1 & 0 & 0 & 0 & 0 \\
0 & v & 1 & 0 & 0 \\
\end{bmatrix}
\cdot
\begin{bmatrix}
V1 \\
V2 \\
V3 \\
I\_V0 \\
I\_VCVS \\
\end{bmatrix}
=
\begin{bmatrix}
0 \\
0 \\
0 \\
U0 \\
0 \\
\end{bmatrix}
\]
\end{enumerate}
\end{document}
答案2
即使下定决心对代码进行精简和简化,实际上也很难让xltabular
环境适合文本块的宽度。
有没有更好的解决办法?
如果您决定使布局不那么拥挤(例如,通过切换到枚举列表设置),您的读者几乎肯定会感激的。
\documentclass{article}
\usepackage{graphicx}
\usepackage{xltabular}
\usepackage{amsmath,amssymb}
\renewcommand{\arraystretch}{1.5} % '2.0' is much too profligate
% new:
\usepackage{enumitem}
\usepackage{ragged2e} % for '\Centering' and '\RaggedRight' macros
\usepackage[ngerman]{babel}
\begin{document}
%% Layout #1: 'xltabular'
\begingroup
\setlength\arraycolsep{3pt} % default: 5pt
\setlength\tabcolsep{2pt} % default: 6pt
\noindent
\begin{xltabular}{\textwidth}{@{}
l
>{\RaggedRight}X
>{\Centering}p{0.7\textwidth}
@{}}
5 &
Mit dem Operationsverstärker wird ähnlich verfahren: hier wird der Ausgangsstrom I\_VCVS dem Gleichungssystem hinzugefügt. Alle Elemente der Netzliste sind damit abgearbeitet. &
\raisebox{-.85\height}{%
$\begin{bmatrix}
\frac{1}{R1} & -\frac{1}{R1} & 0 & 0 & 1 & 0 \\
-\frac{1}{R1} & \frac{1}{R1}+\frac{1}{R2} & -\frac{1}{R2} & 0 & 0 & 0 \\
0 & -\frac{1}{R2} & \frac{1}{R2} & 0 & 0 & 1 \\
0 & 0 & 0 & 0 & -1 & 0 \\
1 & 0 & 0 & -1 & 0 & 0 \\
0 & v & 1 & 0 & 0 & 0 \\
\end{bmatrix}%\cdot
\begin{bmatrix}
V1 \\
V2 \\
V3 \\
0 \\
I\_V0 \\
I\_VCVS \\
\end{bmatrix}=
\begin{bmatrix}
0 \\
0 \\
0 \\
0 \\
U0 \\
0 \\
\end{bmatrix}$}
\\
6 &
Zum Abschluss werden die zum Masse-Potential gehörende Zeile und Spalte wegen ihrer linearen Abhängigkeit entfernt. Das Ergebnis ist gesuchte \textbf{MNA}-Gleichungssystem. Auf diese Weise stellt im Übrigen auch \textbf{SPICE} seine Netzwerkgleichungen auf &
\raisebox{-.85\height}{%
$\begin{bmatrix}
\frac{1}{R1} & -\frac{1}{R1} & 0 & 1 & 0 \\
-\frac{1}{R1} & \frac{1}{R1}+\frac{1}{R2} & -\frac{1}{R2} & 0 & 0 \\
0 & -\frac{1}{R2} & \frac{1}{R2} & 0 & 1 \\
1 & 0 & 0 & 0 & 0 \\
0 & v & 1 & 0 & 0 \\
\end{bmatrix}%\cdot
\begin{bmatrix}
V1 \\
V2 \\
V3 \\
I\_V0 \\
I\_VCVS \\
\end{bmatrix}=
\begin{bmatrix}
0 \\
0 \\
0 \\
U0 \\
0 \\
\end{bmatrix}$}
\end{xltabular}
\endgroup
\clearpage
%% Layout #2: use an enumerated list
\begin{enumerate}[start=5,left=0pt,label=\arabic*]
\item Mit dem Operationsverstärker wird ähnlich verfahren: hier wird der Ausgangsstrom I\_VCVS dem Gleichungssystem hinzugefügt. Alle Elemente der Netzliste sind damit abgearbeitet.
\[
\begin{bmatrix}
\frac{1}{R1} & -\frac{1}{R1} & 0 & 0 & 1 & 0 \\
-\frac{1}{R1} & \frac{1}{R1}+\frac{1}{R2} & -\frac{1}{R2} & 0 & 0 & 0 \\
0 & -\frac{1}{R2} & \frac{1}{R2} & 0 & 0 & 1 \\
0 & 0 & 0 & 0 & -1 & 0 \\
1 & 0 & 0 & -1 & 0 & 0 \\
0 & v & 1 & 0 & 0 & 0 \\
\end{bmatrix}%\cdot
\begin{bmatrix}
V1 \\
V2 \\
V3 \\
0 \\
I\_V0 \\
I\_VCVS \\
\end{bmatrix}=
\begin{bmatrix}
0 \\
0 \\
0 \\
0 \\
U0 \\
0 \\
\end{bmatrix}
\]
\item Zum Abschluss werden die zum Masse-Potential gehörende Zeile und Spalte wegen ihrer linearen Abhängigkeit entfernt. Das Ergebnis ist gesuchte \textbf{MNA}-Gleichungssystem. Auf diese Weise stellt im Übrigen auch \textbf{SPICE} seine Netzwerkgleichungen auf.
\[
\begin{bmatrix}
\frac{1}{R1} & -\frac{1}{R1} & 0 & 1 & 0 \\
-\frac{1}{R1} & \frac{1}{R1}+\frac{1}{R2} & -\frac{1}{R2} & 0 & 0 \\
0 & -\frac{1}{R2} & \frac{1}{R2} & 0 & 1 \\
1 & 0 & 0 & 0 & 0 \\
0 & v & 1 & 0 & 0 \\
\end{bmatrix}%\cdot
\begin{bmatrix}
V1 \\
V2 \\
V3 \\
I\_V0 \\
I\_VCVS \\
\end{bmatrix}=
\begin{bmatrix}
0 \\
0 \\
0 \\
U0 \\
0 \\
\end{bmatrix}
\]
\end{enumerate}
\end{document}