我想lettrine
在自定义类中使用 -package 来修改某个部分的第一个字母。通常的做法是
\lettrine{T}{est} of my text
对我来说,问题是我不想每次打开环境时都要写这个。因此,我正在寻找一种解决方案,它能产生与上述相同的结果,但写成
\begin{Testenvironment}
Test of my text
\end{Testenvironment}
这可能吗?如果可以,怎么做?
答案1
也许不是完整的解决方案,但它通过“忽略”环境的强制参数来发挥作用。
由于LaTeX
要求强制参数以 分隔{...}
,因此使用不带 的参数{...}
只会抓取第一个标记:
例如
\newcommand{\foo}[1]
\foo This is is a nice text
只会抓取这里的第一个字符,即T
并假定这是参数,这正是 OP 想要实现的。
但是,\foo \something
不行!
颜色设置等必须按照lettrine
手册中所示使用,所以\foo \textcolor{red}{T}
在这里也不起作用!
\documentclass{article}
\usepackage{xcolor}
\usepackage{lettrine}
\newenvironment{Testenvironment}[2][]{%
\lettrine[#1]{#2}{}%
}{}
\usepackage{blindtext}
\begin{document}
\begin{Testenvironment}
Test of my text which is not very long at the moment but it seems to work at least for easy texts.
\end{Testenvironment}
\begin{Testenvironment}[findent=10pt]
{\textcolor{red}{T}}his another example
\end{Testenvironment}
\end{document}