emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: tsd@tsdye.com (Thomas S. Dye)
To: Martin Halder <martin.halder@gmail.com>
Cc: emacs-orgmode@gnu.org
Subject: Re: table as parameter for latex block
Date: Sun, 18 Mar 2012 09:29:52 -1000	[thread overview]
Message-ID: <m13995d7wv.fsf@tsdye.com> (raw)
In-Reply-To: <D2B7C4D8-5D46-40ED-8ABE-46554DF3E613@gmail.com> (Martin Halder's message of "Sun, 18 Mar 2012 20:10:07 +0100")

Martin Halder <martin.halder@gmail.com> writes:

>> Martin Halder <martin.halder@gmail.com> writes:
>> 
>>> Hi all,
>>> 
>>> was trying to use a table as input for a latex block. Is there a way to directly reference parts of the table inside the block or do I have to specify each parameter as separate parameter ?
>>> 
>>> Thanks for help,
>>> Martin
>> Aloha Martin,
>> 
>> Can I ask why you want to use a table as input for a latex block?  An
>> alternative is to send the table to a source block in some other
>> language and then evaluate with :results latex.  The advantage is that
>> the other language can have loops and complex data types that make it
>> relatively easy to deal with tables.  It might be possible to do these
>> kinds of things with TeX, but it is likely to be difficult.
>> 
>> hth,
>> Tom
>
> Aloha Tom,
>
> the reason was that I have a quite complex latex file in a src latex block (which I tangle)
> and just wanted to replace some variables from a table.
>
> But :results latex looks very interesting, will have a look if I can solve it with that one,
> many thanks for the hint.
>
> This is my use case, the example below was maybe too much simplified:
>
> #begin_src latex
> ... weird latex code
> 	\put(-2,-50){
> 		\parbox{8cm}{
> 			\tiny{mycompany - mystree - mycountry}\\ \\
> 			\normalsize
> 			\textbf{company}\\
> 			street\\
> 			\textbf{country}
> 			\vspace{2mm}\\
> 		}
> 	}
> ... weird latex code
> #end_src latex

Aloha Martin,

Here is the basic idea in pseudo python.  

#begin_src python :results output latex
 ... weird latex code
s = ''' 	\\put(-2,-50){
 		\\parbox{8cm}{
 			\\tiny{%s - %s - %s}\\\\ \\\\
 			\\normalsize
 			\\textbf{%s}\\\\
 			street\\\\
 			\\textbf{%s}
 			\\vspace{2mm}\\\\
 		}
 	}''' % (mycompany, mystree, mycountry, company, country)
print s
 ... weird latex code
#end_src python

hth,
Tom

>
> Cheers,
> Martin
>
>> 
>>> 
>>> This is working:
>>> 
>>> #+tblname: data
>>> | Name    | John Doe     |
>>> | Address | Doestreet 42 |
>>> | Country | Doecountry   |
>>> 
>>> #+name: invoice(name=data[0,1], address=data[1,1], country=data[2,1])
>>> #+begin_src latex
>>> name
>>> address
>>> country
>>> #+end_src
>>> 
>>> #+RESULTS: invoice
>>> #+BEGIN_LaTeX
>>> John Doe
>>> Doestreet 42
>>> Doecountry
>>> #+END_LaTeX
>>> 
>>> what I would like to do:
>>> 
>>> #+name: invoice(data=data)
>>> #+begin_src latex
>>> data[0,1]
>>> data[1,1]
>>> data[2,1]
>>> #+end_src
>>> 
>>> or even better:
>>> 
>>> #+name: invoice(data=data)
>>> #+begin_src latex
>>> data['Name']
>>> data['Adress']
>>> data['Country']
>>> #+end_src
>>> 
>>> 
>>> 
>>> 
>> 
>> -- 
>> Thomas S. Dye
>> http://www.tsdye.com
>

-- 
T.S. Dye & Colleagues, Archaeologists
735 Bishop St, Suite 315, Honolulu, HI 96813
Tel: 808-529-0866, Fax: 808-529-0884
http://www.tsdye.com

  reply	other threads:[~2012-03-18 19:30 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-03-18  8:40 table as parameter for latex block Martin Halder
2012-03-18 18:29 ` Thomas S. Dye
2012-03-18 19:10   ` Martin Halder
2012-03-18 19:29     ` Thomas S. Dye [this message]
2012-03-18 19:55       ` Martin Halder

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.orgmode.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=m13995d7wv.fsf@tsdye.com \
    --to=tsd@tsdye.com \
    --cc=emacs-orgmode@gnu.org \
    --cc=martin.halder@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).