在数学模式下将文本置于页面边界(右对齐)

在数学模式下将文本置于页面边界(右对齐)

我偶然发现了这个答案https://tex.stackexchange.com/a/299988经过约翰·科米洛它使用 tikz 计算到页面边界的距离并将标签放在那里。

在此处输入图片描述

但是他的代码专门针对那个特定问题,所以通过解码@符号来实现它是合理的。

我试图自己理解他的代码是如何工作的,但无法实现这样的结果。我正在寻找一个简单的一次性解决方案,它将所需的文本放在数学模式中的任何地方。

答案1

使用 tikz,我成功实现了想要的结果。使用这样简单的代码,您将能够将任何文本放在页面的边缘。

在此处输入图片描述

\documentclass{article}
\usepackage{amsmath}    % for demonstration with cases environment
\usepackage{showframe}  % only for page borders (frame)

\usepackage{tikz}
\usetikzlibrary{calc}

\tikzset{taglike/.style={remember picture, overlay, shift={({0,0}-|{$(current page.east)-(\oddsidemargin+\hoffset+1in-3pt,0)$})},anchor=base east}}

\begin{document}

\[
\begin{cases}
x+y=6\\
x^2+y^2 = 18 \tikz[taglike]\node{(simple text)};
\end{cases}
\]

\end{document}

答案2

在此处输入图片描述

更新

显示的方程式的左对齐是使用依赖于一个参数(长度)的环境获得的。这个长度实际上可能在环境的定义中是固定的;它表示方程式(flegn已激活)接触文本左边距所需的左移位。

该环境不适用于简单文本,因为存在垂直移位,用于在前面的文本和数学表达式之间留出良好的垂直空间。

代码

\documentclass[11pt, a5paper]{article}
\usepackage[fleqn]{amsmath}

\newenvironment{fldisplay}[1]{%
  \begin{list}{}{%
    \setlength{\topsep}{0pt}%
    \setlength{\leftmargin}{#1}%
    \setlength{\rightmargin}{0pt}%
    \setlength{\listparindent}{\parindent}%
    \setlength{\itemindent}{\parindent}%
    \setlength{\parsep}{\parskip}%
  }%
  \item[]\vspace{-2.6ex}}{\end{list}}

\begin{document}

The simplest linear Diophantine equation takes the form
\begin{fldisplay}{-1.6\parindent}
  \begin{equation}
    \label{eq:1}
    ax + by = c,
  \end{equation}
\end{fldisplay}
where $a$, $b$, and $c$ are given integers. The solutions are
described by the following theorem: [\ldots]

\end{document}

以下是答案的第一个版本,其中由于各种原因,该问题并未真正得到解决。

在此处输入图片描述

我不清楚这是否是您想要的。如果是,那么您可以仅使用包fleqn的选项amsmath、环境\nonumber中的命令align以及 y 方程第三行的一些临时水平对齐来实现显示。

无论如何,为什么有人要写下像 (1) 这样的等式?我甚至没有从示例中考虑 (3)。

代码

\documentclass[11pt, a5paper]{article}
\usepackage[fleqn]{amsmath}
\usepackage{lipsum}

\begin{document}
\lipsum[2]

\begin{align}
  x = 1234[
  &(a+b) \nonumber \\
  &(c+d+e) \nonumber \\
  &(f+g)] 
\end{align}
\vspace{-6ex}
\begin{align}
  y
  &= 5[(h+i)+j] \nonumber \\
  &= 6[(k+l) \nonumber \\
  &\phantom{= 6[(} (m+n+o)]
\end{align}

\lipsum[3]
\end{document}

相关内容