我想編寫一個 LaTeX 文檔,其中幾個 Mathjax 命令顯示為原始程式碼並進行編譯。
所以我想要一個項目列表,並讓它們顯示在左側,例如 Mathjax 的源代碼a^2
,在右側顯示它的外觀,例如 a²,但我不想出於維護原因,請輸入兩次代碼。
\newcommand
我嘗試自己為此創建一個,但verbatim
包和listings
包都失敗了(主要是不正確的字母常數錯誤),並且我嘗試了sverb
使用演示環境和showexpl
包機智LTXexample
環境的包,但兩者都失敗了,無法讓它顯示程式碼,因為它會與 Mathjax 一起使用(即沒有數學模式符號$
)。該文件必須由非常缺乏經驗的 Mathjax 用戶使用,因此我不想將他們與他們不必輸入的符號混淆。
對我有什麼建議嗎?
到目前為止我嘗試過的
定義一個\newcommand
\usepackage{verbatim}
\newcommand{\cl}[1]{$#1$ & \lstinline{#1}} %use within a \tabular environment
在這種情況下,LaTeX 告訴我不能\verb
在新命令中使用。
\usepackage{listings}
\newcommand{\cl}[1]{$#1$ & \verb!#1!} %use within a \tabular environment
我的最終目標是列出公式,這對於某些事情來說效果很好,但是一旦其中有命令,例如\geq
我收到! Improper alphabetic constant.
錯誤。我發現我必須用\
另一個來轉義列表中的\
,例如\\geq
,但是當然這對於命令的第一部分不起作用......
我這樣使用它們:
\begin{document}
\begin{tabular}{c|c}
$F(x) \geq 0$ & \verb!F(x) \geq 0! \\
\hline
\cl{A(n+2)=A(n)+A(n+1)} \\
\hline
\cl{\geq} \\
\end{tabular}
\end{document}
導入環境
我找到了旨在提供幾乎我搜尋的內容的軟體包:
\usepackage{sverb}
\begin{document}
\demo{}
$\geq$
\end{document}
這完美地完成了它想要做的事情,但在我的特殊情況下,這是非常不切實際的,它(當然)總是顯示符號$
。這是供那些根本不了解 LaTeX/Mathjax 的人使用的,我沒有成功解釋為什麼這些符號出現在文件中,但不需要在 Mathjax 中輸入。
\usepackage{showexpl}
\begin{document}
\begin{LTXexample}
$\geq$
\end{LTXexample}
\end{document}
(對於我的文件)結果與上述情況幾乎相同。
我試過
答案1
我找到了我需要的東西逐字列印小 TeX 程式碼並渲染它。
我用了:
\newcommand\showcase[1]{{\ttfamily\detokenize{#1}} & $#1$ }
\begin{document}
\begin{tabular}{c|c}
\showcase{\geq}
\end{tabular}
\end{document}