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 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
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 > > 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
> 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 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
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
> 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 Aloha Tom, great, thanks. This one is working. Did not think about sending the whole file through python. Cheers, Martin >> >> 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