<?xml version="1.0" encoding="utf-8"?> 
<rss version="2.0"
  xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd"
  xmlns:atom="http://www.w3.org/2005/Atom">

<channel>

<title>Блоги: заметки с тегом TeX</title>
<link>https://blogengine.ru/blogs/tags/tex/</link>
<description>Автоматически собираемая лента заметок, написанных в блогах на Эгее</description>
<author></author>
<language>ru</language>
<generator>Aegea 11.0 (v4079e)</generator>

<itunes:subtitle>Автоматически собираемая лента заметок, написанных в блогах на Эгее</itunes:subtitle>
<itunes:image href="" />
<itunes:explicit>no</itunes:explicit>

<item>
<title>BaSiX</title>
<guid isPermaLink="false">124760</guid>
<link>https://bolknote.ru/all/basix/</link>
<pubDate>Thu, 07 Dec 2023 14:02:18 +0500</pubDate>
<author>Евгений Степанищев</author>
<comments>https://bolknote.ru/all/basix/</comments>
<description>
&lt;p&gt;&lt;a href="https://bolknote.ru/"&gt;Евгений Степанищев&lt;/a&gt;:&lt;/p&gt;
&lt;p&gt;Волею судеб попалась на глаза старая заметка, где я &lt;a href="https://bolknote.ru/all/2927/"&gt;писал&lt;/a&gt;, что где-то в интернете увидел упоминание «Бейсика», написанного на языке &lt;i&gt;TeX&lt;/i&gt;.  Сам интерпретатор у меня тогда найти не получилось.&lt;/p&gt;
&lt;p&gt;То был 2001-й, поисковые машины работали плохо, поэтому я решил посмотреть не найдётся ли тот «Бейсик» сейчас.&lt;/p&gt;
&lt;p&gt;Нашёлся без проблем, интерпретатор называется &lt;a href="https://ctan.org/tex-archive/macros/generic/basix"&gt;&lt;i&gt;BaSiX&lt;/i&gt;&lt;/a&gt; и реализует весьма небольшое подмножество бейсика, всего &lt;a href="https://tug.org/TUGboat/Articles/tb11-3/tb29greene.pdf"&gt;несколько команд&lt;/a&gt;, на котором всё-таки можно написать что-нибудь несложное.&lt;/p&gt;
&lt;p&gt;К сожалению, я совсем не знаю &lt;i&gt;TeX&lt;/i&gt;, но подозреваю, что автору пришлось немало потрудиться, чтобы реализовать хотя бы то, что есть на этом языке — всё-таки он задумывался как часть системы для компьютерной вёрстки академических текстов, а не как язык общего назначения.&lt;/p&gt;
&lt;p&gt;Попробовал реализовать на &lt;i&gt;BaSiX&lt;/i&gt;е вычисление значения числа «Пи» рядом Лейбница, получилось приближенное значение с небольшой ошибкой в четвёртом знаке после запятой.&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class="basic"&gt;00 print &amp;quot;Leibniz formula for PI. 2023. https://bolknote.ru&amp;quot;
10 let num=4000000
20 let den=1
30 let sum=0
40 let sign=1
50 if sign then let sum=sum+num/den
60 let sign=1-sign
70 if sign then let sum=sum-num/den
80 let den=den+2
90 if den&amp;lt;18663 then goto 50
100 print sum
run&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Дробных чисел интерпретатор не поддерживает (и отрицательные числа, кстати, тоже), поэтому число «Пи» у меня выводится как целое: &lt;tt&gt;3141699&lt;/tt&gt;, но если поставить запятую на требуемую позицию, то будет довольно близко к &lt;tt&gt;3,141592…&lt;/tt&gt;.&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://bolknote.ru/pictures/2023.12.07@2x.jpg" width="1000" height="432" alt="" /&gt;
&lt;div class="e2-text-caption"&gt;Результат запуска программы — число 3141699&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Ничего сложнее этого (например, «&lt;a href="https://bolknote.ru/tags/beer99/"&gt;песню о пиве&lt;/a&gt;») написать не получится — в языке нет почти ничего для работы со строками, например у оператора &lt;tt&gt;print&lt;/tt&gt; только один аргумент и тот выводится исключительно с переводом строки в конце.&lt;/p&gt;
&lt;p&gt;Я пытался вчера вечером допилить интерпретатор при помощи ЧатаГПТ 3.5, но для кованого мешка такое слишком сложно.&lt;/p&gt;
</description>
</item>


</channel>
</rss>