Mailing List CyrTeX-ru@vsu.ru Message #1189
From: regonly.noreply <CyrTeX-ru@vsu.ru>
Subject: Как запрограммировать \if...\onecolumn...?
Date: Wed, 1 Apr 2009 20:00:49 +0400
To: <CyrTeX-ru@vsu.ru>
Здравствуйте!

У меня задача: использовать один и тот же документ для обычной и для
двухколоночной вёрстки. Двухколоночнсть я задаю командой \twocolumn в
начале документа. Подключены также пакеты:

\usepackage{fixltx2e} % Устраняет проблемы двухколоночного набора LaTeX
\usepackage{dblfloatfix} % Устраняет проблемы двухколоночного набора
LaTeX. Требует fixltx2e. ЗАМЕНЯЕТ stfloats и fix2col!
\usepackage{cuted} % Набор sttools —  даёт окружение strip для
переключения на одну колонку.

Окружение strip можно использовать для оглавления

\begin{strip}
    \tableofcontents
  \end{strip}

или для заголовков и т. д.

Проблема в том, что если верстать тот же документ в одну колонку,
задав \onecolumn вместо \twocolumn, то окружение strip всё портит ---
исчезает текст и т. д. То есть в одноколоночной версии его надо
«выключить» сразу во всём документе, чтобы оно «ничего не делало».
Иначе придётся выискивать и править каждое место, где его
использовали.

Я пытаюсь запрограммировать что-то вроде:

\iftrue\onecolumn \let\strip=\empty\fi

и т. п., но у меня ничего не выходит. Переопределяется, но от числа
колонок не зависит (можно проверить не на strip, а на чём-то
обыкновенном типа \let\quote=\empty или \let\emph=\empty). То есть,
как я понимаю, система не может отличить, где \twocolumn, а где
\onecolumn?

Может кто-нибудь помочь разобраться?

С уважением, neGODnick
Subscribe (FEED) Subscribe (DIGEST) Subscribe (INDEX) Unsubscribe Mail to Listmaster