我遇到了以下问题。我试图将 3 个方程放在一行中,标签为 2a、2b 和 2c。到目前为止(我使用的是 tabularx),我只能将 3 个方程放在同一行,数字为 2、3 和 4。此外,数字位于方程下方,而不是旁边。我可能还必须重新调整方程的大小。我尝试了几种方法,但不幸的是没有奏效。你能帮帮我吗?这是代码,提前谢谢
\documentclass[10pt,a4paper,titlepage]{book}
\usepackage[paperwidth=165mm, paperheight=238mm, left=2.5cm,right=2cm,top=2cm,bottom=2cm]{geometry}
\usepackage[utf8]{inputenc}
\usepackage{tabularx}
\newcommand*{\Resize}[2]{\resizebox{#1}{!}{$#2$}}%
\usepackage[english]{babel}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{empheq, nccmath}
\usepackage{amsfonts}
\usepackage{showframe}
\usepackage{cases}
\usepackage{subcaption}
\usepackage{adjustbox}
\usepackage{showframe}
\usepackage{lineno}
\begin{document}
begin{equation}
\label{eq: time}
T_{m}^{v+1} - T_{m}^{v}
\end{equation}
\noindent\begin{tabularx}{\textwidth}{@{}XXX@{}}
\begin{equation}
\eta_{em,str1} = \frac { Q_{em,ideal,str1}} {Q_{em,str1}}
\label{eqn:1}
\end{equation} &
\begin{equation}
\eta_{em,str2} = \frac { Q_{em,ideal,str2}} {Q_{em,str2}}
\label{eqn:2}
\end{equation} &
\begin{equation}
\eta_{em,ctrl} = \frac { Q_{em,ideal,ctrl}} {Q_{em,ctrl}}
\label{eqn:3}
\end{equation}
\end{tabularx}
\end{document}
答案1
最好的解决办法是:不要这样做......方程变得难以阅读:
代码:
\usepackage[utf8]{inputenc}
\usepackage{tabularx}
\usepackage[english]{babel}
\usepackage{amssymb}
\usepackage{empheq, nccmath}
\usepackage{showframe}
\begin{document}
\begin{equation}
\label{eq: time}
T_{m}^{v+1} - T_{m}^{v}
\end{equation}
\begin{subequations}
\setlength\tabcolsep{2pt}
\tiny
\noindent\begin{tabularx}{\textwidth}{@{}XXX@{}}
\begin{equation}
\eta_{em,str1} = \frac { Q_{em,ideal,str1}} {Q_{em,str1}}
\label{eqn:1}
\end{equation} &
\begin{equation}
\eta_{em,str2} = \frac { Q_{em,ideal,str2}} {Q_{em,str2}}
\label{eqn:2}
\end{equation} &
\begin{equation}
\eta_{em,ctrl} = \frac { Q_{em,ideal,ctrl}} {Q_{em,ctrl}}
\label{eqn:3}
\end{equation}
\end{tabularx}
\end{subequations}
\end{document}
附录:您的方程式太过简单,无法用文字表达,因此也许是时候使用一些非常规的解决方案了:
- 使用别名使索引更短,并在文本中给出它们的含义
- 将索引拆分成更多行
- ...
最后的可能性(使用多行索引)给出以下代码:
\usepackage[utf8]{inputenc}
\usepackage{tabularx}
\usepackage[english]{babel}
\usepackage{amssymb}
\usepackage{empheq, nccmath}
\usepackage{showframe}
\begin{document}
\begin{equation}
\label{eq: time}
T_{m}^{v+1} - T_{m}^{v}
\end{equation}
\begin{subequations}
\setlength\tabcolsep{2pt}
%\tiny
\noindent\begin{tabularx}{\textwidth}{@{}XXX@{}}
\begin{equation}
\eta_{\substack{em,\\str1}} = \frac {Q_{\substack{em,\\ ideal,\\str1}}}
{Q_{\substack{em,\\str1}}}
\label{eqn:1}
\end{equation} &
\begin{equation}
\eta_{\substack{em,\\str2}} = \frac {Q_{\substack{em,\\ ideal,\\str2}}}
{Q_{\substack{em,\\str2}}}
\label{eqn:2}
\end{equation} &
\begin{equation}
\eta_{\substack{em,\\ctrl}} = \frac {Q_{\substack{em,\\ ideal,\\ctrl}}}
{Q_{\substack{em,\\ctrl}}}
\label{eqn:3}
\end{equation}
\end{tabularx}
\end{subequations}
\end{document}
编辑:
正如@clemens 在他的评论中指出的那样,下标可能不应该处于数学模式(因为每个字符不是单独的变量)...它们看起来确实是文本。将它们转换为文本有更多可能性:使用\text{...}
表示直立形状,或\textit{...}
使用 表示斜体形状。对于第一种情况,中的方程式代码tabularx
为:
\begin{subequations}
\setlength\tabcolsep{0pt}
\noindent\begin{tabularx}{\textwidth}{XXX}
\begin{equation}
\eta_{\substack{\;\text{em},\\ \text{str1}}}
= \frac{Q_{\substack{\text{em},\\ \text{ideal},\\ \text{str1}}}}
{Q_{\substack{\text{em},\\ \text{str1}}}}
\label{eqn:1}
\end{equation} &
\begin{equation}
\eta_{\substack{\;\text{em},\\ \text{str2}}}
= \frac{Q_{\substack{\text{em},\\ \text{ideal},\\ \text{str2}}}}
{Q_{\substack{\text{em},\\ \text{str2}}}}
\label{eqn:2}
\end{equation} &
\begin{equation}
\eta_{\substack{\;\text{em},\\ \text{ctrl}}}
= \frac{Q_{\substack{\text{em},\\ \text{ideal},\\ \text{ctrl}}}}
{Q_{\substack{\text{em},\\ \text{ctrl}}}}
\label{eqn:3}
\end{equation}
\end{tabularx}
\end{subequations}
这使:
答案2
就我个人而言,我不得不说,将三个子方程并排排成一行看起来非常糟糕。要么字体大小必须大幅缩小,以至于方程几乎无法阅读,要么需要在下标项中引入太多换行符,以损害可读性。继续就我个人而言,我还认为,如果方程足够重要,需要分配单独的方程编号,那么每行列出一个方程是个好主意。因此,我建议您使用环境align
来显示三个子方程。
请注意,将下标字符串“em”、“str1”、“str2”、“ideal”和“ctrl”显示为公式并不是一个好主意。相反,请使用\mathit
(“数学斜体”)或\mathrm
(“数学罗马”)字母作为下标项。有些人主张使用直立(“罗马”)字母,其他人则认为使用斜体字母是可以的。只需确保选择一种方法或另一种方法,并在整个文档中保持一致的使用即可。下面显示的代码和屏幕截图说明了这两种方法产生的“外观”。
另外:由于您正在将选项传递paperwidth=165mm
paperheight=238mm
给包,因此将其指定为文档类选项geometry
有点令人困惑- 我会放弃该选项。a4paper
a4paper
\documentclass[10pt,titlepage]{book}
\usepackage[paperwidth=165mm, paperheight=238mm,
left=2.5cm,right=2cm,vmargin=2cm,showframe]{geometry}
\usepackage[utf8]{inputenc}
\usepackage[english]{babel}
\usepackage{amsmath}
\setlength\textwidth{8cm} % just for this example
\begin{document}
\begin{equation} \label{eq:time}
T_{m}^{v+1} - T_{m}^{v}
\end{equation}
\begin{subequations}
\noindent \texttt{\textbackslash mathit} for subscript terms:
\begin{align}
\eta_{\mathit{em},\mathit{str}1} &=
\frac { Q_{\mathit{em},\mathit{ideal},\mathit{str}1}} {Q_{\mathit{em},\mathit{str}1}}
\label{eqn:1}\\
\eta_{\mathit{em},\mathit{str}2} &=
\frac { Q_{\mathit{em},\mathit{ideal},\mathit{str}2}} {Q_{\mathit{em},\mathit{str}2}}
\label{eqn:2} \\
\eta_{\mathit{em},\mathit{ctrl}} &=
\frac { Q_{\mathit{em},\mathit{ideal},\mathit{ctrl}}} {Q_{\mathit{em},\mathit{ctrl}}}
\label{eqn:3}
\end{align}
\bigskip
\noindent \texttt{\textbackslash mathrm} for subscript terms:
\begin{align}
\eta_{\mathrm{em},\mathrm{str}1} &=
\frac { Q_{\mathrm{em},\mathrm{ideal},\mathrm{str}1}} {Q_{\mathrm{em},\mathrm{str}1}}
\label{eqn:1}\\
\eta_{\mathrm{em},\mathrm{str}2} &=
\frac { Q_{\mathrm{em},\mathrm{ideal},\mathrm{str}2}} {Q_{\mathrm{em},\mathrm{str}2}}
\label{eqn:2} \\
\eta_{\mathrm{em},\mathrm{ctrl}} &=
\frac { Q_{\mathrm{em},\mathrm{ideal},\mathrm{ctrl}}} {Q_{\mathrm{em},\mathrm{ctrl}}}
\label{eqn:3}
\end{align}
\end{subequations}
\end{document}