在最新版本的 MikTeX 上,以下功能有效:
\begin{align*}
\int sinxdx && \texttt{test line 1}\\
\int{sinx}dx && \texttt{test line 2}\\
\end{align*}
但以下会出现错误:
\begin{align*}
\int sinxdx && \texttt{\int sinxdx}\\
\int{sinx}dx && \texttt{\int{sinx}dx}\\
\end{align*}
错误:
Underfull \hbox (badness 10000) in paragraph at lines 94--102
[2] [3]
Overfull \hbox (40.0189pt too wide) detected at line 168
\OML/cmm/m/it/10.95 a=c \OMS/cmsy/m/n/10.95
当使用 \verb 时,以下也会出现类似的错误:
\begin{align*}
\int sinxdx && \verb|test line 1|\\
\int{sinx}dx && \verb|test line 2|\\
\end{align*}
答案1
为了获取align*
环境中的逐字内容,我的verbatimbox
包可以提供帮助。
\documentclass{article}
\usepackage{amsmath,verbatimbox}
\begin{document}
\begin{myverbbox}{\lineA}\int \sin x\,dx\end{myverbbox}
\begin{myverbbox}{\lineB}\int{\sin x}\,dx\end{myverbbox}
\begin{align*}
\int \sin x\,dx && \lineA\\
\int{\sin x}\,dx && \lineB\\
\end{align*}
\end{document}
对于的另一个问题\texttt
,请尝试\mathtt
以数学模式处理其参数。
附录
OP 询问是否可以不使用其他软件包来完成此操作。也许这样就足够了:
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\begin{align*}
\int \sin x\,dx && \texttt{\string\int~\string\sin~x\string\,dx}\\
\int{\sin x}\,dx && \texttt{\string\int\string{\string\sin~x\string}\string\,dx}
\end{align*}
\end{document}
答案2
您不能\verb
在 内部使用align*
,就像在任何其他命令的参数中一样;align
是一个特殊的环境,它在开始排版之前读取其内容,这会导致不允许的后果\verb
。如果您想制作输入和输出的示例,您可以使用array
:
\documentclass{article}
\usepackage{array,booktabs}
\begin{document}
\[
\begin{array}{>{\displaystyle}ll}
\int \sin x \, dx & \verb|\int \sin x \, dx| \\
\addlinespace
\int \cos x \, dx & \verb|\int \cos x \, dx|
\end{array}
\]
\end{document}
请注意正确的 TeX 符号;空格是可选的(\sin
和之间的空格除外) x
。