2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 
 Newenvironment
Сообщение22.12.2013, 21:21 
Здравствуйте , помогите разобраться с синтакисом команды newenvironment . Не могу написать окружение Вопрос - Ответ , которое должно выглядеть :

ВОПРОС N : Вопрос?

Ответ.

 
 
 
 Re: Newenvironment
Сообщение23.12.2013, 14:58 
%Могу предложить такой вариант
\newenvironment{vopros}{\par\addvspace{0pt}{\bf\indent ВОПРОС\enspace$\No$:\enspace}\begin{bfseries}}{\end{bfseries}\par\addvspace{0pt}\textit{Ответ.}}

% команда \par начинает новый абзац, хотя ее вписывать не обязательно, если пропускать строку каждый раз перед командой \vopros
% команда {\bf создает полужирное начертание внутри этих скобочек}
% команда \indent создает отступ
% \enspace -- пробел
% \begin{bfseries} переключает шрифт на полужирный \end{bfseries} отмена полужирного
% \addvspace{0pt} добавляет вертикальный отступ
В целом синтаксис такой:
\newenvironment{Имя}{открывающие_команды}{закрывающие_команды}

-- 23.12.2013, 18:06 --

Помещаете вторую строку в преамбулу документа.
В документе в нужном месте пишете \begin{vopros} тра та та \end{vopros} после чего в соответствующем месте появится
ВОПРОС $\No$: тра та та.
Ответ.

 
 
 
 Re: Newenvironment
Сообщение23.12.2013, 15:40 
Можно ли сделать вот так:
Код:
\vopros{Здесь я напишу вопрос}{здесь ответ на него}
?

И это выглядело :

ВОПРОС N : сам вопрос

тут ответ на него

 
 
 
 Re: Newenvironment
Сообщение23.12.2013, 16:26 
Насколько помню, первая команда получает параметры, переданные окружению.

 
 
 
 Re: Newenvironment
Сообщение23.12.2013, 20:19 
Тогда так:
\newenvironment{vo}[1]{\par{\bf\indent ВОПРОС\enspace$\No$:\enspace}{\bfseries #1}\par\begin{itshape}}{\end{itshape}\par}

В документе тогда пишете:
\begin{vo}{Тут сам вопрос.} А тут ответ.\end{vo}

Результат:
ВОПРОС $\No$: Тут сам вопрос.
А тут ответ.

В окружение вопроса, возможно имеет смысл добавить счетчик, что бы они автоматически нумеровались, и не было путаницы если вдруг вопросы потребуется переставить, тем более если нужно на них ссылаться.

 
 
 
 Re: Newenvironment
Сообщение23.12.2013, 23:54 
И еще один вариант придумался:

\newcommand{\VopOt}[2]{\par\textbf{\indent ВОПРОС\enspace$\No$:\enspace}{\bfseries #1}\par{\itshape #2}\par}

В документе пишем

\VopOt {здесь вопрос}{и тут ответ}

Результат:

ВОПРОС $\No$: здесь вопрос
и тут ответ

только это уже не окружение типа "теорема", а команда. Не встречал такую форму записи, так что использование может оказаться чревато при каких-нибудь обстоятельствах, но не обязательно :-)

 
 
 [ Сообщений: 6 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group