如何在minipage/figure/tabular环境中顶部对齐Circuitikz电路图?
LaTeX Circuitikz 电路图顶部对齐与极点对齐实现
一、顶部对齐修改
原代码中tabular默认采用基线对齐(底部对齐),改为顶部对齐只需两处调整:
- 给
tabular环境添加[t]选项,让表格整体以顶部为基准对齐 - 给每个
\scalebox添加[valign=t]参数,确保每个缩放后的电路图单元格内部顶部对齐
二、同一极点高度对齐
要让三个电路图的关键极点(比如输入端口的$R_0$左端)对齐到同一高度,需统一所有电路图的关键坐标:
- 将第一个电路图的输入起点从
(0,3)改为(0,4),同步调整其他元件的y坐标,保持元件间相对布局不变,使三个图的输入极点y坐标一致
修改后的完整代码
\documentclass{article} \usepackage{graphicx} % Required for inserting images \usepackage{tikz,circuitikz} \usepackage[singlelinecheck=off]{caption} \usepackage{float} \begin{figure}[H] \begin{minipage}{\textwidth} \renewcommand{\arraystretch}{1.0} \centering \Large % 给tabular添加[t]选项实现表格整体顶部对齐 \begin{tabular}[t]{ccc} % scalebox添加[valign=t]实现单元格内顶部对齐 \scalebox[valign=t]{0.5}{ \begin{circuitikz}[] \draw[] % 统一输入极点y坐标为4,同步调整其他元件位置 (0,4) to [R, l=$\mathbf{R_0}$,o-] (2,4) -- (2,5) to [C, l=$\mathbf{Q_{1}}$] (6,5) -- (6,4) to [short, -o] (7,4) (2,4) -- (2,3) to [R, l=$\mathbf{R_1}$] (6,3) -- (6,4); \end{circuitikz} } & \scalebox[valign=t]{0.5}{ \begin{circuitikz}[] \draw[] (0,4) to [R, l=$R_0$,o-] (2,4) -- (2,5) to [C, l=$Q_{1}$] (8,5) -- (8,4) to [short, -o] (9,4) (2,4) -- (2,2) to [R, l=$R_1$] (4,2) -- (4,3) to [C, l=$Q_{2}$] (8,3) (4,2) -- (4,1) to [R, l=$R_2$] (8,1) -- (8,4); \end{circuitikz} } & \scalebox[valign=t]{0.5}{ \begin{circuitikz}[] \draw[] (0,4) to [R, l=$R_0$,o-] (2,4) -- (2,5) to [C, l=$Q_{1}$] (9,5) -- (9,4) to [short, -o] (10,4) (2,4) -- (2,2) to [R, l=$R_1$] (4,2) -- (4,3) to [C, l=$Q_{2}$] (9,3) (4,2) -- (4,0) to [R, l=$R_2$] (6,0) -- (6,1) to [R, l=$R_3$] (9,1) (6,0) -- (6,-1) to [C, l=$Q_{3}$] (9,-1) -- (9,4); \end{circuitikz} }\\ \small(a) Randles & \small(b) 2 TC & \small(c) 3 TC % 修正原代码重复标签问题 \end{tabular} \end{minipage} \vspace{-3pt} \captionsetup{labelfont=bf,labelsep=period,font=small} \caption{description} \label{fig:circuits} \end{figure}
额外说明
- 原代码中第三个子图的标签重复用了
(b),已修正为(c) - 如果需要对齐输出极点,只需同理统一输出端口的y坐标即可
内容的提问来源于stack exchange,提问作者Anibal Marrero
相关产品推荐
相关产品推荐

