Re: [GENERAL] psql latex and newlines
On Tue, Apr 10, 2012 at 03:18:27PM +0200, Wim Bertels wrote: > On vr, 2012-03-30 at 16:25 +0200, Wim Bertels wrote: > > On do, 2012-03-15 at 16:34 -0300, Alvaro Herrera wrote: > > > Excerpts from Wim Bertels's message of jue feb 23 12:46:29 -0300 2012: > > > > > > > > the problem arises when u have a field value that contains a > > > > > > > > newline > > > > > > > > character, when this field is not the first column, then all > > > > > > > > the data > > > > > > > > after this newline comes in the first column.. > > > > > > > > > > > > > > > > u can try this out, writing a function or table, > > > > > > > > and then add 'enters' or newline in the COMMENT on this > > > > > > > > function or > > > > > > > > table. > > > > > > > the option i came across is the usage of \pbox, > > > > so the suggestion would be to put every field/cell inside a pbox. > > > > > > Did you come up with a patch for this? > > A more polished version on page 7 and 8 of the pdf, > in attachment: > 1. include the psql latex a separate file > 2. use longtable instead of table > 3. if horizontal lines are needed they can easily be uncommented Looks good. Can I see the psql patch for this improvement? -- Bruce Momjian http://momjian.us EnterpriseDB http://enterprisedb.com + It's impossible for everything to be true. + -- Sent via pgsql-general mailing list (pgsql-general@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general
Re: [GENERAL] psql latex and newlines
Excerpts from Wim Bertels's message of jue feb 23 12:46:29 -0300 2012: > > > > > the problem arises when u have a field value that contains a newline > > > > > character, when this field is not the first column, then all the data > > > > > after this newline comes in the first column.. > > > > > > > > > > u can try this out, writing a function or table, > > > > > and then add 'enters' or newline in the COMMENT on this function or > > > > > table. > the option i came across is the usage of \pbox, > so the suggestion would be to put every field/cell inside a pbox. Did you come up with a patch for this? -- Álvaro Herrera The PostgreSQL Company - Command Prompt, Inc. PostgreSQL Replication, Consulting, Custom Development, 24x7 support -- Sent via pgsql-general mailing list (pgsql-general@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general
Re: [GENERAL] psql latex and newlines
> > > > the problem arises when u have a field value that contains a newline > > > > character, when this field is not the first column, then all the data > > > > after this newline comes in the first column.. > > > > > > > > u can try this out, writing a function or table, > > > > and then add 'enters' or newline in the COMMENT on this function or > > > > table. > > > > > > > > There is also a problem with long lines as u can test by uncommenting > > the t4bruce3 function. > > Well, I was hoping you could tell me exactly how you wanted the behavior > changed and I could try to implement it in psql. I am afraid I don't > know enough about TeX to understand the isssue involved. > Hi Bruce, the option i came across is the usage of \pbox, so the suggestion would be to put every field/cell inside a pbox. Instead of \begin{tabular}{l | l | l} \textit{Schema} & \textit{Name} & \textit{Description} \\ \hline latex\_test & t4bruce1 & This function and so on enter\\ another enter,\ \ just one more.\\ \\ latex\_test & t4bruce2 & This function and so on enter\\ another enter,\ \ just one more,\\ so now have even one more.\\ \\ \end{tabular} the generated code could like: \begin{tabular}{l | l | l} \textit{Schema} & \textit{Name} & \textit{Description} \\ \hline \pbox{\textwidth}{latex\_test} & \pbox{\textwidth}{t4bruce1} & \pbox{\textwidth}{This function and so on enter\\ another enter,\\ just one more.\\} \\ \pbox{\textwidth}{latex\_test} & \pbox{\textwidth}{t4bruce2} & \pbox{\textwidth}{This function and so on enter\\ another enter,\\ just one more,\\ so now have even one more.\\} \\ \end{tabular} Comments: - the improvement is that now newlines inside boxes stay inside these boxes (or cells/fields), it is not a complete solution as very long lines are not automatically formatted into several lines inside a box, but if necessary the db-user can do a a search and replace in the generated tex code s\textwidth\20cm for example, makes every box 20cm at maximum. (maybe to be put in the docu somewhere as a comment on textwidth). This all depends on the page format, unfortunately (for now? in latex) the nice (p)aragraph formatting doesn't fully extend inside a table (cf tabular) - i'm not a tex specialist, but also the people i know didn't find a better solution mvg, Wim -- Sent via pgsql-general mailing list (pgsql-general@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general
Re: [GENERAL] psql latex and newlines
On Mon, Feb 13, 2012 at 02:50:12PM +0100, Wim Bertels wrote: > On vr, 2012-02-10 at 19:25 -0500, Bruce Momjian wrote: > > On Mon, Dec 12, 2011 at 07:15:12PM +0100, Wim Bertels wrote: > > > Hallo, > > > > > > psql latex output format needs to differentiate between a newline and a > > > tabularnewline. > > > > > > the problem arises when u have a field value that contains a newline > > > character, when this field is not the first column, then all the data > > > after this newline comes in the first column.. > > > > > > u can try this out, writing a function or table, > > > and then add 'enters' or newline in the COMMENT on this function or > > > table. > > > > > > the \pset recordsep doesn't solve this, since the mistakes take place > > > within the same record. > > > > Can you give me a self-contained test case I can use so I can use it to > > fix the to code? > > Hi Bruce, > > i have attached some files: > 1 sql file > 1 corresponding output file > 1 full latex file using the output of the above file > > i don't see and easy search/replace fix for this problem, > maybe using the \multirow and \multicolumn options in latex is the most > general solution, > as all the others seems to need concrete dimensions (as width) > > http://www.google.com/search?client=ubuntu&channel=fs&q=newline+tabular > +cell+latex&ie=utf-8&oe=utf-8 > > http://andrewjpage.com/index.php?/archives/43-Multirow-and-multicolumn-spanning-with-latex-tables.html > > There is also a problem with long lines as u can test by uncommenting > the t4bruce3 function. Well, I was hoping you could tell me exactly how you wanted the behavior changed and I could try to implement it in psql. I am afraid I don't know enough about TeX to understand the isssue involved. -- Bruce Momjian http://momjian.us EnterpriseDB http://enterprisedb.com + It's impossible for everything to be true. + -- Sent via pgsql-general mailing list (pgsql-general@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general
Re: [GENERAL] psql latex and newlines
On vr, 2012-02-10 at 19:25 -0500, Bruce Momjian wrote: > On Mon, Dec 12, 2011 at 07:15:12PM +0100, Wim Bertels wrote: > > Hallo, > > > > psql latex output format needs to differentiate between a newline and a > > tabularnewline. > > > > the problem arises when u have a field value that contains a newline > > character, when this field is not the first column, then all the data > > after this newline comes in the first column.. > > > > u can try this out, writing a function or table, > > and then add 'enters' or newline in the COMMENT on this function or > > table. > > > > the \pset recordsep doesn't solve this, since the mistakes take place > > within the same record. > > Can you give me a self-contained test case I can use so I can use it to > fix the to code? Hi Bruce, i have attached some files: 1 sql file 1 corresponding output file 1 full latex file using the output of the above file i don't see and easy search/replace fix for this problem, maybe using the \multirow and \multicolumn options in latex is the most general solution, as all the others seems to need concrete dimensions (as width) http://www.google.com/search?client=ubuntu&channel=fs&q=newline+tabular +cell+latex&ie=utf-8&oe=utf-8 http://andrewjpage.com/index.php?/archives/43-Multirow-and-multicolumn-spanning-with-latex-tables.html There is also a problem with long lines as u can test by uncommenting the t4bruce3 function. info about the versions: $ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description:Ubuntu 10.04.3 LTS Release:10.04 Codename: lucid wim@zwerfkat:~/wet/gb/postgresql/debug$ psql -V psql (PostgreSQL) 8.4.10 contains support for command-line editing mvg, Wim Bertels > \documentclass[12pt,a4paper]{report} \usepackage[latin1]{inputenc} \usepackage{amsmath} \usepackage{amsfonts} \usepackage{amssymb} \author{Wim Bertels} \begin{document} \begin{tabular}{l | l | l} \textit{Schema} & \textit{Name} & \textit{Description} \\ \hline latex\_test & t4bruce1 & This function and so on enter\\ another enter,\\ just one more.\\ \\ latex\_test & t4bruce2 & This function and so on enter\\ another enter,\\ just one more,\\ so now have even one more.\\ \\ \end{tabular} \noindent % with a \\ replaced by a newline, doenst help \begin{tabular}{l | l | l} \textit{Schema} & \textit{Name} & \textit{Description} \\ \hline latex\_test & t4bruce1 & This function and so on enter\newline another enter,\\ just one more.\\ \\ latex\_test & t4bruce2 & This function and so on enter\\ another enter,\\ just one more,\\ so now have even one more.\\ \\ \end{tabular} \noindent %\begin{tabular}{l | l | l} %\textit{Schema} & \textit{Name} & \textit{Description} \\ %\hline %latex\_test & t4bruce1 & This function and so on enter\\ another enter,\\ just one more.\\ \\ %latex\_test & t4bruce2 & This function and so on enter\\ another enter,\\ just one more,\\ so now have even one more.\\ \\ %latex\_test & t4bruce3 & This function and so on enter\\ another enter,\\ just one more,this is a very long line without an enter, just one more,this is a very long line without an enter\\ so now have even one more.\\ \\ %\end{tabular} % %\noindent \end{document}DROP SCHEMA CREATE SCHEMA SET CREATE FUNCTION COMMENT CREATE FUNCTION COMMENT \begin{tabular}{l | l | l} \textit{Schema} & \textit{Name} & \textit{Description} \\ \hline latex\_test & t4bruce1 & This function and so on enter\\ another enter,\\ just one more.\\ \\ latex\_test & t4bruce2 & This function and so on enter\\ another enter,\\ just one more,\\ so now have even one more.\\ \\ \end{tabular} \noindent (2 rows) \\ \pset format latex \o out.tex DROP SCHEMA IF EXISTS latex_test CASCADE; CREATE SCHEMA latex_test; SET SEARCH_PATH TO latex_test; CREATE OR REPLACE FUNCTION t4bruce1(i integer) RETURNS void AS $_$ DECLARE BEGIN END; $_$ LANGUAGE 'plpgsql' VOLATILE; COMMENT ON FUNCTION t4bruce1(i integer) IS $_$This function and so on enter another enter, just one more. $_$; CREATE OR REPLACE FUNCTION t4bruce2(v varchar) RETURNS varchar AS $_$ DECLARE BEGIN RETURN v; END; $_$ LANGUAGE 'plpgsql' VOLATILE; COMMENT ON FUNCTION t4bruce2(v varchar) IS $_$This function and so on enter another enter, just one more, so now have even one more. $_$; /* CREATE OR REPLACE FUNCTION t4bruce3(v varchar) RETURNS varchar AS $_$ DECLARE BEGIN RETURN v; END; $_$ LANGUAGE 'plpgsql' VOLATILE; COMMENT ON FUNCTION t4bruce3(v varchar) IS $_$This function and so on enter another enter, just one more,this is a very long line without an enter, just one more,this is a very long line without an enter so now have even one more. $_$; */ SELECT n.nspname as "Schema", p.proname as "Name", pg_catalog.obj_description(p.oid, 'pg_proc') as "Description" FROM pg_catalog.pg_proc p LE
Re: [GENERAL] psql latex and newlines
On Mon, Dec 12, 2011 at 07:15:12PM +0100, Wim Bertels wrote: > Hallo, > > psql latex output format needs to differentiate between a newline and a > tabularnewline. > > the problem arises when u have a field value that contains a newline > character, when this field is not the first column, then all the data > after this newline comes in the first column.. > > u can try this out, writing a function or table, > and then add 'enters' or newline in the COMMENT on this function or > table. > > the \pset recordsep doesn't solve this, since the mistakes take place > within the same record. Can you give me a self-contained test case I can use so I can use it to fix the to code? -- Bruce Momjian http://momjian.us EnterpriseDB http://enterprisedb.com + It's impossible for everything to be true. + -- Sent via pgsql-general mailing list (pgsql-general@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general
[GENERAL] psql latex and newlines
Hallo, psql latex output format needs to differentiate between a newline and a tabularnewline. the problem arises when u have a field value that contains a newline character, when this field is not the first column, then all the data after this newline comes in the first column.. u can try this out, writing a function or table, and then add 'enters' or newline in the COMMENT on this function or table. the \pset recordsep doesn't solve this, since the mistakes take place within the same record. so first: make some function of table \o tofile \pset format latex \df+ \dt+ or .. eg: -- latex generated: with the wrong layout \begin{tabular}{|c|l|} \hline \multicolumn{2}{|c|}{\textit{Record 1}} \\ \hline entry1\_test & test \\ .. out\_result & TABLE(out\_field1 integer,\\ out\_field2 character varying,\\ out\_del boolean) \\ out\_description & This function deletes a record\\ given the following .. foreign\_key\_violation.\\ \\ \hline Compared with text output, right layout: -[ RECORD1 ]+-- entry1_test | test .. out_resultdatatypes | TABLE(out_field1 integer, : out_field2 character varying, : out_del boolean) out_description | This function deletes a record : given the following .. .. : .. foreign_key_violation. mvg, Wim -- Sent via pgsql-general mailing list (pgsql-general@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general