Control doxc-file when using template and doxc-pl in python - ms-word

I use doxc-pl to read a template and fill it with text and figures. One problem is that sometimes the heading for a figure will not appear on the same page as it's corresponding figure. Is there a way in the template to force the figure heading to be on the same page as the figure?
# Wordfile
1. Headline
{{text}}
Figure 1, HEADING - NAME OF FIGURE
{{fig}}

Related

Issue Matlab EPS figures

I have a problem when I create a EPS figure which I want to include in Latex. Somehow I am unable to place a caption above the figure created with Matlab. It gets overwritten by whitespace. I have created a minimum working example. The figure in matlab is created according the following code:
plot(1:10)
title('A line')
print('test','-depsc2')
And the corresponding latex file:
\documentclass[a4paper]{article}
\usepackage{graphicx}
\begin{document}
\begin{figure}[h]
\caption{Caption is overwritten}
\includegraphics[width=\textwidth]{test.eps}
\end{figure}
\end{document}
No caption is visible in the output pdf. I am a dvi-ps-pdf chain.
It seems to be an issue with the bounding box values. If I add go to the draft mode of graphicx (\usepackage[draft]{graphicx} ) the caption appears.
Thanks for any help.
Best, Rob
Try the clip option in includegraphics:
\includegraphics[width=\textwidth, clip]{test.eps}
You may also want to include some vertical space between caption and figure:
\caption{Caption is overwritten}
\vspace{5mm}
\includegraphics[width=\textwidth, clip]{test.eps}

Importing graphic data into text file MATLAB

I am trying to create a program in MATLAB by which I can click on an image (using the input command) and MATLAB outputs a graphic marker on the image, and stores the data to a text file.
The motivation for this comes the Major League Baseball Gameday App, as I want to use it for a similar purpose, but on the input rather than the receiving end. I have created a code which takes an image and outputs a graphic marker at the points clicked. However, I need to improve the code by (hopefully) color coding each marker according to a manual input (maybe using the reply function?) and also numbering each marker. Also, I would like it to output the reply, location, and number to a text file which can be saved for later.
The code I have is below (with comments explaining what is missing), any help is appreciated.
img=imread('Path/Filename.png');
image(img);
title('Pitching')
ginput
%ask for reply of text between each click
M=[ans];
N=length(M);
hold on
for i=1:N
plot(M(i,1),M(i,2),'o','MarkerFaceColor','r','MarkerSize',25);
%make FaceColor coded according to reply from click
%number each click
%write data to text file
end

Dynamic grid of images in MATLAB

I'm working on creating a GUI in matlab using GUIDE. However, i'm not exactly sure how to do the following, and was looking for some tips/advice.
Problem
I want to open a directory and display all the images in that directory in the GUI interface when if it's selected. However, since I will never know exactly how many images there are I am not entirely sure how to do this in the GUI.
Essentially, I want to open the directory and all the images to be displayed in a grid on the GUI similar to that in iphoto.
Current code
Currently, I can open a directory fine, and get all the required information as follows:
directory = uigetdir(pwd, 'Directory Selector');
files = dir(fullfile(directory, '*.jpg'));
strcat(strcat(directory, '/') , files.name) %outputs each file's location
I'm just not sure how to translate this information into the GUI without writing numerous handles.axes1. I understand that since I know this info I could loop over them, but would I not have to create the axes to begin with?
You probably don't want to do this with individual controls - the reason is that MATLAB will have to render each and every one, which will be slow if the directory has a lot of images. Clearly, you can only display a certain number of images on screen at once. You would also have to write your own scrolling code (or some kind of pagination control).
If you have MATLAB > R2008, you can put images in uitable cells using HTML:
% Example for a control with a 'String' property
set(handles.myControl, 'String', '<html><b>Logo</b>: <img src="http://UndocumentedMatlab.com/images/logo_68x60.png"/></html>');
See also this post and this Undocumented MATLAB page.
A different option would be to use the Windows common controls ListView.
A simpler way of doing this would be to have a single image and a listbox of files; an example is here
You can add components to a GUI pprogrammatically. There's more information here.
Each new axes can be added with something like this:
ah = axes('Parent',hObject,'Position',[left bottom width height]);
where left, bottom, width and height define the size and position of the axes. You'll need to change the position for each axes you create and keep track of the axes handles.

Publishing .fig files without having them appear on screen

I have some code that generates a number of MATLAB figures. At the end of my program I want to publish these figures in a report. I have a script, which is passed to publish(), that uses openfig() to include the figures in the document.
This causes these figures to flash up on the screen. This is particularly annoying when I am opening figures inside a loop using a combination of close and snapnow. I've tried making these figures invisible using
openfig(PathToFigure, 'new', 'invisible')
This stops the image appearing on the screen but also stops it appearing in the report.
Is there a way of including .fig files in the report without having them appear on screen?
Open the figure with f=openfig(PathToFigure, 'new', 'invisible'). Then move the figure off-screen by setting its Position property (perhaps to something with negative values for the left and bottom pixels), set its Visible property to on, call snapnow. Delete the figure.
I would actually recommend setting their visibility to 'off' when you create those figures with
f = figure('Visible','off');

Line chart with pictures?

I want to show a line chart, each point in the line chart will refer to a user. So whomever looks at the chart understands who the user is, I'd like each point to have a picture of the user and the user's name. Does anyone know any API that will let me do that?
I was looking at googles line chart (http://code.google.com/apis/chart/interactive/docs/gallery/linechart.html) but I cannot see anyway for me to have each data point represented as an image.
Using Java and JavaFX, you can build a StackPane where you can put two charts (one above other), where the back is a LineChart and the front is a ScatterChart. In this case, these charts will share the same X axis and Y axis, and on ScatterChart you can personalize the points with a picture.
Look:
How to personalize a chart style using Javafx and
How to produce an application with more than one chart in a StackPane
I hope this helps you.
It seems counter intuitive to have different points on the same line of a line graph represent different users.
(Line graphs) show in a linear form one or more variables that fluctuate over a period of time.
I believe if there is more than one variable that would mean there would be more than one line, so it is hard to make suggestions without more information about your specific application. With the currently available data I would recommend amcharts's Column chart with images on top: