Tôi không chắc liệu điều này có đủ điều kiện là lập trình hay không , nhưng gần đây tôi đã bắt đầu làm một cái gì đó giống như công cụ Hướng đối tượng trong LaTeX. (Bạn không cần phải biết bất kỳ phép toán nào để làm theo những điều sau đây.) Trong các bài báo gần đây, tôi đã viết về các thể loại , có các đối tượng và hình thái . Vì có khá nhiều trong số đó, tôi muốn có một phong cách nhất quán sao cho say là một danh mục có đối tượng điển hình C và phép biến hình điển hình c . Sau đó, tôi cũng có 𝒟 với D và d. Vì vậy, tôi định nghĩa một "lớp", giả sử "thể loại" (bạn cần phải là một nhà toán học để hiểu trò đùa ở đó) và tuyên bố rằng C là một thể hiện của lớp này, sau đó có quyền truy cập vào \ ccat, \ cobj, \ cmor và kể từ đó trở đi. Lý do không thực hiện \ cat {c}, \ obj {c}, và \ mor {c}, v.v., là đôi khi các danh mục này có tên đặc biệt và vì vậy sau khi khai báo trường hợp, tôi có thể sửa đổi tên của nó rất dễ dàng (chỉ cần xác định lại \ ccat - tốt, thực ra \ mathccat vì \ ccat là một trình bao bọc chọn \ mathccat trong chế độ toán học và \ textccat trong chế độ văn bản). (Tất nhiên, nó phức tạp hơn một chút so với gợi ý ở trên và nội dung OO thực sự hữu ích khi tôi muốn xác định một danh mục mới như một biến thể của danh mục cũ (nó thậm chí có thể giải quyết trường hợp danh mục cũ thì không) chưa tồn tại.).)
Mặc dù nó có thể không đủ tiêu chuẩn như một chương trình thực tế, nhưng tôi đang sử dụng nó trong các bài báo và thấy nó hữu ích - các câu trả lời khác (cho đến nay) mang nhiều cảm giác thể hiện khả năng của LaTeX hơn là một giải pháp hợp lý cho một vấn đề thực tế.