
Как изменить стиль элемента в LaTeX?
Я хотел бы сделать некоторые базовые изменения в некоторых средах. Например, изменить размер текста в quotation
, поля в verbatim
или межстрочный интервал в itemize
блоках.
Я хочу, чтобы изменения были внесены в каждый блок документа.
Как мне переписать некоторые определения стилей?
решение1
Обычно вы можете написать свою собственную среду, которая будет обертывать ту, которую вы хотите изменить. Например
\newenvironment{quotingalt}
{% \begin{quotingalt}
\large% Change font size
\begin{quote}%
}{% \end{quotingalt}
\end{quote}%
}
На самом деле, именно так написаны многие среды по умолчанию в стандартных классах. Например, рассмотрим среду quote
изarticle.cls
:
\newenvironment{quote}
{\list{}{\rightmargin\leftmargin}%
\item\relax}
{\endlist}
Приведенный выше код инициирует list
среду с помощью \list
и завершает ее с \endlist
помощью формы quote
.
Поскольку среда имеет некоторую область действия, изменения локализуются, поэтому вам не придется беспокоиться об их сбросе.environ
упаковкаобеспечивает более интуитивный командный интерфейс для окружения, предоставляя \BODY
доступ к захваченному контенту внутри него:
\usepackage{environ}% http://ctan.org/pkg/environ
\NewEnviron{quotingalt}{%
\large% Change the font size
\begin{quote}\BODY\end{quote}%
}
Альтернативные подходы включают сохранение исходного имени и его изменение с помощью патча (сetoolbox
и друзья) или полное переосмысление с добавлением вашего стиля.