我正在努力得到这个
这种风格
但我收到了错误! Misplaced \omit. \multispan ->\omit \@multispan
以下是 MWE:
\documentclass{article}
\usepackage{listings,xcolor,etoolbox,lmodern}
\definecolor{verbgray}{gray}{0.9}
\newcommand*\prompt{}
\lstnewenvironment{sh}{
\def\prompt{usuario@linux:\textasciitilde\$\space}
\lstset{backgroundcolor=\color{verbgray},
frame=single,
framerule=.5pt,
columns=fullflexible,
escapechar=@
}
}{}
\begin{document}
\begin{sh}
@\prompt\textbf{cal}
\begin{tabular}{c c c c c c c}
\multicolumn{7}{c}{Enero 2015} \\
do & lu & ma & mi & ju & vi & sa \\
& & & & 1 & 2 & 3 \\
4 & 5 & 6 & 7 & 8 & 9 & 10 \\
11 & 12 & 13 & 14 & 15 & 16 & 17 \\
18 & 19 & 20 & 21 & 22 & 23 & 24 \\
25 & 26 & 27 & 28 & 29 & 30 & 31 \\
\end{tabular}@
\end{sh}
\end{document}
答案1
正如大卫所写他的评论,listings
主要用于逐字内容。如果您在列表中的“转至 LaTeX”中包含如此多的标记,则说明您做错了。
您实际上是将 shell 命令的输出硬编码cal 8 1973
到您的lstlisting
环境中。将其嵌入到tabular
LaTeX 的转义中似乎很复杂且没有必要。为什么不简单地
- 将输出复制并粘贴到
lstlisting
环境中,然后 放
basicstyle = \ttfamily, columns = fixed,
获得正确的对齐方式?如果您不喜欢默认字体,您可以随时使用其他打字机字体。
\documentclass{article}
\usepackage{listings,xcolor,etoolbox,lmodern}
\definecolor{verbgray}{gray}{0.9}
\newcommand*\prompt{}
\lstnewenvironment{sh}{
\def\prompt{usuario@linux:\textasciitilde\$\space}
\lstset{backgroundcolor=\color{verbgray},
frame=single,
basicstyle=\ttfamily,
framerule=.5pt,
columns=fixed,
escapechar=@
}
}{}
\begin{document}
\begin{sh}
@\prompt@cal 8 1973
August 1973
Su Mo Tu We Th Fr Sa
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
\end{sh}
\end{document}