我只是想知道如何将标题放在单个图形的右侧,而不修改整个文档的标题位置,就像 rightcaption(原文如此)包所做的那样。
floatrow 包破坏了图形的对齐,并且也需要大量的技术修改。
我需要标题的图形是一堆对齐的方程式。我认为现在应该有一种通用的方法来做到这一点,因为它是在图形环境中,但所有类似的问题都非常具体。如上所述,一些可能的解决方案最终破坏了对齐。
这是我需要在其右侧添加标题的图表:
\begin{figure}
$\begin{aligned}T&=\begin{bmatrix}
b_1 & a_1 & 0 & \cdots & \cdots & \cdots & 0\\
c_1 & b_2 & \ddots & \ddots & & & \vdots\\
0 & c_2 & \ddots & a_{k-1} & \ddots & & \vdots\\
\vdots & \ddots & \ddots & b_k & \ddots & \ddots & \vdots\\
\vdots & & \ddots & c_k & \ddots & a_{n-2} & 0\\
\vdots & & & \ddots & \ddots & b_{n-1} & a_{n-1}\\
0 & \cdots & \cdots & \cdots & 0 & c_{n-1} & b_n\\
\end{bmatrix}\nonumber\\
L&=\begin{bmatrix}
1 & 0 & \cdots & \cdots & \cdots & \cdots & 0\\
\frac{c_1}{d_1} & \ddots & \ddots & & & & \vdots\\
0 & \frac{c_2}{d_2} & \ddots & \ddots & & & \vdots\\
\vdots & \ddots & \ddots & \ddots & \ddots & & \vdots\\
\vdots & & \ddots & \frac{c_k}{d_k} & \ddots & \ddots & \vdots\\
\vdots & & & \ddots & \ddots & \ddots & 0\\
0 & \cdots & \cdots & \cdots & 0 & \frac{c_{n-1}}{d_{n-1}} & 1\\
\end{bmatrix}\nonumber\\
U&=\begin{bmatrix}
b_1 & a_1 & 0 & \cdots & \cdots & \cdots & 0\\
0 & d_2 & \ddots & \ddots & & & \vdots\\
\vdots & \ddots & \ddots & a_{k-1} & \ddots & & \vdots\\
\vdots & & \ddots & d_k & \ddots & \ddots & \vdots\\
\vdots & & & \ddots & \ddots & a_{n-2} & 0\\
\vdots & & & & \ddots & d_{n-1} & a_{n-1}\\
0 & \cdots & \cdots & \cdots & \cdots & 0 & d_n\\
\end{bmatrix}\nonumber\end{aligned}$\end{figure}
前言:
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[english]{babel}
\usepackage[]{amsthm}
\usepackage[]{amssymb}
\usepackage[]{amsmath}
\usepackage{textcomp}
\usepackage{chngcntr}
\usepackage{graphicx}
\usepackage[export]{adjustbox}
\usepackage{tikz}
\usetikzlibrary{matrix}
\usepackage{wrapfig}
\usepackage{listings}
\usepackage{xcolor}
\usepackage[T1]{fontenc}
\usepackage[numbered]{matlab-prettifier}
\lstset{frame=tb,
language=Java,
aboveskip=3mm,
belowskip=3mm,
showstringspaces=false,
columns=flexible,
basicstyle={\small\ttfamily},
numberstyle=\tiny\color{gray},
keywordstyle=\color{blue},
commentstyle=\color{dkgreen},
stringstyle=\color{mauve},
breaklines=true,
breakatwhitespace=true,
tabsize=3}
空间不大,所以我只想用类似这样的内容填充那个狭窄的空白:“图 k:$n\times n$ 三对角矩阵的 $LU$ 分解”
感谢大家的帮助。我确信这是糟糕的编程,但这是我在挽救,这使得找到一个干净的解决方案变得很棘手。
答案1
带有标题包和小页面的解决方案:
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[english]{babel}
\usepackage[]{amsthm}
\usepackage[]{amssymb}
\usepackage[]{amsmath}
\usepackage{textcomp}
\usepackage{chngcntr}
\usepackage{graphicx}
\usepackage[export]{adjustbox}
\usepackage{tikz}
\usetikzlibrary{matrix}
\usepackage{wrapfig}
\usepackage{caption}%ADDED
\usepackage{lipsum}%ADDED
\usepackage{listings}
\usepackage{xcolor}
\usepackage[T1]{fontenc}
%\usepackage[numbered]{matlab-prettifier}
\lstset{frame=tb,
language=Java,
aboveskip=3mm,
belowskip=3mm,
showstringspaces=false,
columns=flexible,
basicstyle={\small\ttfamily},
numberstyle=\tiny\color{gray},
keywordstyle=\color{blue},
commentstyle=\color{dkgreen},
stringstyle=\color{mauve},
breaklines=true,
breakatwhitespace=true,
tabsize=3}
\begin{document}
\lipsum[1-6]
\medskip
\begin{raggedleft}
\begin{minipage}[c]{0.6\textwidth}
$\begin{aligned}T&=\begin{bmatrix}
b_1 & a_1 & 0 & \cdots & \cdots & \cdots & 0\\
c_1 & b_2 & \ddots & \ddots & & & \vdots\\
0 & c_2 & \ddots & a_{k-1} & \ddots & & \vdots\\
\vdots & \ddots & \ddots & b_k & \ddots & \ddots & \vdots\\
\vdots & & \ddots & c_k & \ddots & a_{n-2} & 0\\
\vdots & & & \ddots & \ddots & b_{n-1} & a_{n-1}\\
0 & \cdots & \cdots & \cdots & 0 & c_{n-1} & b_n\\
\end{bmatrix}\nonumber\\
L&=\begin{bmatrix}
1 & 0 & \cdots & \cdots & \cdots & \cdots & 0\\
\frac{c_1}{d_1} & \ddots & \ddots & & & & \vdots\\
0 & \frac{c_2}{d_2} & \ddots & \ddots & & & \vdots\\
\vdots & \ddots & \ddots & \ddots & \ddots & & \vdots\\
\vdots & & \ddots & \frac{c_k}{d_k} & \ddots & \ddots & \vdots\\
\vdots & & & \ddots & \ddots & \ddots & 0\\
0 & \cdots & \cdots & \cdots & 0 & \frac{c_{n-1}}{d_{n-1}} & 1\\
\end{bmatrix}\nonumber\\
U&=\begin{bmatrix}
b_1 & a_1 & 0 & \cdots & \cdots & \cdots & 0\\
0 & d_2 & \ddots & \ddots & & & \vdots\\
\vdots & \ddots & \ddots & a_{k-1} & \ddots & & \vdots\\
\vdots & & \ddots & d_k & \ddots & \ddots & \vdots\\
\vdots & & & \ddots & \ddots & a_{n-2} & 0\\
\vdots & & & & \ddots & d_{n-1} & a_{n-1}\\
0 & \cdots & \cdots & \cdots & \cdots & 0 & d_n\\
\end{bmatrix}\nonumber\end{aligned}$
\end{minipage}\end{raggedleft}\medskip\hfill
\begin{minipage}[c]{0.3\textwidth}
\begin{center}
%\includegraphics[width=0.2\textwidth]{example-image-a}
\captionof{figure}{my caption here that will break in lines if needed}
\end{center}
\end{minipage}
\lipsum[1-4]
\end{document}
输出:
答案2
如果将标题放在环境的右侧aligned
,您还必须决定将其放在顶部、中间还是底部。无论您怎么做,都有可能让标题看起来只与三个矩阵中的一个有关,而不是与整个三矩阵表达式有关。
为了避免这种风险,我会将标题放在环境的顶部或底部figure
。如果您担心保留(垂直)空白,请使用caption
小于默认值的选项加载包skip
。(默认跳过量为1\baselineskip
。)
我还会使用\centering
指令来使aligned
环境居中。另外,请注意,\nonumber
指令不是必需的,因为aligned
无论如何都不会对行进行编号。
(以下屏幕截图中的左侧和右侧框线是由showframe
包绘制的。)
\documentclass{article}
\usepackage{amsmath}
\usepackage[skip=0.25\baselineskip]{caption}
\begin{document}
\begin{figure}[t!]
\caption{$LU$ decomposition of an $n\times n$ tridiagonal matrix $T$}
\centering
$\begin{aligned}
T&=\begin{bmatrix}
\,b_1 & a_1 & 0 & \cdots & \cdots & \cdots & 0\\
c_1 & b_2 & \ddots & \ddots & & & \vdots\\
0 & c_2 & \ddots & a_{k-1} & \ddots & & \vdots\\
\vdots & \ddots & \ddots & b_k & \ddots & \ddots & \vdots\\
\vdots & & \ddots & c_k & \ddots & a_{n-2} & 0\\
\vdots & & & \ddots & \ddots & b_{n-1} & a_{n-1}\\
0 & \cdots & \cdots & \cdots & 0 & c_{n-1} & b_n\\
\end{bmatrix}\\[1ex]
L&=\begin{bmatrix}
1 & 0 & \cdots & \cdots & \cdots & \cdots & 0\,\\
\frac{c_1}{d_1} & \ddots & \ddots & & & & \vdots\\
0 & \frac{c_2}{d_2} & \ddots & \ddots & & & \vdots\\
\vdots & \ddots & \ddots & \ddots & \ddots & & \vdots\\
\vdots & & \ddots & \frac{c_k}{d_k} & \ddots & \ddots & \vdots\\
\vdots & & & \ddots & \ddots & \ddots & 0\\
0 & \cdots & \cdots & \cdots & 0 & \frac{c_{n-1}}{d_{n-1}} & 1\\
\end{bmatrix}\\[1ex]
U&=\begin{bmatrix}
\,b_1 & a_1 & 0 & \cdots & \cdots & \cdots & 0\\
0 & d_2 & \ddots & \ddots & & & \vdots\\
\vdots & \ddots & \ddots & a_{k-1} & \ddots & & \vdots\\
\vdots & & \ddots & d_k & \ddots & \ddots & \vdots\\
\vdots & & & \ddots & \ddots & a_{n-2} & 0\\
\vdots & & & & \ddots & d_{n-1} & a_{n-1}\\
0 & \cdots & \cdots & \cdots & \cdots & 0 & d_n\\
\end{bmatrix}
\end{aligned}$
\end{figure}
\end{document}