On Mon, 2 Mar 2015, Charles C. Berry wrote:
On Mon, 2 Mar 2015, Matt Price wrote:
I have a project which will require me to enter about a paragraph in each
of 5 fields several times a day. I would use org tables, but I need to be
able to see the table contents in the buffer, and org hides long lines. I
tried using table.el but it feels incredibly clumsy - for instance, I can't
find a way to add a row to the end of the table, which seems crazy.
I am wondering what other people do in this situation - I guess I could
use a spreadsheet or an odt document but I would much rather stay in emacs
if I can.
I sometimes use babel blocks for this purpose.
But I did not give an example of filling in a table using that
strategy.
So here is an example of how you would use that strategy to fill out a
table with fields that get edited. Obviously, you can use the string
resulting from org-fill-template in other ways than in the example
below.
--8<---------------cut here---------------start------------->8---
* Not exported :noexport:
Define a table template (and put it out of the way in a subtree that
is not exported)
#+name: tmplt
#+BEGIN_SRC org
| Never change me | %a |
| %b | Dont modify me either |
#+END_SRC
Define the fill-in cells and be sure they are not exported:
#+name: pcta
#+BEGIN_SRC org
this is ~a~.
#+END_SRC
#+name: pctb
#+BEGIN_SRC org
this is *b*.
#+END_SRC
* This gets exported
#+HEADER: :var a=pcta() :var b=pctb() :var tm=tmplt()
#+BEGIN_SRC emacs-lisp :wrap latex :exports results
(org-export-string-as
(org-fill-template tm `(("a" . ,a)("b" . ,b)))
'latex t)
#+END_SRC
#+RESULTS:
#+BEGIN_latex
\begin{center}
\begin{tabular}{ll}
Never change me & this is \verb~a~.\\
this is \textbf{b}. & Dont modify me either\\
\end{tabular}
\end{center}
#+END_latex
--8<---------------cut here---------------end--------------->8---
HTH,
Chuck