
في عام 2016 ، صادفت أوليفر بيرن
"أول ستة كتب لعناصر إقليدس". السمة الرئيسية لهذا الكتاب هي أنه بدلاً من تسميات الحروف العادية مثل "المثلث ABC" ، فإنه يستخدم ادراج صور مصغرة مباشرة في النص ، على سبيل المثال ، صورة للمثلث. على الرغم من صعوبة الأمر في القرن التاسع عشر ، بنفس السهولة ، باستخدام الأدوات المناسبة ، يجب أن يكون إعداد مثل هذا الكتاب في الوقت الحاضر. ولذا قررت أن أعرف بنفسي ما إذا كان هذا هو الحال.

تم رفض الخيار الأكثر وضوحًا - لرسم جميع الرسوم التوضيحية في Illustrator وتكوين كل شيء في InDesign - على الفور. ليست الإنشاءات الهندسية هي أسهل شيء يمكن القيام به في Illustrator ، ولا توجد طريقة واضحة لربط الصورة الرئيسية بالمنمنمات تلقائيًا. بالنسبة لبرنامج InDesign ، على الرغم من أنه جيد جدًا في التعامل مع هذه المخططات الغنية بصريًا ، إلا أنه وعد بتخويف الجحيم من لوحة "Links" المكتظة. لذلك ، دون التفكير مرتين ، قررت استخدام الأدوات الأخرى التي كنت معتادًا عليها - MetaPost ، مما جعل من السهل نسبيًا التعامل مع الهندسة ، و LaTeX ، والتي عرفت أنها يمكن أن تؤدي المهمة. نظرًا لوجود بعض المشكلات في MetaPost libs الخاصة بـ LaTeX ، فقد استبدلت هذا الأخير بـ ConTeXt الذي يتمتع بعلاقة ميلاد سعيد مع MetaPost.
كيف تعمل بشكل عام
تحتوي "العناصر" على 13 جزءًا ، تسمى "الكتب" ، والتي صنع بيرن منها الأجزاء الستة الأولى فقط. يتكون الكتاب في معظمه من "المقترحات" - النظريات والمشاكل. كل اقتراح يحتوي على مخطط (عادةً ما يكون) وبعض النص ، حيث تتم الإشارة إلى المخطط.
بالنسبة للإنشاءات ، قمت بإنشاء ماكرو ConTeXt الذي يقوم بإنشاء مثيل MetaPost جديد. وفي MetaPost ، مجموعة من الوظائف لإنشاء هذه الإنشاءات. استخدامها يبدو مثل هذا إلى حد ما:
\defineNewPicture{ % Inside this thing you put the construction pair A, B, C, D; % MetaPost has a special type of variables for coordinates numeric d; d := 2u; A := (0, 0); % B := A shifted (d, 0); % Point coordinates are set here C := A shifted (0, -d); % D := A shifted (d, -d); % byAngleDefine(B, A, C, byblack, 0); % These define angles: byAngleDefine(D, B, A, byblue, 0); % first—angle points, byAngleDefine(C, D, B, byred, 0); % then color, byAngleDefine(A, C, D, byyellow, 0); % then style. draw byNamedAngleResized(); % This thing draws all the angles. byLineDefine(A, B, byred, 0, 0); % These define line segments: byLineDefine(B, D, byyellow, 0, 0); % first—ends, byLineDefine(D, C, byblack, 0, 0); % then color and style, byLineDefine(C, A, byblue, 0, 0); % then thickness. draw byNamedLineSeq(0)(AB,BD,DC,CA); % This thing draws a sequence of lines. } \drawCurrentPicture

بالنسبة لنصوص الاقتراحات ، قمت بعمل سلسلة من وحدات الماكرو التي ترسم الصور في نفس مثيل MetaPost. بشكل عام ، يقومون بتنفيذ كود MetaPost التعسفي ، لكن في معظم الأحيان ، يأخذون أسماء الكائنات كوسائط. مثل هذا:

هذه هي الطريقة التي تعمل بها هذه الأجزاء معًا:

