我想定义一个新环境(此处testenv
),它将以逐字模式包含文本。因此,我有以下代码:
\documentclass{article}
\usepackage[english,greek]{babel}
\usepackage[utf8]{inputenc}
\usepackage{fancyvrb}
\newenvironment{testenv}
{
\selectlanguage{english}
\fontsize{8}{10}\selectfont
\Verbatim
}
{
\endVerbatim
\normalsize
\selectlanguage{greek}
}
\begin{document}
\begin{testenv}
This is a test.
\end{testenv}
\end{document}
但是,我需要 verbatim 环境中的一些可选参数。我应该如何传递这些选项commandchars
,例如commentchar
?
附言我利用了这个fancyvrb
包。
答案1
Verbatim
您可以使用重新定义工作方式\RecustomVerbatimEnvironment
,在环境开始时添加formatcom
执行format
命令的键。由于环境范围限制了 内容所发生情况的范围,因此无需在结束时重置它:com
Verbatim
formatcom
\documentclass{article}
\usepackage[english,greek]{babel}
\usepackage[utf8]{inputenc}
\usepackage{fancyvrb}
\usepackage{xcolor}
\RecustomVerbatimEnvironment{Verbatim}{Verbatim}
{commandchars = \\\{\},
commentchar = !,
formatcom = {\selectlanguage{english}
\fontsize{8}{10}\selectfont}}
\begin{document}
\selectlanguage{greek}
\begin{Verbatim}
This is \textcolor{red}{red}.
!This is a comment.
\end{Verbatim}
Some text.
\end{document}
这提供了一个干净的界面。