2013-01-25 39 views
6

Tôi có một bảng chế độ org Emacs trông như thế này:Orgmode Bảng Formatting của tế bào

|--------------------------------+------------------------------------------------------| 
| <20>       | <60>             | 
| How do you alter your password | The command to alter your password in oracle is:: | 
| in Oracle?      |              | 
|        |  ALTER USER {userid} IDENTIFIED BY {password}; | 
|        |              | 
|--------------------------------+------------------------------------------------------| 

Khi bảng được thay đổi kích cỡ với C-c C-c tức với phím tắt: Ctrl-C + Ctrl-C, hoặc tự động, nó tàn tích khoảng cách bên trong của các yếu tố bảng và tôi nhận được:

|--------------------------------+------------------------------------------------------| 
| <20>       | <60>             | 
| How do you alter your password | The command to alter your password in oracle is:: | 
| in Oracle?      |              | 
|        | ALTER USER {userid} IDENTIFIED BY {password};  | 
|        |              | 
|--------------------------------+------------------------------------------------------| 

Nó tự động cắt không gian hàng đầu khỏi nội dung trong bảng. Có cách nào để ngăn chặn điều này trong bảng chế độ org không? Tôi muốn chế độ tổ chức không thay đổi định dạng của nội dung.

Đây là phiên bản Emacs 24.3.50, nhưng hành vi giống nhau trong phiên bản 24.2 (Tôi đã thử trong cả hai phiên bản).

+0

Hãy thử tự động căn chỉnh các cột số lượng phong phú đến đúng http://orgmode.org/manual/Column-width-and-alignment.html – artscan

+0

Tôi vừa thử đề xuất của bạn và nó phải căn chỉnh tất cả văn bản. Đó không phải là những gì tôi đang cố gắng làm. Tôi đã hy vọng sẽ có một cách để nó không làm bất kỳ định dạng nội dung nào. – jmq

+4

Điều gì về việc sử dụng không gian không thể phá vỡ? Chế độ tổ chức không chạm vào chúng. – choroba

Trả lời

0

Cách thực sự hack-ish để làm việc xung quanh nó là xác định lại hoặc defadvice xung quanh org-table-align. Đoạn mã có liên quan gần như ở đây. Bằng cách thay đổi * thành?, Bạn sẽ giữ khoảng trắng ngay từ đầu.

 
--- ./org-table.el 
+++ ./org-table.el.orig 
@@ -752,7 +752,7 @@ 
    ;; Get the data fields by splitting the lines. 
    (setq fields (mapcar 
      (lambda (l) 
-   (org-split-string l " *| *")) 
+   (org-split-string l " *| ?")) 
      (delq nil (copy-sequence lines)))) 
    ;; How many fields in the longest line? 
    (condition-case nil 

Tôi không chắc chắn nếu bạn thực sự muốn thực hiện điều đó. Bạn có cân nhắc việc tái cơ cấu đánh dấu của mình, có lẽ bằng cách sử dụng các tiêu đề thay vào đó, với một chức năng đánh dấu tùy chỉnh trong trường hợp bạn thực sự cần nó để trông giống như các bảng sau đó? Nếu điều đó khiến bạn boggle, một cách khác để thực hiện điều đó có thể là với các khối # + BEGIN_HTML và # + END_HTML. Không thanh lịch, nhưng cũng ah ...

Các vấn đề liên quan