بعض الميزات
الصور في الكتاب ليست معقدة للغاية ، ولكن بعض الأجزاء تتطلب عناية خاصة.
إذا كانت قطاعات الخطوط تلامس بعضها البعض بنهاياتها ، فإن نقطة اللمس تحتاج إلى تمثيل رائع. في الوقت الحالي ، يتم دعم اتصال سطرين فقط. يمكن ببساطة وضع خطوط أخرى تحت هذا المفصل. على الرغم من أن الكتاب الأصلي يستخدم نوعين من المفاصل على الأقل ، في رأيي ، واحد فقط يكفي.

يتم تصوير الزوايا على أنها قطاعات دائرية. إذا كانت الزاوية صغيرة بدرجة كافية ، فقد يبدو القطاع بنفس دائرة نصف قطرها صغيرًا لذا فمن المنطقي توسيعها. حاليًا ، يبقى نصف القطر كما هو بالنسبة للزوايا التي تفوق 60 درجة ، وبالنسبة للزوايا الأصغر ، يتم استخدام هذه الصيغة:
.

لتبدو لطيفة ، يجب أن تبدأ الخطوط المتقطعة وتنتهي بشرطة كاملة. ولتحقيق ذلك ، يتم تحجيم نمط الشرطة قليلاً ليتناسب مع طول الخط بشكل جيد (يحتوي Illustrator على ميزة مشابهة ، ولكن خطوطه المتقطعة تبدأ وتنتهي بنقط نصف بدلاً من الشرطات الكاملة.)

هناك عدة طرق لتصوير مقاطع الخطوط في النص: يمكنك جعلها بنفس الطول ، مع الاحتفاظ بألوانها فقط ، أو يمكنك إظهار طولها بطريقة أو بأخرى. بيرن يفعل كلاهما. لدي الصيغة التالية لهذا:
اين
هو طول السطر في النص ،
طول الخط الأصلي ،
هو طول الخط المطلوب و
هو عدد ما بين 0 و 1. إذا
اذن
وهذا يعني أن أي جزء خط سيكون طوله
. إذا
اذن
. إذا
، ثم مع
.
ومع
.
وهذا يعني أن الشرائح الأقصر تصبح أطول ، بينما تصبح الأجزاء الأطول أقصر. قد ترغب في ذلك إذا كنت ترغب في الاحتفاظ بأطوال الخطوط النسبية مع تجنب الخطوط 2 مم بجانب الخطوط 2 سم. (بصراحة ، كل شيء أكثر تعقيدًا ، لكن الفكرة العامة هي نفسها).

على الرغم من أن بيرن قرر عدم استخدام تسميات الحروف على الإطلاق ، إلا أن إدوارد تافت في
أحد كتبه ، بينما أشاد بعمل بيرن ، اقترح أن الملصقات الصغيرة ستساعد بالفعل. ونظرًا لأن العديد من الأشياء يتم تشغيلها تلقائيًا على أي حال ، فإن إضافة حروف صغيرة لم تكن كبيرة جدًا من الصفقة. افتراضيًا ، تكون أسماء النقاط هي أسماء المتغيرات التي تحتفظ بإحداثياتها. يمكن وضع الملصقات على رؤوس المضلعات ، في نهايات قطاعات الخطوط & c. بالطبع ، يمكن تشغيل وإيقاف التسميات (للأسف ، مما يؤثر على التخطيط).

ومع ذلك ، فإن معظم الشفرة مخصصة لأشياء أقل وضوحًا للقارئ وأكثر من ذلك بكثير للمؤلف / المحرر. يتضمن ذلك التعرف الصحيح على قطع الخط والمرادفات الزاوية ، ووضع الحروف تلقائيًا حول مجموعات المضلعات ، وأشياء أخرى من هذا القبيل.
هناك أيضًا الأحرف الأولى والأحرف في النسخة الأصلية. من ناحية ، كان من السهل إعادة إنشائها بشكل معقول (على الأقل ، لن يستغرق الأمر كثيرًا من التفكير في القيام بذلك) ، لكنني قررت أن أذهب مع خيار أكثر إثارة للاهتمام (وإن كان ميئوسًا منه) - يتم تلقائيًا إنشاء الأحرف الأولى والرسائل القصيرة مع زخرفة عشوائية. ليس الأمر ممتعًا فحسب ، بل يتطلب أيضًا الترجمة الروسية تكييف أسلوب الأحرف الأولى مع النص السيريلي ، وهذا ليس شيئًا أفضل القيام به. لذلك ، قصة قصيرة طويلة ، عند ترجمة الكتاب ، يتم كتابة قائمة بالحروف الأولية على القرص ، ويمكن لبرنامج MetaPost منفصل معالجتها (ببطء شديد) لإنتاج الأحرف الأولى والرسائل القصيرة. لا اثنين منهم لديهم نفس الزخرفة بالضبط.

