กำหนดดาว“ *” - ให้กลายเป็นจุด
เมื่อเขียนในโหมดคณิตศาสตร์สามารถกำหนด a * ให้กลายเป็น \ cdot ในเอกสารหลักได้หรือไม่?
ทำให้ง่ายขึ้นเมื่อเขียนสมการเพื่อสร้างดาว
คำตอบ
\documentclass{article}
% \DeclareMathSymbol{\cdot}{\mathbin}{symbols}{"01} % from fontmath.ltx
\DeclareMathSymbol{*}{\mathbin}{symbols}{"01}
\begin{document}
$ x * y $
\end{document}
ทั้ง
\mathcode`\*=\number\cdot
หรือ
\mathcode`\*=\number\circ
หรือ
\mathcode`\*=\number\bullet
( \numberไม่จำเป็นจริงๆ แต่อาจช่วยได้สำหรับเวอร์ชันที่ผิดปกติ\circหรือ\cdotหรือ\bullet)
ดังที่ฉันได้ชี้ให้เห็นในความคิดเห็นการกำหนดใหม่ในการใช้งาน* ในทางที่ผิดจะป้องกันไม่ให้คุณใช้มาโครโหมดคณิตศาสตร์รุ่นดาว (ดูรายการบางส่วนด้านล่าง *) ตัวอย่างเช่นการเปิด*ใช้งานอาจเป็นวิธีที่ผิด อย่างไรก็ตาม David C และ Don ต่างทราบว่าแนวทางของพวกเขาไม่ประสบปัญหานี้และฉันก็ประมาทที่ไม่ได้สังเกตถึงความแตกต่าง
แม้ว่าการใช้มาโครดาวในโหมดคณิตศาสตร์อาจหายาก แต่ก็มักเกิดขึ้นมากพอที่จะรับประกันการหลีกเลี่ยงวิธีการที่จะใช้แอคที*ฟ แม้ว่าคุณจะใช้แนวทางของ David แต่คุณจะสูญเสียการใช้เครื่องหมายดอกจันเรียงพิมพ์ในโหมดคณิตศาสตร์เว้นแต่คุณจะบันทึกไว้ล่วงหน้าในมาโครที่ตั้งชื่อ
ทางเลือกที่จะไม่ยุ่งกับ*ในทางใดทางหนึ่งจะ \*redefine นี่คือมาโครเท็กซ์ธรรมดาที่เรียกว่า "เครื่องหมายการคูณตามดุลยพินิจ" ฉันไม่เคยใช้มันด้วยตัวเอง แต่แนวคิดก็คือคุณสามารถวางระหว่างคำศัพท์คณิตศาสตร์คูณได้ โดยปกติจะไม่ทำอะไรเลย แต่ถ้าการขีดเส้นใต้ต้องการให้เกิดขึ้นระหว่างสองคำสัญลักษณ์ (เทียบเท่า\times) จะถูกแทรกที่ปลายบรรทัด (ในขนาดข้อความ) มันทำหน้าที่เหมือนยัติภังค์คณิตศาสตร์ แต่มีแทน\times -ถ้าคุณชอบก็ไม่เคยใช้ดังกล่าวสร้างแล้วผมคิดว่ามันจะปลอดภัยที่จะกำหนดมากกว่า\**
\documentclass{article}
\renewcommand\*{\cdot}
\begin{document}
$ x \* y $
\end{document}
* ตัวอย่างของแมโครดาวรวมถึงสิ่งที่ชอบ\tag*, \ref*, \\*, \matrix*(และทุกสายพันธุ์ของมัน) \operatorname*, \alignat*เพียงแค่การเริ่มต้น
เพื่อความสมบูรณ์เวอร์ชันสำหรับunicode-math:
\documentclass{article}
\usepackage{unicode-math}
\AtBeginDocument{\Umathcode`\* = 2 0 "22C5}
\begin{document}
$x*y$
\end{document}