![Tex、Lyx 将 \noalign 与 \input 放错了位置](https://linux22.com/image/442335/Tex%E3%80%81Lyx%20%E5%B0%86%20%5Cnoalign%20%E4%B8%8E%20%5Cinput%20%E6%94%BE%E9%94%99%E4%BA%86%E4%BD%8D%E7%BD%AE.png)
我有一个文件,经过一番努力,现在可以在 lyx 中使用了。但是,如果我将其导出到 tex 并从 texstudio 运行,我会得到之前在 Lyx 中遇到的原始错位 \noalign 错误。这是导出的 tex 代码:
% Preview source code
%% LyX 2.3.6.2 created this file. For more info, see http://www.lyx.org/.
%% Do not edit unless you really know what you are doing.
\documentclass[english]{article}
\usepackage[T1]{fontenc}
\usepackage[latin9]{inputenc}
\usepackage{float}
\makeatletter
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% User specified LaTeX commands.
%% TABLES %%
% Packages for tables
\usepackage{booktabs}% Pretty tables
\usepackage{tabularx}
% *****************************************************************
% siunitx
% *****************************************************************
\newcommand{\sym}[1]{\rlap{#1}} % Thanks to Joseph Wright & David Carlisle
\usepackage{siunitx}
\sisetup{
detect-mode,
group-digits = false,
input-symbols = ( ) [ ] - +,
table-align-text-post = false,
input-signs = ,
}
% *****************************************************************
% Estout related things
% *****************************************************************
\ExplSyntaxOn
\cs_new:Npn \expandableinput #1
{ \use:c { @@input } { \file_full_name:n {#1} } }
\AddToHook{env/tabular/begin}
{ \cs_set_eq:NN \estinput \expandableinput }
\ExplSyntaxOff
\let\estinput=\input % define a new input command so that we can still flatten the document
\newcommand{\estauto}[3]{
\small{
\vspace{-1ex}{
\begin{tabular}{l*{#2}{#3}}
\toprule
\estinput{#1}
\bottomrule
\addlinespace[.75ex]
\end{tabular}
}
}
}
\makeatother
\usepackage{babel}
\begin{document}
\begin{table}[H]
\caption{MWE Table \label{MWE}}
\centering
\small{
\estauto{/tables/MWE2.tex}{3}{c}
}
\end{table}
\end{document}
这是 MWE2.tex:
11 & 12 & 13 \\
21 & 22 & 23 \\
31 & 32 & 33 \\
答案1
感谢@Dan,表格前的反斜杠导致了这个问题。应该是:
\estauto{tables/MWE2.tex}{3}{c}
不是:
\estauto{/tables/MWE2.tex}{3}{c}