LaTeX - определение пользовательской среды wrapfig - PullRequest
0 голосов
/ 13 июля 2010

Я набираю книгу с помощью LaTeX.Текстовый дизайн включает в себя кавычки, которые должны выглядеть примерно так:

Chicken chicken chicken chicken  -------------
chicken chicken chicken chicken     CHICKEN
chicken chicken chicken chicken     CHICKEN
chicken chicken chicken chicken  -------------
chicken chicken chicken chicken chicken chicken

Итак, wrapfig.sty похоже, что он имеет базовый механизм, который мне нужен, и мне просто нужно определить среду, которая делаетгоризонтальные правила, центрирование и больший тип.Проблема в том, что wrapfigure, похоже, не хочет быть вложенным в определение среды.Если у меня есть это в моем текстовом теле, это работает

\begin{wrapfigure}{o}{2in}
\large chicken chicken
\end{wrapfigure}

, но если я делаю это в прологе

\newenvironment{pullquote}
  {\begin{wrapfigure}{o}{2in}\large}
  {\end{wrapfigure}}

, и тогда у меня

\begin{pullquote}
chicken chicken
\end{pullquote}

Iполучите это сообщение об ошибке:

Package wrapfig Warning: Collision between wrapping environments ...

цитата ввода набирается несколькими абзацами ниже, где я хочу его (в приблизительном месте ссылки next , похоже, или вконец документа) и основной текст не будет заключен в кавычки.Что дает?Как мне сделать эту работу?

1 Ответ

1 голос
/ 14 июля 2010

У меня нет полного понимания этого, но я подозреваю, что это потому, что wrapfigure сама по себе является оболочкой для среды с плавающей точкой.

Я думаю, что нашел решение / обходной путь здесь: http://texblog.net/latex-archive/plaintex/expandafter/

Я думаю, что этот код получает то, что вы хотите:

\documentclass{article}
\usepackage{wrapfig}
\raggedright
\expandafter\def\expandafter\wrapfigure\expandafter{\wrapfigure{o}{2in}\large\raggedright}

\begin{document}

chicken chicken chicken chicken chicken chicken chicken chicken
chicken chicken chicken chicken chicken chicken chicken chicken
chicken chicken chicken chicken chicken chicken chicken chicken
\begin{wrapfigure}
CHICKEN CHICKEN
CHICKEN CHICKEN
\end{wrapfigure}
chicken chicken chicken chicken chicken chicken chicken chicken
chicken chicken chicken chicken chicken chicken chicken chicken
chicken chicken chicken chicken chicken chicken chicken chicken

\end{document}

Код, использованный выше, переопределяет «wrapfigure», чтобы использовать его по-другому, что может быть не тем, что вам нужно. Вы можете создавать новые команды для begin {env} и end {env}, которые оставляют «wrapfigure» без изменений, например:

\documentclass{article}
\usepackage{wrapfig}
\raggedright

\newcommand{\myfigstart}{\begin{wrapfigure}{o}{2in}\large\raggedright}
\newcommand{\myfigend}{\end{wrapfigure}}

\begin{document}

chicken chicken chicken chicken chicken chicken chicken chicken
chicken chicken chicken chicken chicken chicken chicken chicken
chicken chicken chicken chicken chicken chicken chicken chicken
\myfigstart
CHICKEN CHICKEN CHICKEN CHICKEN
\myfigend
chicken chicken chicken chicken chicken chicken chicken chicken
chicken chicken chicken chicken chicken chicken chicken chicken
chicken chicken chicken chicken chicken chicken chicken chicken

\end{document}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...