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}
因此,will#2\\
的替換文字將命令作為參數,但由於它不會擴展到字元列表,因此無法形成 csname,並且會顯示低階錯誤。\Qf
\csuse\\
\\
\csuse
\endcsname