LINUX.ORG.RU

[latex] «Массив» комманд?

 


0

0

Хочу описать все вопросы к экзамену и вставлять их в текст примерно как \Q{1} (если \Q1 в принципе невозможен?).

Как это сделать? Цифры в имени команды запретили, паттерн матчинга нет, я видимо что-то недопонимаю...

★★★★★

Позвольте сразу глупый вопрос: зачем собственно цифры? Что означает 1 в Вашем случае?

Очевидно, что не номер вопроса, поскольку в таком случае использование счетчиков более Ъ.

Уровень вложенности? Тогда подчинённые счетчики и одна команда (\Q).

vaulter
()

> \Q{1}

Ну и на чём у тебя затык в написании такой команды?

В качестве switch-подобной конструкции можно использовать \ifcase.

В TLC есть сходный пример использования пакета ifthen.

Sphinx ★★☆☆
()
Ответ на: комментарий от Sphinx

Ну и на чём у тебя затык в написании такой команды?

ifcase некрасив

sv75 ★★★★★
() автор топика
Ответ на: комментарий от vaulter

> Очевидно, что не номер вопроса, поскольку в таком случае использование счетчиков более Ъ.

Это как раз номер вопроса, потому что нумеровать вопросы (не билеты!) удобнее пока что вручную (возможно, я пока просто плохо понимаю).

sv75 ★★★★★
() автор топика
Ответ на: комментарий от Sphinx

> В TLC есть сходный пример использования пакета ifthen.

Так-с, а что такое TLC? Как использовать ifthenelse, я понял, но видимо я прошёл мимо какого-то ценного источника информации.

sv75 ★★★★★
() автор топика
Ответ на: комментарий от Sphinx

Это ТеХ, деточка.

Во-первых, детка или крошка (babe, а не baby! если я не ошибаюсь).

Во-вторых, есть ifnum. Наименьшее найденное зло:

\def\case#1#2#3{%
    \ifnum#1=#2#3\fi%
}%

sv75 ★★★★★
() автор топика
Ответ на: комментарий от sv75

В преамбуле что-то вроде

\newcounter{questno}
\newenvironment{questlist}{\setcounter{questno}{1}}{}
\renewcommand{\thequestno}{\textbf{\arabic{questno}}}
\newcommand{\Q}{\par\textbf{Q}\thequestno\textbf{ }\addtocounter{questno}{1}}

И список вопросов:

\begin{questlist}
\Q The first question.
\Q The second question.
\end{questlist}

Немного корявенько, но нужные Q1, Q2, ... перед самим вопросом получить позволяет.

vaulter
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.