الفكرة واضحة إلى حد ما: ضع تجعيد الشعر على أجزاء من الرسالة وعلى الإطار ، بحيث يمكن أن تنمو. يتم ذلك عدة مرات. يتم تضمين جميع المنحنيات في التكرارات اللاحقة. بعد ذلك ، تزرع بعض "الأوراق" بنفس الطريقة. شكل وخصائص براعم مختلفة قابلة للتعديل.

لا يمكنني القول أنني سعيد بالنتائج ، لكنني ببطء أحسن الخوارزمية وأتمنى تحقيق الأفضل (على أي حال ، يمكنك استبدال الأحرف الأولى التي تم إنشاؤها بالصور التي تختارها). كمكافأة ، يمكن للبرنامج النصي أيضًا إنتاج مربعات عشوائية.

ترجمة
للعثور على المزيد من الأخطاء المطبعية والأخطاء ، ومن أجل ذلك فقط ، قررت ترجمة الكتاب إلى اللغة الروسية. في البداية ، استخدمت ترجمة Murduhai-Boltovskoi المعروفة كمرجع ، لكنني سرعان ما وجدت أن Byrne تغير كثيرًا في نظريات Euclid لتكون الترجمة المرجعية مفيدة جدًا. لكي أكون أمينًا ، لم أعمل بجد على الترجمة ، خاصة تلك المقدمة ، ولم أجد إلا وقتًا قصيرًا بعض الوقت لتهدئتها.
إذا وضعنا الكتاب الخامس غير السار حقًا (والذي صُمم
بشكل منفصل قبل عدة سنوات من الكتب الخمسة الأخرى) ، لم يكن الأمر صعبًا للغاية. ساعدت عملية الترجمة في اصطياد الحشرات ، كلا من لي وبيرين. على سبيل المثال ، لا يتطابق
الرسم التخطيطي للاقتراح 9 في الكتاب السادس مع النص ، مما يجعل الدليل غير صحيح ، لذلك اضطررت لتغييره.
شيء واحد مسلية عثرت عليه أثناء الترجمة: في المقدمة ، حيث يتفاخر المؤلف بفوائد طريقته ،
اقتبس من كلمات هوراس فيما يتعلق بتفوق الرؤية على الحواس الأخرى. بعد عدة صفحات ، قرر (أفترض أن أكون أكثر إقناعًا) أن أقتبس آية "شاعر حديث" ذات معنى مماثل. تحولت هذه الآية إلى ترجمة
أخرى لآية هوراس نفسها. لحسن الحظ ، بالنسبة للترجمة الروسية ، وجدت زوجتي
آية مناسبة من قبل مؤلف إنجليزي. بطبيعة الحال ، في النسخة الإنجليزية ، لم أغير الشيء.

