从 LaTeX 输出中隐藏一行的一部分

Hide parts of a line from LaTeX output

有没有办法从 LaTeX 输出中隐藏一行的一部分?

对于整行,这有效:

\begin{code}
foo : Tm Γ t
\end{code}
\begin{code}[hide]
foo = someHiddenDefinitionOfFoo
\end{code}

但是如果我想隐藏一行的一部分怎么办,例如类型签名的一部分?例如,假设我有这个 Agda 签名:

sub-⊢*⊇ : ∀ {Γ Δ Θ t} (σ : Γ ⊢* Δ) (Δ⊇Θ : Δ ⊇ Θ) (e : Tm Θ t) →
  sub (σ ⊢*⊇ Δ⊇Θ) e ≡ sub σ (ren Δ⊇Θ e)

但我希望它在 LaTeX 输出中看起来像这样:

sub-⊢*⊇ : ∀ σ Δ⊇Θ e → sub (σ ⊢*⊇ Δ⊇Θ) e ≡ sub σ (ren Δ⊇Θ e)

这可能吗?

verbatim 软件包提供 comment 环境。

\begin{comment}
    Something not taken into account
\end{comment}

做这种事情最稳健的方法是使用 您要隐藏的参数的匿名模块:

sub-⊢*⊇ : ∀ {Γ Δ Θ t} (σ : Γ ⊢* Δ) (Δ⊇Θ : Δ ⊇ Θ) (e : Tm Θ t) →
  sub (σ ⊢*⊇ Δ⊇Θ) e ≡ sub σ (ren Δ⊇Θ e)

因此变成

module _ {Γ Δ Θ t} where

 sub-⊢*⊇ : (σ : Γ ⊢* Δ) (Δ⊇Θ : Δ ⊇ Θ) (e : Tm Θ t) →
   sub (σ ⊢*⊇ Δ⊇Θ) e ≡ sub σ (ren Δ⊇Θ e)

如果您愿意使用非常基本的 sed 脚本对 LaTeX 文件进行后处理以删除简单的 {var} 参数,您应该能够通过以下方式实现预期目标:

module _ {Γ Δ Θ t} where

 sub-⊢*⊇ : ∀ σ Δ⊇Θ e → sub {Γ} (σ ⊢*⊇ Δ⊇Θ) e ≡ sub σ (ren {Δ} {Θ} Δ⊇Θ e)