Aleksey, Go ahead and send me a test file.
Also: what version of OO are you using (or are you using something else)? Thanks, Max On Tue, Feb 16, 2010 at 3:40 PM, Aleksey Naumov <anau...@gmail.com> wrote: > Max, > > Thank you for your help. Please see my responses below. > > > On Tue, Feb 9, 2010 at 8:20 PM, Max Kuhn <mxk...@gmail.com> wrote: >> >> > I am trying to figure out how to control table width and alignment on >> > the >> > page for a table generated by odfTable. Based on reading odfWeave >> > documentation (including formattingOut.odt), here is how I manipulate >> > the >> > styles: >> > >> st = getStyleDefs() >> # modify the table style >> tab = getStyles()$table >> st[[tab]]$align = "center" # seems to have no effect >> st[[tab]]$marginLeft = "2.0 in" # seems to have no effect >> setStyleDefs(st) >> > >> > My table always ends up fully justified (taking all page width). When I >> > check Table Format in the output .odf, Alignment is always "Automatic". >> > When >> > doing Column/Optimal Width on the table, the table shrinks but becomes >> > left >> > aligned, not centered. >> >> It's hard to tell without an actual file to test with (and what >> versions of R and odfWeave, and what platform etc) > > I am working with R 2.10.1 om Windows XP Professional 2002, SP 3. My package > versions are listed below: >> pkgVersions(type = "matrix") > [,1] [,2] [,3] > [,4] > [1,] "base (2.10.1)" "grDevices (2.10.1)" "MASS (7.3-4)" "stats > (2.10.1)" > [2,] "datasets (2.10.1)" "grid (2.10.1)" "methods (2.10.1)" "utils > (2.10.1)" > [3,] "graphics (2.10.1)" "lattice (0.17-26)" "odfWeave (0.7.10)" "XML > (2.6-0)" > > Would it help if I send you a small ODT file which concisely shows what I am > trying to do? > >> >> Did you read the example files in the examples directory of the >> package? There are examples of what you are doing there and they seem >> to work (last time I checked at least). >> >> Can you you reproduce those example tables? > > Yes, I looked into these examples, they are nice, thank you. I am able to > run (odfWeave) 3 out of 4: "examples.odt", "simple.odt" and "testCases.odt", > but they do not make use of the table style "align" or "margin" properties, > so all tables are fully justified per default (except for the case where a > code chuck lives in a small 1x1 table, which effectively restricts the > output width -- in fact, this is a partial alternative to manipulating table > margins). > > I cannot run odfWeave on "formatting.odt". The initial error message has to > do with the fact that I do not have the "RTable2" style, which is referenced > in chunk: > > 13 : echo term verbatim(label=showTableStyles) > > Error: chunk 13 (label=showTableStyles) > Error in names(x) <- value : > 'names' attribute [1] must be the same length as the vector [0] > > However, once I comment out styleDetails("RTable2") from this chunk I get a > different error, here is the full output: > >> odfWeave("formatting.odt", "[AN]_formatting_out.odt") > Copying formatting.odt > Setting wd to > C:\DOCUME~1\anaumov\LOCALS~1\Temp\RtmplqVqs5/odfWeave16142147610 > Unzipping ODF file using unzip -o "formatting.odt" > Archive: formatting.odt > extracting: mimetype > creating: Configurations2/statusbar/ > inflating: Configurations2/accelerator/current.xml > creating: Configurations2/floater/ > creating: Configurations2/popupmenu/ > creating: Configurations2/progressbar/ > creating: Configurations2/menubar/ > creating: Configurations2/toolbar/ > creating: Configurations2/images/Bitmaps/ > extracting: Pictures/1000000000000213000001899B642BA5.png > extracting: Pictures/10000000000000EA000001757E0E322B.png > extracting: Pictures/10000000000002110000018638600D3B.png > inflating: layout-cache > inflating: content.xml > inflating: styles.xml > extracting: meta.xml > inflating: Thumbnails/thumbnail.png > inflating: settings.xml > inflating: META-INF/manifest.xml > > Removing formatting.odt > > Pre-processing the contents > Error: cc$parentId == parentId is not TRUE > In addition: Warning message: > In function (name, .state) : found start of code chunk in a code chunk > > Surprisingly, even if I remove the comment I still get the same message as > above ("found start of code chunk ...") which is very puzzling. Is > formatting.odt working for you with the latest R and package versions? > > >> The table style is understood by odfWeave -- here is the output I get >> after >> sourcing my style definition file: >> >>> getStyles()$table >> [1] "RTable1" >>> getStyleDefs()[[getStyles()$table]] >> $type >> [1] "Table" >> >> $marginLeft >> [1] "2.0 in" >> >> $marginRight >> [1] "0.05in" >> >> $marginTop >> [1] "0.05in" >> >> $marginBottom >> [1] "0.05in" >> >> $align >> [1] "center" >> >> I am not sure why these style options do not seem to have effect on the >> output. My specific questions are: >> >> (1) How do I get table alignment to work? >> >> (2) Is the only way to control table width via setting the margins in the >> $table style? What am I doing wrong in the above style code? > >> At present, yes. > > Ok, thank you, As I found out by looking at testCases.odt, another way which > may work for simple tables is to embed a chuck into a 1x1 table with > specified dimensions, even though this approach is not flexible (no way to > control table dimensions at run time). > >> >> > (3) What about column width -- is it possible to automatically size >> > columns >> > to fit the content, like selecting Column/Optimal Width but >> > programmatically >> > via odfWeave? >> >> It is on my (neglected) list of things to do. We could provide an >> interface for users to specify the columns widths manually. I've >> experimented with figuring it out automatically and it is subject to >> the font specifications (obviously) and tricky. > > That would be very nice. As well, automatic column sizing would be a good > thing to have, especially for data frames which have a mix of numeric and > character/factor variables and/or variable names of different lengths. I > have done much coding in R, but I am not familiar with R internals, neither > am I good at C... Could I be of help to you in working on this as time > permits? > > Thanks, > > Aleksey > >> >> Max > > -- Max ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.