问题是,如何将铸造环境嵌入表格环境中?,解决了类似的问题,但我使用的是:
- 包裹
tabularx
,以及 - 内联
\mint
命令
有办法解决这个问题吗?
\documentclass[10pt]{article}
\usepackage[scaled]{beramono}
\usepackage[T1]{fontenc}
\usepackage{tabularx}
\usepackage{booktabs}
\usepackage{minted}
\begin{document}
\begin{tabularx}{\linewidth}{@{}lrX}
Type & Meaning & Size \\
\cmidrule(r){1-1} \cmidrule(lr){2-2} \cmidrule(lr){3-3}
\mint{c++}|float| & single precision floating point & 6 significant digits \\
& & Typically represented in 32 bits \\
\mint{c++}|double| & double precision floating point & 10 significant digits \\
& & Typically represented in 64 bits \\
\mint{c++}|long double| & extended precision floating point & 10 significant digits \\
& & Typically represented in 96 or 128 bits \\
\bottomrule
\end{tabularx}
\end{document}
答案1
至少有两种方法可以实现这一点。
第一种方法
编辑: 为了使这种方法奏效,您需要使用以下补丁\mint
:这里。
使用\savebox
。在 之前tabularx
,为您需要的每个术语定义如下所示的内容。
\newsavebox{\floatinabox}
\begin{lrbox}{\floatinabox}
\mint{c++}|float|
\end{lrbox}
然后,在里面tabularx
,使用类似的\usebox{\floatinabox}
。
将lrbox
其内容排版在一个框中,并保存该框以供日后使用,而不是将该框插入到文档中。
可以使用相同的方法插入minted
环境,但minipage
需要 来允许换行(请参阅这)。
\newsavebox{\mintedbox}
\begin{lrbox}{\mintedbox}
\begin{minipage}{3cm}
\begin{minted}{c++}
long double
\end{minted}
\end{minipage}
\end{lrbox}
第二种方法
pythontex
使用我的包中的 Pygments 突出显示。该\pygment
命令采用与相同的参数\mint
,并且通常在这些类型的情况下工作,只要#
不%
涉及和。我检查过,它在这种情况下确实有效。