与“Advanced Wrapfig”相关的问题

与“Advanced Wrapfig”相关的问题

这是我正在尝试的代码片段:

\documentclass{article}
\usepackage{lipsum}
\usepackage{graphicx,wrapfig}

\begin{document}


% \parshape <num lines> <indent> <width> ...
\parshape 12 0pt \textwidth
0pt \dimexpr0.5\textwidth+4.0\baselineskip\relax
0pt \dimexpr0.5\textwidth+3.25\baselineskip\relax
0pt \dimexpr0.5\textwidth+1.75\baselineskip\relax
0pt \dimexpr0.5\textwidth+1\baselineskip\relax
0pt \dimexpr0.5\textwidth+2.0\baselineskip\relax
0pt \dimexpr0.5\textwidth+2.75\baselineskip\relax
0pt \dimexpr0.5\textwidth+3.5\baselineskip\relax
0pt \dimexpr0.5\textwidth+4.25\baselineskip\relax
0pt \dimexpr0.5\textwidth+5.0\baselineskip\relax
0pt \dimexpr0.5\textwidth+6.75\baselineskip\relax
0pt \textwidth
\noindent\lipsum[1]

\end{document} 

原始代码来自@Werner(高级Wrapfig)(所有功劳都归功于他)。我想“镜像”文本的形状,即形状应该在左侧,但我不明白如何更改上述代码。社区中有谁能帮助我吗?提前致谢!

答案1

句法:\parshape <n> <indent line 1> <text width line 1> … <indent line n> <text width line n>

因此,要有一个形状在左侧,您必须0pt用预期的文本缩进替换,然后第二个值应该是\dimexpr \textwidth - <indent of this line>\relax

例子:

\documentclass{article}
\usepackage{lipsum}
%\usepackage{graphicx,wrapfig}% Not needed for using `\parshape`

\begin{document}

% \parshape <num lines> <indent> <width> ...
\parshape 11
0pt \textwidth
1em \dimexpr\textwidth-1em\relax
2em \dimexpr\textwidth-2em\relax
3em \dimexpr\textwidth-3em\relax
4em \dimexpr\textwidth-4em\relax
5em \dimexpr\textwidth-5em\relax
4em \dimexpr\textwidth-4em\relax
3em \dimexpr\textwidth-3em\relax
2em \dimexpr\textwidth-2em\relax
1em \dimexpr\textwidth-1em\relax
0pt \textwidth
\noindent\lipsum[1]

\end{document} 

在此处输入图片描述

从 LaTeX 2022-06-01 开始,你可以使用\dimeval{…}而不是\dimexpr …\relax,因此语法更像 LaTeX:

\NeedsTeXFormat{LaTeX2e}[2022-06-01]
\documentclass{article}
\usepackage{lipsum}

\begin{document}

% \parshape <num lines> <indent> <width> ...
\parshape 11
0pt \textwidth
1em \dimeval{\textwidth-1em}
2em \dimeval{\textwidth-2em}
3em \dimeval{\textwidth-3em}
4em \dimeval{\textwidth-4em}
5em \dimeval{\textwidth-5em}
4em \dimeval{\textwidth-4em}
3em \dimeval{\textwidth-3em}
2em \dimeval{\textwidth-2em}
1em \dimeval{\textwidth-1em}
0pt \textwidth
\noindent\lipsum[1]

\end{document} 

ltnews35面向作者的 LaTeX — 当前版本请参阅第 5 节以了解更多有关的信息\dimeval

注意:如果 LaTeX 运行报告\dimeval如上所示未知命令序列,则说明您的 LaTeX 安装太旧。请更新或使用新版本\dimexpr…\relax

顺便说一句:最后一对不仅用于第 n 行,而且如果段落有超过 n 行,则用于段落中所有 >= n 的行。

有关更多信息,\dimexpr…\relax请参阅ε-TeX 手册,第 3.5 节。

相关内容