1
\newcommand{\Qf}[3]{\paragraph{\[#1\]}#2\\#3\\}
...
\Qf[AA][AA][AA]
там написано There's no line here to end. \Qf[AA
.
2
\usepackage{etoolbox}
...
\csdef{Q1}{
1.1.2-1992-2,3-1
}
\csdef{Q1=}{
$f(x)=e^{x^2},f[\varphi(x)]=1-x,\varphi(x) \geqslant 0,\varphi(x),D(\varphi(x))$
}
\csdef{A1}{
$e^{\varphi(x)^2}=1-x \Rightarrow \varphi(x)=\sqrt{\ln (1-x)}\Rightarrow x<1$
}
\newcommand{\toA}[1]{\hyperlink{answer-#1}{answer}\hypertarget{question-#1}{}}
\newcommand{\toQ}[1]{\hyperlink{question-#1}{back}\hypertarget{answer-#1}{}}
\toQ{\csuse{Q1}}
\csuse{Q1=}
\newpage
\toA{\csuse{Q1}}
он говорит Undefined control sequence. \toQ{\csuse{Q1}}
иUndefined control sequence. \toA{\csuse{Q1}}
3
\usepackage{etoolbox}
...
\csdef{Q1}{
1.1.2-1992-2,3-1
}
\csdef{Q1=}{
$f(x)=e^{x^2},f[\varphi(x)]=1-x,\varphi(x) \geqslant 0,\varphi(x),D(\varphi(x))$
}
\csdef{A1}{
$e^{\varphi(x)^2}=1-x \Rightarrow \varphi(x)=\sqrt{\ln (1-x)}\Rightarrow x<1$
}
\newcommand{\toA}[1]{\hyperlink{answer-#1}{answer}\hypertarget{question-#1}{}}
\newcommand{\toQ}[1]{\hyperlink{question-#1}{back}\hypertarget{answer-#1}{}}
\Qf[\csuse{Q1}][\toA[\csuse{Q1}]][\csuse{Q1=}]
он говоритThere's no line here to end. \Qf[\csuse{Q1}
Я не знаю почему, но меня действительно сбивает с толку разная информация об ошибках.
решение1
Лучше всего задавать только один вопрос в каждом сообщении и предоставлять тестовый файл, но:
1
\documentclass{article}
\begin{document}
\newcommand{\Qf}[3]{\paragraph{\[#1\]}#2\\#3\\}
\Qf[AA][AA][AA]
\end{document}
это не приводит к возникновению указанной ошибки или какой-либо ошибки, однако три аргумента — \Qf
это [
, A
и A
.
\paragraph
это команда секционирования с заголовком-вводом, который встроен в первое предложение абзаца, поэтому использование отображаемой математики \[\]
в заголовкеоченьстранно, и в этом случае отображение состоит только [
из первых двух строк #2
и #3
обе являются A, поэтому вы получаете:
2
Вы не сообщаете, какая именно ошибка у вас возникла, и не предоставляете тестовый файл.
\documentclass{article}
\usepackage{etoolbox}
\begin{document}
\csdef{Q1}{
1.1.2-1992-2,3-1
}
\csdef{Q1=}{
$f(x)=e^{x^2},f[\varphi(x)]=1-x,\varphi(x) \geqslant 0,\varphi(x),D(\varphi(x))$
}
\csdef{A1}{
$e^{\varphi(x)^2}=1-x \Rightarrow \varphi(x)=\sqrt{\ln (1-x)}\Rightarrow x<1$
}
\newcommand{\toA}[1]{\hyperlink{answer-#1}{answer}\hypertarget{question-#1}{}}
\newcommand{\toQ}[1]{\hyperlink{question-#1}{back}\hypertarget{answer-#1}{}}
\toQ{\csuse{Q1}}
\csuse{Q1=}
\newpage
\toA{\csuse{Q1}}
\end{document}
Выдает ошибку
! Undefined control sequence.
\toQ #1->\hyperlink
{question-#1}{back}\hypertarget {answer-#1}{}
l.20 \toQ{\csuse{Q1}}
?
показывая, что \hyperlink
гиперссылка не определена.
Изменение \usepackage
строки на
\usepackage{etoolbox,hyperref}
устраняет эту ошибку, но выдает ошибку:
! Undefined control sequence.
\Q1= ...,f[\varphi (x)]=1-x,\varphi (x) \geqslant
0,\varphi (x),D(\varphi (x...
l.21 \csuse{Q1=}
?
Показано, что это \geqslant
не определено, поэтому изменяем \usepackage
строку на
\usepackage{etoolbox,amssymb,hyperref}
заставляет пример работать без ошибок.
3
Я не смог догадаться, как расширить ваш фрагмент до примера, который давал указанную ошибку.
\documentclass{article}
\usepackage{etoolbox,amssymb,hyperref}
\begin{document}
\newcommand{\Qf}[3]{\paragraph{\[#1\]}#2\\#3\\}
\csdef{Q1}{
1.1.2-1992-2,3-1
}
\csdef{Q1=}{
$f(x)=e^{x^2},f[\varphi(x)]=1-x,\varphi(x) \geqslant 0,\varphi(x),D(\varphi(x))$
}
\csdef{A1}{
$e^{\varphi(x)^2}=1-x \Rightarrow \varphi(x)=\sqrt{\ln (1-x)}\Rightarrow x<1$
}
\newcommand{\toA}[1]{\hyperlink{answer-#1}{answer}\hypertarget{question-#1}{}}
\newcommand{\toQ}[1]{\hyperlink{question-#1}{back}\hypertarget{answer-#1}{}}
\Qf[\csuse{Q1}][\toA[\csuse{Q1}]][\csuse{Q1=}]
\end{document}
выдает ошибку
! Missing \endcsname inserted.
<to be read again>
\protect
l.24 \Qf[\csuse{Q1}
][\toA[\csuse{Q1}]][\csuse{Q1=}]
?
так как здесь три аргумента — \Qf
это [
, \csuse
и{Q1}
поэтому #2\\
в тексте замены \Qf
будет \csuse\\
, который принимает команду \\
в качестве аргумента, \csuse
но поскольку он не расширяется до списка символов, он не может сформировать csname, и вы получите \endcsname
показанную ошибку низкого уровня.