ميزة أخرى في الترجمة الروسية هي أن يتم تشغيل تسميات الحروف بشكل افتراضي. ومع ذلك ،
يُطلب من شخص ما إعداد إصدار باللغة الإنجليزية مع تشغيل الرسائل أيضًا ، وأنا أفكر في جعله الخيار الافتراضي نظرًا لوجود إصدار "بلا أحرف" (وأكثر من نسخة واحدة بالفعل) على أي حال.
بدأ رجل من بولندا في إجراء
ترجمة بولندية للكتاب وقدم العديد من المساهمات القيمة للغاية في طريقه (كانت تحجيم الزوايا ، على سبيل المثال ،
فكرته ). آمل أن تتم ترجمته بسلاسة. لقد ساعدني أيضًا في النسخة الإنجليزية من هذا المقال قليلاً.
النتائج المؤقتة
بعد أن لعبت مع هذا الكتاب لفترة من الوقت أستطيع أن أقول ما يلي. الصور المضمنة هي في الواقع سهلة القراءة. الآن أستخدم هذه التقنية في المواقف الأخرى أيضًا. بالنظر إلى أنني عملت فقط في هذا المشروع في المساء بعد وظيفة بدوام كامل وفي عطلات نهاية الأسبوع ، لم يستغرق الكثير من الوقت: حوالي ستة أشهر للنسخة الإنجليزية الأولى وحوالي ثلاثة للترجمة الروسية ، مع كل التخطيط والترميز. على الرغم من أنني امسك الأخطاء وإصلاح الأخطاء المطبعية حتى يومنا هذا.
منذ اليوم الأول الذي نشرت فيه النسخة الأولى ،
بدأت حملة على كيك ستارتر تهدف إلى "إكمال عمل بيرن" (أي ، كما يفهم المؤلفون ، لجعل جميع كتب إقليدس الثلاثة عشر بأسلوب بيرن) قد بدأت وتنتهي. يبدو أنهم يستخدمون InDesign للتخطيط. ما يستخدمونه لرسم الرسوم البيانية ، لم أستطع معرفة ذلك. نأمل أن ينجحوا في جعل هذا الكتاب جيدًا مثل أعمالهم الأخرى. ومؤخرًا ، صنع مصمم أمريكي
إصدارًا أنيقًا للغاية
على الإنترنت . لقد استخدم Illustrator لرسم المخططات.
خطط
لا يحتوي كتاب بيرن على أي هندسة صلبة (احفظ صورة متوازية في المقدمة). لم
أقم بصنع أي أدوات لذلك ، لكن في مرحلة ما ، قررت إضافة بعض ، لذلك بدأت في
"تحسين" الكتب من 11 إلى 13 للحصول على شيء لاستخدام الأدوات الجديدة عليه. في الوقت الحالي ، تم صنع ما يزيد قليلاً عن نصف الكتاب الحادي عشر تقريبًا ، إلى جانب بعض الوظائف لإنشاء هياكل صلبة وعرضها على مستوى الشاشة. على الرغم من ذلك ، فإن الإنشاءات الصلبة في المتوسط أكثر تعقيدًا بكثير من تلك الخاصة بالطائرات ، وأنا لست متأكدًا حتى الآن من أن مقاربة Byrne ستناسبها جيدًا وما إذا كانت MetaPost أداة مناسبة للوظيفة.

الصور في نص الاوقات تحتاج الى بعض المسافات بين الحروف. وبالمثل ، فإن الصور الأطول والأكثر تشددًا على الخطوط المجاورة تنتشر الخطوط على نطاق واسع جدًا ، وهو مناسب فقط في حالة تصادم هذه الصور. لا أعرف حتى الآن كيف وما إذا كان بإمكاني إيجاد حل تلقائي لهذه المشكلات ، لكنني بالتأكيد أريد ذلك لأن إصلاحها يدويًا أمر شاق للغاية.

يمكن أيضًا استخدام MetaPost من داخل LaTeX وكبرنامج مستقل. في المستقبل ، أخطط لجعل وحدات ماكرو LaTeX مماثلة لوحدات ConTeXt ، للسماح باستخدامها في بيئة أكثر شيوعًا. من الناحية النظرية ، يمكن استخدام MetaPost مع InDesign أيضًا. من الممكن إنتاج صور باستخدام MetaPost وربطها في ملف InDesign الآن ، لكن هذه العملية تتطلب أتمتة مع بعض البرامج النصية في InDesign. يبدو الأمر منحرفًا إلى حد ما ، لكنني اكتشفت نفسي أفكر في هذا أكثر من مرة ، لذلك أجد أنه يستحق التفكير.
أخيرًا وليس آخرًا ، أريد تطبيق الأدوات على شيء أكثر حداثة وعمليًا من "العناصر".
كل الأشياء التي يمكن العثور عليها
هنا ، pdf-s موجودة في قسم "الإصدارات".