如果这个问题已经得到解答,我很抱歉,但是我在任何地方都找不到这个特定的问题。
在显示的数学环境之后,有一个微小的缩进,无论我尝试做什么,似乎都无法摆脱它。例如,此代码:
language, and defined in~\Cref{fig:semanticsEnv,fig:semantics}. The judgment
takes the form
\[
Judgement
\]
where $\Sigma : TermVar -> Exp$ is an environment mapping term variables to
expressions and is what we use to allow us to deal with function
产生以下输出:
出于无奈,我也尝试添加,\noindent
但输出完全相同。
真正让我困惑的是,它甚至没有足够的段落缩进,所以它似乎与间距/文本打包算法有关。
任何帮助都将非常感激。
编辑1:
我已经设法解决了这个问题,但我不明白它为什么有效......
我检查并确保后面没有任何空格字符,\]
但空格仍然存在。但是,一旦我将“where”放在与结尾相同的行上\]
:\]where..
空格就消失了。即,以下内容消除了奇怪的缩进:
language, and defined in~\Cref{fig:semanticsEnv,fig:semantics}. The judgment
takes the form
\[
Judgement
\]where $\Sigma : TermVar -> Exp$ is an environment mapping term variables to
expressions and is what we use to allow us to deal with function
编辑 2(带有一些可编译的示例):
看起来好像这是由我正在使用的特定(非标准)类或该类与包的交互引起的问题amsmath
。
这是一个最小的可编译示例(使用pdflatex
)。虽然您需要 JFP 类(以及可能的支持文件,所有这些都可以在
这里。
看起来好像只有当\RequirePackage{amsmath}
存在该线时才会发生这种情况。
以下是示例:
\NeedsTeXFormat{LaTeX2e}
\RequirePackage{amsmath}
\documentclass{./styles/jfp1}
\title{Test}
\author[foo]
{FOO}
\begin{document}
\section{No Indentation Afterwards}
\lipsum[1]
\[
Math
\]where \lipsum[1]
\section{Indentation Afterwards}
\lipsum[1]
\[
Math
\]
where \lipsum[1]
\end{document}
答案1
该jfp1
课程确实
\@namedef{equation*}{$$}
\@namedef{endequation*}{$$}
这是完全错误的。1
加载amsmath
并不是\RequirePackage
解决方案。
\documentclass{jfp1}
% fix the class's abominable definitions
\expandafter\let\csname equation*\endcsname\relax
\expandafter\let\csname endequation*\endcsname\relax
%% end fix
\usepackage{amsmath}
\usepackage{lipsum}
\title{Test}
\author[foo]{FOO}
\begin{document}
\section{No Indentation Afterwards}
\lipsum[1]
\[
Math
\]where \lipsum[1]
\section{Indentation Afterwards}
\lipsum[1]
\[
Math
\]
where \lipsum[1]
\end{document}
1准确地说,这是一种令人憎恶的行为。
这个类应该做什么?很简单:
\AtBeginDocument{%
\@ifpackageloaded{amsmath}
{}% do nothing, equation* is already available
{\newenvironment{equation*}{\displaymath}{\enddisplaymath}}%
}