
У меня есть команда, которая работает с таким синтаксисом:
\startmycommand[{
nononononononononononon
nononononononononononon
nononononononononononon
}]\endmycommand
Пользователь предоставил (превосходное) упрощение \startmycommand
, как вы можете видеть выше:
\newcommand\mynewstartcommand{%
\expandafter\startmycommand
\expandafter[%
\expandafter{%
\iffalse}\fi
}%
Как я могу сделать то же самое для }]\endmycommand
?
решение1
Возможно, вы ищете что-то вроде следующего примера:
\long\def\mynewstartcommand#1\endmycommand{%
\startcommand[{#1}]\endmycommand
}
\mynewstartcommand
nononononononononononon
nononononononononononon
nononononononononononon
\endmycommand
Но вопрос не совсем ясен: каково регулярное содержание аргумента, какова цель пустых строк в аргументе, каков желаемый синтаксис?
решение2
@Heiko Oberdiek, ваш ответ здесь сработал отлично.
Минимальный пример, иллюстрирующий, как я его использую, — с вашим предложением:
\documentclass[a4paper, twocolumn, twoside]{article}
\usepackage{lipsum}
\long\def\mynewstartcommand#1\endmycommand{%
\twocolumn[{#1}]\vspace*{10 mm}
}
\begin{document}
\mynewstartcommand
\begin{minipage}{0.795\paperwidth}
\begin{minipage}[t][][b]{0.45\linewidth}
\lipsum[1]
\end{minipage}\qquad~\qquad
\begin{minipage}[t][][b]{0.45\linewidth}
\lipsum[2]
\vspace*{40 mm}
\end{minipage}
\end{minipage}
\lipsum[3]
\endmycommand
\end{document}