New argument to provide additional options to tikzpicture environment#148
New argument to provide additional options to tikzpicture environment#148hbuschme wants to merge 1 commit into
Conversation
|
Looks reasonable to me. Cc @krlmlr |
krlmlr
left a comment
There was a problem hiding this comment.
Thanks for the pull request. Please let me know if you're still interested in this.
| tikzInfo->onefile = onefile; | ||
| tikzInfo->timestamp = timestamp; | ||
| tikzInfo->verbose = verbose; | ||
| tikzInfo->pictureOptions = calloc_strcpy(pictureOptions); |
There was a problem hiding this comment.
Do we need to free this after we're done?
There was a problem hiding this comment.
We might need a call to free() that corresponds to the calloc_strcpy() call.
| int maxSymbolicColors = asInteger(CAR(args)); args = CDR(args); | ||
| Rboolean timestamp = asLogical(CAR(args)); args = CDR(args); | ||
| Rboolean verbose = asLogical(CAR(args)); args = CDR(args); | ||
| const char *pictureOptions = CHAR(asChar(CAR(args))); args = CDR(args); |
There was a problem hiding this comment.
I'm slightly worried about protection here, because asChar() might allocate memory in corner cases.
There was a problem hiding this comment.
Maybe CHAR(PROTECT(asChar(...))), and then increase the number passed to UNPROTECT() by one?
|
Yes, I'm still interested in this, and I thought that I checked this PR now and then – apparently not, since I did not see your question from August 2017, sorry. I just got a notification about the closing of this PR and would be interested in re-opening it. Concerning your questions, I'm not a C/C++ expert and am afraid that I cannot answer your memory-related questions competently. Are you willing to continue? |
|
Sure, I can reopen it. I have just pushed an update to tikzDevice to CRAN, but it hasn't been accepted yet. After that I'll be looking for a new maintainer who will be more responsive hopefully ;-) |
|
Could you please take a look at the conflict? |
* Added an argument pictureOptions to the R function `tikz`. * Added the argument to the C function `TikZ_Setup` and the structure tikzDevDesc. * Made use of the argument, if provided, in the the C function `TikZ_StartDevice`. * Added R documentation and rebuild documentation with roxygen. * Added argument to vignette (in sec. 3.2 'Usage')
326e72a to
a6e8eed
Compare
|
I've rebased my changes. It has no conflicts anymore and we can start tackling the questions you raised above. If you think that things should change, feel free to make these changes. |
|
I am sorry that this has been lying around for so long. Can you please rebase the PR again? Thanks. |
The changes in this pull request extend the R-function
tikzwith a new character string argumentpictureOptionsthat allows for a specification of additional options that are provided to thetikzpictureenvironment's option list.This feature results from a personal need of mine. I need the plots from
tikzdeviceto be typeset in a sans-serif font family. So far I have generated the plots as complete figures and have manually added,font=\sffamilyto the option list of thetikzpictureenvironment.Using the new argument it is now possible to add the option from within R
tikz("tikz-example.tex", width = 3.25, height = 3.25, pictureOptions = ",font=\sffamily") plot(1, 1, main = "Hello \\TeX !") dev.off()which then results in the following TikZ/LaTeX code:
… \begin{tikzpicture}[x=1pt,y=1pt,font=\sffamily] …Of course other options, or lists of options, can be specified as well.