
Я новый пользователь. У меня проблемы с lyX и, в частности, с тем, как \input{file.tex}
правильно его использовать. Ошибка: "неопределенная управляющая последовательность". На самом деле я не уверен, где мне нужно указать путь, чтобы LyX мог его распознать и найти. До сих пор я использовал Вставка > float > table (вот куда я собираюсь добавить 2 разные таблицы). В преамбуле LateX (Документ > Настройки > Преамбула LateX) я использую следующее:
% Packages for tables
\usepackage{booktabs}% Pretty tables
\usepackage{threeparttablex}% For Notes below table
% *****************************************************************
% siunitx
% *****************************************************************
\newcommand{\sym}[1]{\rlap{#1}}
\usepackage{siunitx}
\sisetup{
detect-mode,
group-digits = false,
input-symbols = ( ) [ ] - +,
table-align-text-post = false,
input-signs = ,
}
% Character substitution that prints brackets and the minus symbol in text mode. Thanks to David Carlisle
\def\yyy{%
\bgroup\uccode`\~\expandafter`\string-%
\uppercase{\egroup\edef~{\noexpand\text{\llap{\textendash}\relax}}}%
\mathcode\expandafter`\string-"8000 }
\def\xxxl#1{%
\bgroup\uccode`\~\expandafter`\string#1%
\uppercase{\egroup\edef~{\noexpand\text{\noexpand\llap{\string#1}}}}%
\mathcode\expandafter`\string#1"8000 }
\def\xxxr#1{%
\bgroup\uccode`\~\expandafter`\string#1%
\uppercase{\egroup\edef~{\noexpand\text{\noexpand\rlap{\string#1}}}}%
\mathcode\expandafter`\string#1"8000 }
\def\textsymbols{\xxxl[\xxxr]\xxxl(\xxxr)\yyy}
% *****************************************************************
% Estout related things
% *****************************************************************
\let\estinput=\input % define a new input command so that we can still flatten the document
\newcommand{\estwide}[3]{
\vspace{.75ex}{
\textsymbols% Note the added command here
\begin{tabular*}
{\textwidth}{@{\hskip\tabcolsep\extracolsep\fill}l*{#2}{#3}}
\toprule
\estinput{#1}
\bottomrule
\addlinespace[.75ex]
\end{tabular*}
}
}
\newcommand{\estauto}[3]{
\vspace{.75ex}{
\textsymbols% Note the added command here
\begin{tabular}{l*{#2}{#3}}
\toprule
\estinput{#1}
\bottomrule
\addlinespace[.75ex]
\end{tabular}
}
}
% Allow line breaks with \\ in specialcells
\newcommand{\specialcell}[2][c]{%
\begin{tabular}[#1]{@{}c@{}}#2\end{tabular}
}
% *****************************************************************
% Custom subcaptions
% *****************************************************************
% Note/Source/Text after Tables
% The new approach using threeparttables to generate notes that are the exact width of the table.
\newcommand{\Figtext}[1]{%
\begin{tablenotes}[para,flushleft]
\hspace{6pt}
\hangindent=1.75em
#1
\end{tablenotes}
}
\newcommand{\Fignote}[1]{\Figtext{\emph{Note:~}~#1}}
\newcommand{\Figsource}[1]{\Figtext{\emph{Source:~}~#1}}
\newcommand{\Starnote}{\Figtext{* p < 0.1, ** p < 0.05, *** p < 0.01. Standard errors in parentheses.}}% Add significance note with \starnote
Я ценю вашу поддержку! Спасибо!
решение1
Команда \input{}
должна работать в новом файле LyX без пользовательского преамбулы, а также с вашим преамбулой. Попробуйте это в теле документа:
Ctrl+L
(Это создает ERT - злой красный текстовый блок)- Пишите внутри поля ERT
\input{/your/path/here/file}
(расширение можно опустить.tex
) или просто\input{file}
тогда, когда дочерний документ находится в том же каталоге, что и основной документ.
Вы можете получить тот же результат с меню в Insert > File > Children document
(или что-то в этом роде, я не могу проверить точные английские надписи). Результат тот же, единственное отличие в том, что вместо кода LaTeX, который LyX просто игнорирует, вы увидите кликабельный серый ящик, который можно изменить через окно Lyx:
Если у вас ошибка "undefined control sequence", то это должно быть связано с какой-то ошибочной командой в дочернем документе. Обратите внимание, что это file.tex
должен быть только фрагмент тела документа, а не полный документ LaTeX. Сначала проверьте, что все работает нормально с каким-нибудь простым текстом ( достаточно \input{}
" ") или простой таблицей, например:Hello, Word!
\begin{tabular}{|l|l|l|}
\hline
11 & 12 & 13\\
21 & 22 & 23\\
31 & 32 & 33\\
\hline
\end{tabular}