3

我正在为战争游戏制作电子表格。某些字段具有定义单个模型的点值的常量值,我想让这些字段只读/常量(以免意外修改它们)。这是一个组织模式中的演示列表,有两个骷髅单位(16 和 24 个模型)和两个骨龙(1 和 2 个模型),两者都有升级(总结的附加值):

#+CONSTANTS: SKELETON=6 SKELETON_BOW=2 SKELETON_SWORD=1
#+CONSTANTS: BONE_DRAGON=60 BONE_DRAGON_POISON=20
|---+-------------+------+------+-----+----+-----|
|   | _UNIT_      | P[1] | N[2] |   + |  N |   + |
|---+-------------+------+------+-----+----+-----|
| # | SKELETON    |    6 |   16 |  96 | 24 | 144 |
| # | Bow         |    2 |    0 |   0 | 12 |  24 |
| # | Sword       |    1 |   16 |  16 | 12 |  12 |
| # | *SUMS*      |      |      | 112 |    | 180 |
| # | *TOTAL*     |  292 |      |     |    |     |
|---+-------------+------+------+-----+----+-----|
| # | BONE_DRAGON |   80 |    1 |  80 |  2 | 160 |
| # | Poison      |   20 |    1 |  20 |  0 |   0 |
| # | *SUMS*      |      |      | 100 |    | 160 |
| # | *TOTAL*     |  260 |      |     |    |     |
|---+-------------+------+------+-----+----+-----|
| # | *TOTAL*     |  552 |      |     |    |     |
|---+-------------+------+------+-----+----+-----|
#+TBLFM: @2$3=$SKELETON::@2$5=(@2$3*@2$4)::@2$7=(@2$3*@2$6)::@3$3=$SKELETON_BOW::@3$5=(@3$3*@3$4)::@3$7=(@3$3*@3$6)::@4$3=$SKELETON_SWORD::@4$5=(@4$3*@4$4)::@4$7=(@4$3*@4$6)::@5$5=vsum(@2$5..@4$5)::@5$7=vsum(@2$7..@4$7)::@6$3=(@5$5+@5$7)::@7$3=$BONE_DRAGON::@7$5=(@7$3*@7$4)::@7$7=(@7$3*@7$6)::@8$3=$BONE_DRAGON_POISON::@8$5=(@8$3*@8$4)::@8$7=(@8$3*@8$6)::@9$5=vsum(@7$5..@8$5)::@9$7=vsum(@7$7..@8$7)::@10$3=(@9$5+@9$7)::@11$3=(@6$3+@10$3)

[1] Points per model
[2] Number of models

如您所见,我已经找到了一个带有常量的解决方案(Carsten Dominik 的 constant.el 包 http://staff.science.uva.nl/~dominik/Tools/)。

已取得的成就:

  • 恢复 PPM 的意外修改
  • 常量只定义一次

是否有标准的组织模式方式使字段真正只读?我在组织模式手册中没有找到答案。

4

1 回答 1

0

不确定 org-mode 方式,但“Emacs:使部分缓冲区只读”可能会有所帮助。它的作用是使用 put-text-property 在缓冲区中设置只读属性。

于 2013-08-03T17:02:18.667 回答