编辑:

编辑:

我偶尔需要在大型技术文档中插入占位符方程(或方程组),以便稍后填写。当引用文本中的方程或对齐(“如我们所见Eq.~\ref{eq:EnergyStates}...”或“如我们所见\eqref{eq:EnergyStates}...”)以及当我想查看最终布局时,这很有用。

我们有lipsum针对文本和example-image图像的。是否有针对示例方程或 eqaligns(指定大小或排版行数)的等效项?

如果没有的话,我谦虚地建议采用如下格式:

\example-align[n]

其中n是一个整数,表示预期的排版行数。

然后我们可以在代码中包含:

\begin{align} \label{eq:EnergyStates}
\example-align[4]
\end{align}

(当然,文本的确切高度将取决于均衡器本身,但这很像调用段落,lipsum我们无法提前确定将包含的文本长度。)

我通常不需要每个对齐(或 eqarray 线)的方程编号......只需要整个集合的方程编号。

我还希望排版文档能够显示真实的方程式(积分符号、分数、平方根符号……)来给出最终外观的感觉。毕竟,我们正是通过 lipsum 来实现这一点的。

答案1

为了给您一个起点,请参阅以下 mwe。似乎您需要最重要的功能才能为示例公式添加标签,以便您可以使用\eqref或引用它\ref。示例公式的行数似乎并不那么重要(您如何知道稍后插入实际公式需要多少行?)所以我把它留给你去做...

让我们定义以下命令\blindequation(请注意,您建议的命令名称不可用,因为-命令名称中不允许包含!),并为标签定义一个参数:

