我有以下代码:
\documentclass[11pt, spanish]{article}
%\usepackage{babel}
\usepackage[latin1]{inputenc}
\usepackage{geometry}
\geometry{legalpaper,
a4paper,
%top=25mm,
%bottom=25mm,
left=30mm,
right=30mm}
\usepackage{multicol}
\usepackage{hyperref}
\usepackage[fleqn]{mathtools}
%\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{relsize}
\usepackage{mathrsfs}
\numberwithin{equation}{section}
%\setlength{\jot}{1.5ex}%10pt}
\renewcommand{\theequation}{IV.\thesection.\arabic{equation}}
\title{Control discreto}
\begin{document}
\section{Asignación de especificaciones}\label{SPECS}
\vspace{-12mm}
\begin{multicols}{2}
\begin{equation}
G_{1}(s) = \dfrac{k_{c}} {\tau_{c} * s + 1} \label{REF1}
\end{equation}
\begin{equation}
G_{2}(s) = \dfrac{\omega_{n}^2} {s^2 + 2*\zeta*\omega_{n}*s + \omega_{n}^2} \label{REF2}
\end{equation}
\end{multicols}
\end{document}
这将产生以下输出:
几乎可以了,但是:
- 我希望方程式编号对于两个方程式具有相同的间距(自动间距或指定它无关紧要)
- 我想知道是否有其他方法可以消除多列之前的空白
\vspace{-12mm}
,也许更“严格”?
另一方面,我不明白为什么不包括 hyperref 包会产生这个输出:
希望大家能轻松回答这个问题并帮助我,这是我论文的最后一点。
提前致谢。
答案1
首先,您的两个问题不符合标题,所以我将全部回答。
标题:如何左对齐问题编号:只需添加选项
leqno
即可\documentclass[…]{article}
两个方程的间距相同:这会自动发生。
多列上方没有垂直空间:正如 Skillmon 在他的评论中指出的那样:
\setlength{\multicolsep}{0pt}
在多列之前添加。
因此,更正后的代码为:
\documentclass[leqno,11pt, spanish]{article}
%\usepackage{babel}
\usepackage[latin1]{inputenc}
\usepackage{geometry}
\geometry{legalpaper,
a4paper,
%top=25mm,
%bottom=25mm,
left=30mm,
right=30mm}
\usepackage{multicol}
\usepackage{hyperref}
\usepackage[fleqn]{mathtools}
%\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{relsize}
\usepackage{mathrsfs}
\numberwithin{equation}{section}
%\setlength{\jot}{1.5ex}%10pt}
\renewcommand{\theequation}{IV.\thesection.\arabic{equation}}
\title{Control discreto}
\setlength{\multicolsep}{0pt}
\begin{document}
\section{Asignación de especificaciones}\label{SPECS}
\vspace{-12mm}
\begin{multicols}{2}
\begin{equation}
G_{1}(s) = \dfrac{k_{c}} {\tau_{c} * s + 1} \label{REF1}
\end{equation}
\begin{equation}
G_{2}(s) = \dfrac{\omega_{n}^2} {s^2 + 2*\zeta*\omega_{n}*s + \omega_{n}^2} \label{REF2}
\end{equation}
\end{multicols}
\end{document}
输出:
答案2
这为每个方程保留了一个与其宽度成比例的空间。
\documentclass[11pt, spanish]{book}
\usepackage{babel}
%\usepackage[latin1]{inputenc}
\usepackage{geometry}
\geometry{
a4paper,
%top=25mm,
%bottom=25mm,
left=30mm,
right=30mm,
}
\usepackage[fleqn,leqno]{mathtools}
\usepackage{amsfonts}
\usepackage{environ,xparse}
\usepackage{lipsum} % for context
\usepackage{hyperref}
\renewcommand{\thechapter}{\Roman{chapter}}
\numberwithin{equation}{section}
\ExplSyntaxOn
\NewEnviron{doubleequation}
{
\saiz_doubleeq:V \BODY
}
\seq_new:N \l__saiz_doubleeq_seq
\box_new:N \l__saiz_doubleeq_box
\fp_new:N \l__saiz_doubleeq_l_fp
\fp_new:N \l__saiz_doubleeq_r_fp
\cs_new_protected:Nn \saiz_doubleeq:n
{
\seq_set_split:Nnn \l__saiz_doubleeq_seq { \\ } { #1 }
% measure the left equation
\hbox_set:Nn \l__saiz_doubleeq_box
{
\cs_set_eq:NN \label \use_none:n
$\displaystyle\seq_item:Nn \l__saiz_doubleeq_seq { 1 }$
}
\fp_set:Nn \l__saiz_doubleeq_l_fp
{ \dim_to_fp:n { \box_wd:N \l__saiz_doubleeq_box } }
% measure the right equation
\hbox_set:Nn \l__saiz_doubleeq_box
{
\cs_set_eq:NN \label \use_none:n
$\displaystyle\seq_item:Nn \l__saiz_doubleeq_seq { 2 }$
}
\fp_set:Nn \l__saiz_doubleeq_r_fp
{ \dim_to_fp:n { \box_wd:N \l__saiz_doubleeq_box } }
%
\[
\setlength{\abovedisplayskip}{0pt}
\begin{minipage}
{
\fp_eval:n
{
\l__saiz_doubleeq_l_fp / ( \l__saiz_doubleeq_l_fp + \l__saiz_doubleeq_r_fp )
}
\displaywidth
}
\begin{equation}\seq_item:Nn \l__saiz_doubleeq_seq { 1 }\end{equation}
\end{minipage}
\begin{minipage}
{
\fp_eval:n
{
\l__saiz_doubleeq_r_fp / ( \l__saiz_doubleeq_l_fp + \l__saiz_doubleeq_r_fp )
}
\displaywidth
}
\begin{equation}\seq_item:Nn \l__saiz_doubleeq_seq { 2 }\end{equation}
\end{minipage}
\]
}
\cs_generate_variant:Nn \saiz_doubleeq:n { V }
\ExplSyntaxOff
\begin{document}
\setcounter{chapter}{3}
\chapter{Control discreto}
\section{Asignación de especificaciones}\label{SPECS}
\lipsum*[3]
\begin{doubleequation}
G_{1}(s) = \frac{k_{c}} {\tau_{c}s + 1} \label{REF1}
\\
G_{2}(s) = \frac{\omega_{n}^2} {s^2 + 2\zeta\omega_{n}s + \omega_{n}^2} \label{REF2}
\end{doubleequation}
\lipsum*[4]
\begin{equation}
G_{3}(s)=s^2
\end{equation}
\lipsum[5]
\end{document}
答案3
正如 Dave 所建议的,minipage 是这种情况的正确选择:
\begin{minipage}{0.4\linewidth}
\begin{equation}
G_{1}(s) = \dfrac{k_{c}} {\tau_{c} * s + 1} \label{REF1}
\end{equation}
\end{minipage}
\begin{minipage}{0.55\linewidth}
\begin{equation}
G_{2}(s) = \dfrac{\omega_{n}^2} {s^2 + 2*\zeta*\omega_{n}*s + \omega_{n}^2} \label{REF2}
\end{equation}
\end{minipage}
如您所见,每个方程式及其编号之间的间距几乎相同。我想要避免的是多列空间分布不均(如我发布的第一个示例所示)。
问题其实很简单,多列环境将线宽一分为二,使得第二个方程几乎与其编号重叠。
为了解决这个问题,我发现更简单的方法是手动调整“列”宽度,这不是一个真正严格的方法,但对我来说很有效(因为我只有少数这种情况)。
另一方面,\setlength\multicolsep{0pt}
当使用多列环境时,技巧可以完成工作。
感谢大家的帮助