Работа в системе LaTeX



         

Создание счетчиков и простейшие операции с ними - часть 3


Для этого используется команда \fnsymbol, применять которую можно только внутри формул:

 \parindent=0cm \newcounter{abcd}\setcounter{abcd}{0} Для сносок в Англии применяют такие символы: $\addtocounter{abcd}{1}\fnsymbol{abcd}$, $\addtocounter{abcd}{1}\fnsymbol{abcd}$, $\addtocounter{abcd}{1}\fnsymbol{abcd}$, а дальше попробуйте сами.
\setcounter{abcd}{0} Для сносок в Англии применяют такие символы: $\addtocounter{abcd}{1}\fnsymbol{abcd}$, $\addtocounter{abcd}{1}\fnsymbol{abcd}$, $\addtocounter{abcd}{1}\fnsymbol{abcd}$, а дальше попробуйте сами.

Обратите внимание, как три идентичных фрагмента исходного текста дали на печати три разных символа.

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

\newcounter{efgh} \setcounter{abcd}{10} \setcounter{efgh}{100} \addtocounter{efgh}{-\value{abcd}}

значение счетчика efgh станет равно

90
. Можно даже писать, например,

\setcounter{efgh}{1000} \tolerance=\value{efgh}

но большого смысла в таких трюках, как правило, нет.

Применим наши познания к делу. Ранее мы обещали вам так усовершенствовать макрос \z, начинающий новый абзац и печатающий жирным шрифтом слово "Задача", чтоб он еще и автоматически нумеровал эти задачи, так, что можно было бы просто писать в исходном тексте

\z Найти сумму... \z Решить уравнение... \z Поезд вышел из пункта А...

и при этом знать, что номера LaTeX проставит сам. Теперь мы в состоянии решить эту проблему. Во-первых, для этого надо создать счетчик, значение которого в каждый момент будет равно номеру последней обработанной задачи; во-вторых, в определении команды \z надо предусмотреть, чтобы всякий раз значение этого счетчика увеличивалось на единицу, а затем печаталось в качестве номера задачи. В качестве имени счетчика выберем бесхитростное "zadacha":

\newcounter{zadacha}

(напомним, что при выполнении этой команды счетчику zadacha будет присвоено значение

0
). Теперь модифицируем определение макроса \z так:

\newcommand{\z}{\par\addtocounter{zadacha}{1}% \textbf{Задача \arabic{zadacha}.} }

Напомним, что команда \par означает "завершить предыдущий абзац, если он еще не был завершен"; без нее можно обойтись, если мы будем ставить команду \z только после пустой строки.Знак процента мы поставили, чтобы убрать лишний пробел, порождаемый концом строки. Теперь при первом исполнении команды \z значение счетчика zadacha станет равно

1
и будет напечатано "Задача 1.", при втором исполнении этой команды значение счетчика станет равно уже
2
и напечатается "Задача 2." ... и т.д., что нам и нужно!




Содержание  Назад  Вперед