ibanez_222 发表于 2022-7-6 08:31:15

文字对齐Lisp

我有一个关于Lisp程序的理由的想法,如果有人觉得无聊,想试试,因为我不知道从哪里开始,我还是Lisp程序的新手。我想,如果有人制作一个lisp,它会将一个方框围绕一段文本分成9个部分,分别是上中、右上、左上、左中、右下、下中中、左下、右中和中中中。当你点击这些区域时,如果对任何人来说都有意义的话,它会使文本具有合理性。我发现自己经常更改对齐方式,我认为如果你添加ctrl+J或其他快捷键,这将是一个很好的例程。不知道这是不是很难,但如果有人同意这将是很好的,并希望尝试这将是很酷的。谢谢

fixo 发表于 2022-7-6 08:40:47

从命令行中的命令justifytext开始
干杯

alanjt 发表于 2022-7-6 08:49:26

;; Justification Macros
;; Alan J. Thomspon

(defun _justifyIt (justify title / ss)
(princ (strcat "\nSelect *Text to " title " justify: "))
(if (setq ss (ssget "_:L" '((0 . "ATTDEF,MTEXT,TEXT"))))
   (command "_.justifytext" ss "" justify)
)
(princ)
)

(defun c:JC (/) (_justifyIt "_MC" "Middle Center"))
(defun c:JL (/) (_justifyIt "_ML" "Middle Left"))
(defun c:JR (/) (_justifyIt "_MR" "Middle Right"))
(defun c:BC (/) (_justifyIt "_BC" "Bottom Center"))
(defun c:TC (/) (_justifyIt "_TC" "Top Center"))

ibanez_222 发表于 2022-7-6 09:00:25

我确实喜欢Lisp程序。不过,我添加了右上/左和右下/左,因为我经常使用它们。我只是想找到最快的方法来做到这一点,因为在很多情况下,我改变了很多理由。谢谢你的帮助,艾伦。以下是我添加的内容,效果很好:
 

;; Justification Macros
;; Alan J. Thomspon
(defun _justifyIt (justify title / ss)
(princ (strcat "\nSelect *Text to " title " justify: "))
(if (setq ss (ssget "_:L" '((0 . "ATTDEF,MTEXT,TEXT"))))
   (command "_.justifytext" ss "" justify)
)
(princ)
)
(defun c:ML (/) (_justifyIt "_ML" "Middle Left"))
(defun c:MR (/) (_justifyIt "_MR" "Middle Right"))
(defun c:BC (/) (_justifyIt "_BC" "Bottom Center"))
(defun c:TC (/) (_justifyIt "_TC" "Top Center"))
(defun c:BR (/) (_justifyIt "_BR" "Bottom Right"))
(defun c:BL (/) (_justifyIt "_BL" "Bottom Left"))
(defun c:TL (/) (_justifyIt "_TL" "Top Left"))
(defun c:TR (/) (_justifyIt "_TR" "Top Right"))
(defun c:MC (/) (_justifyIt "_MC" "Middle Center"))

alanjt 发表于 2022-7-6 09:05:55

很高兴听到你找到了有用的东西。顺便说一句,你们并没有把所有的东西都抄下来——看最后一行。

ibanez_222 发表于 2022-7-6 09:14:52

 
你说得快,在你回答之前我没有修好,但现在就好了。谢谢

alanjt 发表于 2022-7-6 09:18:41

仅供参考,您将两次定义同一选项(中间点等)——一次是使用我的一些宏,另一次是使用您的宏。

ibanez_222 发表于 2022-7-6 09:31:10

 
是的,我注意到了这一点,再次编辑了它,并使用了我的。我不知道JC、JR、JL而不是MC、MR和ML是否有特殊原因?我想是因为你已经用完了。

alanjt 发表于 2022-7-6 09:34:15

对的我通常只使用JC/JR/JL,所以它最初是作为Justify开始的。
页: [1]
查看完整版本: 文字对齐Lisp