由于问题使用 Minted 的escapeinside
选项,我想包含但完全隐藏(不占用任何空间),minted
我的文档中的一个环境。我不希望任何内容可见。
我已经非常接近这个使用微小字体大小的黑客解决方案:
\begin{minted}[fontsize=\fontsize{0.01pt}{0.01pt}]{java}
public String someCode(String argument) {
// code here...
}
\end{minted}
除了使用非常小的字体大小之外,还有更优雅的解决方案吗?我可以把它放在某种框中,并将其高度设置为零吗?我可以以某种方式将其浮动,以便它实际上永远不会显示在文档的任何地方吗?
代码确实被处理很重要。因此我不能只是注释掉它,或者使用\if
。
答案1
我们用 定义一个保存箱\newsavebox
。
然后可以创建一个lrbox
环境(指定保存箱名称),并将minted
代码列表放入其中minipage
。
\newsavebox\hideminted
\begin{lrbox}{\hideminted}\begin{minipage}{\textwidth}
\begin{minted}[fontsize=\fontsize{0.01pt}{0.01pt}]{java}
public String lookupUserNameByToken(String token) throws SQLException {
Statement stmt = connection.createStatement();
String query = "select * from users where ";
query += "token = '" + token + "'";
ResultSet rs = stmt.executeQuery(sql);
if (rs.next()) {
return rs.getString("name");
}
return null;
}
\end{minted}
\end{minipage}\end{lrbox}
然后我们确保我们永远不会\usebox{\hideminted}
,并且它永远不会真正出现在文档中。