%\blindequation{eq:label}
\newcommand{\blindequation}[1]{%
  \begin{equation}
    \int_0^\infty e^{-\alpha x^2} \mathrm{d}x = 
    \frac12\sqrt{\int_{-\infty}^\infty e^{-\alpha x^2}}
    \mathrm{d}x\int_{-\infty}^\infty e^{-\alpha y^2}\mathrm{d}y =
    \frac12\sqrt{\frac{\pi}{\alpha}} \label{#1}
 \end{equation}
} 

我们可以使用例如\blindequation{eg:einstein},然后我们可以用\ref{eg:einstein}或引用它\eqref{eq:einstein}

因此,请参阅以下完整的 mwe

\documentclass{article}

\usepackage{amsmath}

%\blindequation{eq:label}
\newcommand{\blindequation}[1]{%
  \begin{equation}
    \int_0^\infty e^{-\alpha x^2} \mathrm{d}x = 
    \frac12\sqrt{\int_{-\infty}^\infty e^{-\alpha x^2}}
    \mathrm{d}x\int_{-\infty}^\infty e^{-\alpha y^2}\mathrm{d}y =
    \frac12\sqrt{\frac{\pi}{\alpha}} \label{#1}
 \end{equation}
}


\begin{document}

\blindequation{eq:EnergyStates}

See~\eqref{eq:EnergyStates} \dots
As we see in Eq.~\ref{eq:EnergyStates} \dots

%\blindtext

\blindequation{eq:Energy}
See~\eqref{eq:Energy} \dots
As we see in Eq.~\ref{eq:Energy} \dots

\end{document}

及其结果:

生成的 pdf

这样做的好处是,您可以将稍后要使用的标签用于示例公式,并且可以检查对公式的引用是否正确。缺点是您必须为每个示例公式添加一个标签,而我没有证明代码中有一个标签……

我认为这是一个起点,您可以使用它来开发您(和您的团队?)工作所需的工具......

编辑:

要使用一个命令添加特殊数量的方程式,您可以使用以下定义,以便能够使用以下命令\blindequation[3]{eq:label}添加标有\label{eg:label}(第一行)、\label{eg:label-2}(第二行)和\label{eg:label-3}(第三行)的 3 行方程式:

%\blindequation[3]{eq:label}
\newcommand{\blindequation}[2][1]{%
  \ifcase#1\relax % 0 should not happen ...
    \or 
      \begin{align}
          a %= b         \label{#2}
      \end{align}
    \or
      \begin{align}
          a + x &= 2     \label{#2}\\
              x &= 2 - a \label{#2-2}
      \end{align}
    \else %all other possible numbers are handled here:
      \begin{align}
        a + b + x &= 3        \label{#2}\\
        a     + x &= 3 - b    \label{#2-2}\\
        x         &= 3 - b -a \label{#2-3}
      \end{align}
  \fi%
}

使用,\ifcase#1您可以决定需要多少条方程线(#1包含所需的线)。使用,\relax我们声明数字 0 永远不会发生。Comand\else确保处理更大的数字。例如,这里用定义的最后一个数字\else是三行,但因为您可以在命令中\else使用选项而没有错误消息,但只得到 3 行布局...[11]

如果只想标记 n 条方程式中的一行,可以使用以下代码进行定义:

  \begin{align}
      a + b + c +d +e +f +g +x &= 8                     \nonumber\\
      a + b + c +d +e +f    +x &= 8 -g                  \nonumber\\
      a + b + c +d +e       +x &= 8 -g -f               \nonumber\\
      a + b + c +d          +x &= 8 -g -f -e            \nonumber\\
      a + b + c             +x &= 8 -g -f -e -d         \label{#2}\\
      a + b                 +x &= 8 -g -f -e -d -c      \nonumber\\
      a                     +x &= 8 -g -f -e -d -c -b   \nonumber\\
                             x &= 8 -g -f -e -d -c -b -a\nonumber
  \end{align}

命令\nonumber不允许对行进行编号,当然你可以把 放入\label{#2}你通常想要编号的那行...

我不知道您正在使用哪种公式艺术,因此我只是在下面的 mwe 中添加了一个非常简单的方程系统,并让您在其中添加您想要看到的公式......

使用以下 mwe

\documentclass{article}

\usepackage{amsmath}

%\blindequation[3]{eq:label}
\newcommand{\blindequation}[2][1]{%
  \ifcase#1\relax % 0 should not happen ...
    \or 
      \begin{align}
          \int_0^\infty e^{-\alpha x^2} \mathrm{d}x = 
          \frac12\sqrt{\int_{-\infty}^\infty e^{-\alpha x^2}}
          \mathrm{d}x\int_{-\infty}^\infty e^{-\alpha y^2}\mathrm{d}y =
          \frac12\sqrt{\frac{\pi}{\alpha}} \label{#2}
      \end{align}
    \or
      \begin{align}
          a + x &= 2     \label{#2}\\
              x &= 2 - a \label{#2-2}
      \end{align}
    \or
      \begin{align}
          a + b + x &= 3        \label{#2}\\
          a     + x &= 3 - b    \label{#2-2}\\
          x         &= 3 - b -a \label{#2-3}
      \end{align}
    \or
      \begin{align}
          a + b + c +x  &= 4           \label{#2}\\
          a + b     +x  &= 4 - c       \label{#2-2}\\
          a         +x  &= 4 - c - b   \label{#2-3}\\
                    +x  &= 4 - c - b -a\label{#2-4}
      \end{align}
    \or
      \begin{align}
          a + b + c +d +x &= 5            \label{#2}\\
          a + b + c    +x &= 5 -d         \label{#2-2}\\
          a + b        +x &= 5 -d -c      \label{#2-3}\\
          a            +x &= 5 -d -c -b   \label{#2-4}\\
                        x &= 5 -d -c -b -a\label{#2-5}
      \end{align}
    \or
      \begin{align}
          a + b + c +d +e +x &= 6               \label{#2}\\
          a + b + c +d    +x &= 6 -e            \label{#2-2}\\
          a + b + c       +x &= 6 -e -d         \label{#2-3}\\
          a + b           +x &= 6 -e -d -c      \label{#2-4}\\
          a               +x &= 6 -e -d -c -b   \label{#2-5}\\
                           x &= 6 -e -d -c -b -a\label{#2-6}
      \end{align}
    \or
      \begin{align}
          a + b + c +d +e +f +x &= 7                  \label{#2}\\
          a + b + c +d +e    +x &= 7 -f               \label{#2-2}\\
          a + b + c +d       +x &= 7 -f -e            \label{#2-3}\\
          a + b + c          +x &= 7 -f -e -d         \label{#2-4}\\
          a + b              +x &= 7 -f -e -d -c      \label{#2-5}\\
          a                  +x &= 7 -f -e -d -c -b   \label{#2-6}\\
                              x &= 7 -f -e -d -c -b -a\label{#2-7}
      \end{align}
    \or
      \begin{align}
          a + b + c +d +e +f +g +x &= 8                     \nonumber\\
          a + b + c +d +e +f    +x &= 8 -g                  \nonumber\\
          a + b + c +d +e       +x &= 8 -g -f               \nonumber\\
          a + b + c +d          +x &= 8 -g -f -e            \nonumber\\
          a + b + c             +x &= 8 -g -f -e -d         \label{#2}\\
          a + b                 +x &= 8 -g -f -e -d -c      \nonumber\\
          a                     +x &= 8 -g -f -e -d -c -b   \nonumber\\
                                 x &= 8 -g -f -e -d -c -b -a\nonumber
      \end{align}
    \else %9
      \begin{align}
          a + b + c +d +e +f +g +h +x &= 9                        \label{#2}\\
          a + b + c +d +e +f +g    +x &= 9 -h                     \label{#2-2}\\
          a + b + c +d +e +f       +x &= 9 -h -g                  \label{#2-3}\\
          a + b + c +d +e          +x &= 9 -h -g -f               \label{#2-4}\\
          a + b + c +d             +x &= 9 -h -g -f -e            \label{#2-5}\\
          a + b + c                +x &= 9 -h -g -f -e -d         \label{#2-6}\\
          a + b                    +x &= 9 -h -g -f -e -d -c      \label{#2-7}\\
          a                        +x &= 9 -h -g -f -e -d -c -b   \label{#2-8}\\
                                    x &= 9 -h -g -f -e -d -c -b -a\label{#2-9}
      \end{align}
    \fi%
}


\begin{document}

\blindequation[1]{eq:test}
1 See~\eqref{eq:test} \dots
As we see in Eq.~\ref{eq:test} \dots

\blindequation[3]{eq:EnergyStates}

3 See~\eqref{eq:EnergyStates} \dots
As we see in Eq.~\ref{eq:EnergyStates-2} \dots

%\blindtext

should not happen: \blindequation[0]{eq:Energy} number 0

\blindequation[5]{eq:Einstein}
5 See~\eqref{eq:Einstein} \dots
As we see in Eq.~\ref{eq:Einstein-3} \dots

\blindequation{eq:testerle}
1 See~\eqref{eq:testerle} \dots
As we see in Eq.~\ref{eq:testerle} \dots

\blindequation[8]{eq:testerlea}
8 See~\eqref{eq:testerlea} \dots
As we see in Eq.~\ref{eq:testerlea} \dots

\blindequation[15]{eq:testerleb}
15 See~\eqref{eq:testerleb} \dots
As we see in Eq.~\ref{eq:testerleb-9} \dots % \ref{eq:testerleb-10} is not working!
\end{document}

给出结果:

第一页

您可以看到,使用零作为打印方程式编号的情况根本没有执行,行的编号已经完成(如您所愿?)并且您可以根据需要引用每一行(简单规则:您有 n 行方程式。例如,第一行用您给定的标签引用,\ref{eq:einstein}第二行可以用等等引用,\ref{eq:einstein-2}直到\ref{eq:einstein-n})。

现在我们来看第二页:

第二页

我已调用命令\blindequation[15]{eq:testerleb}获取 15 条线,但仅定义了 9 条。因此,您仅打印了 9 条方程线,并且仅激活了 9 个标签:\ref{eq:testerleb}\ref{eq:testerleb-2}直到\ref{eq:testerleb-9}...

相关内容