将图像制作成 Lettrine

将图像制作成 Lettrine

在 MWE 中

\documentclass{book}
\usepackage{lettrine}
\usepackage{graphicx,lipsum}
\setlength{\textwidth}{12cm}
%\renewcommand{\LettrineTextFont}{\normalfont}

\begin{document}
\thispagestyle{empty}
\Large

\lettrine[
    lines=3,
    lraise=0.1,
    findent=.5em,loversize=0.42,
    image=true]{example-image}{\textbf{in small caps}} \lipsum[13]
\end{document}

在此处输入图片描述

我想要:(1)在图像中添加适当大小的彩色(红色)字母;(2)我想要将单词“in small caps”呈现为小写字母;并且,如果可能的话,我想要以矩形以外的其他形状来描绘图像---也许是椭圆形。

答案1

注意:您需要\usepackage[T1]{fontenc}使 能够\textsc与 结合。正如@Cicada 的评论,如果您使用或,\textbf则可以使用某些字体包。pdflatex\usepackage{libertinus}\usepackage{fontspec}\setmainfont{some ttf\.otf font}xelatexlualatex

我去掉了包。然后我定义了两个新的宏来使用和包lettrine实现这一点。您可以完全自定义图像、字母、位置、椭圆 y 半径、颜色、下拉线数量等的样式。请参阅代码中的示例。宏具有以下语法:tikzwrapfig\mydpletter

%\mydpletter[垂直位置]{放下线条数}{椭圆 y 半径}{缩放字体大小}{放下字母}{图像}{附加文本}{内容}

\documentclass{book}
\usepackage[T1]{fontenc}
\usepackage{graphicx,lipsum}
\setlength{\textwidth}{12cm}
\usepackage{tikz}
\usepackage{wrapfig}
\newcommand{\addstuff}[3]{\tikz[remember picture]{
#1
\node[inner sep=0pt](current content){#3};
#2
}}
\newcommand{\mydpletter}[8][-5pt]{%
\begin{wrapfigure}[#2]{l}{0.2\linewidth}
\vspace{#1}
\addstuff{
\clip (0,0) ellipse [x radius=0.5\linewidth, y radius=#3];
}{
\node [inner sep=0pt] at (0,0) {\scalebox{#4}{#5}};
}{\includegraphics[width=\linewidth]{#6}}
\end{wrapfigure}
{\noindent\hbox{\textsc{\textbf{#7 }}}#8\par}
}

%\mydpletter[vertical pos]{Drop lines num}{ellipse y radius}{Scale font size}{Drop letter}{image}{Append text}{Par contents}
\begin{document}
\thispagestyle{empty}
\Large
\mydpletter[-2pt]{3}{25pt}{4}{\color{red!70}A}{example-image-plain}{In Small Caps}{\lipsum[1]}
\mydpletter[-12pt]{6}{50pt}{6}{\color{blue!70}B}{example-image-9x16}{In Small Caps}{\lipsum[2]}
\end{document}

输出:

在此处输入图片描述

相关内容