# Writing Guidelines

## General Guidelines for Paper Writing

• Read your write up multiple times before submitting your first draft. There will eventually be edits and revisions to the write-up and some mistakes may be found here and there. But a draft with too many mistakes is not acceptable and shows that you did not spend an effort in revising your work before submitting it.
• Do NOT use: etc, well-known, very, lot, and similar.
• Do NOT use short forms: isn't, there's, can't ==> is not, ...
• Do NOT use many abbreviations, like NN, KNN, DFS, ... Use full names except for known things, such as: LTE, KD-tree, P2P, LSH.
• Always use present tense for verbs. We present.., we evaluate.., we propose...
• Figures should be explained in the text as well. It is not enough to refer to them.
• In the results section, you should attempt to elaborate on the results more with example points from the figures.
• Make sure all your figures are in EPS format and that they look crisp and not pixelated. Do not just simply convert a BMP file to EPS! Use a vector graphics software to draw your figures. Plots can be easily exported to EPS in Matlab. But do save the .fig file along with the .eps file in case you need to return to that figure again (save yourself the time of regenerating the figure each time you need to edit a minor detail).
• Only use Matlab for your plots and make sure the thickness of the lines/curves is 3 points. Refer to the Exporting Matlab Figures in the Right Dimension section in this guideline for Matlab scripts that you should run after generating your figures to automatically do this for you and make your figures compatible with NSL's standard and clear for readers.
• References must be consistent and follow our NSL standard.
• Always include the page numbers for conference and journal papers.
• For journals, you must also include the volume and the number (of the issue).
• If you will be copying BibTeX information from online digital libraries, you must edit them to make sure they follow our standard. For example, most IEEE references will not have the conference name in the correct format. Taking ICME as an example, it will read (Multimedia and Expo (ICME), 2012 IEEE International Conference on) and not (IEEE International Conference on Multimedia and Expo (ICME)). Therefore, you will need to edit it yourself.
• You may also need to edit the names of the authors in the BibTeX entry.
• If you will be including the location (venue) of the conference, you must be consistent and do so for all conferences in the paper. To save space, you can ignore the location.
• Never use acronyms only for the names of conferences or journals! You can include them between two parentheses after the full name of the conference/journal.

## Embedding Fonts in PDF Files

It is required by IEEE, ACM and many other publishers that all fonts are embedded in the document. Embedding fonts is important in order to make the document look and print in the same way the authors intended on different systems.

• Easiest Way (if you are using TeXnicCenter): Download this Output Profile and import it in your TeXnicCenter system (Build --> Define Output Profiles --> Import ...). Always compile your document with that profile.
• Or you can use the following argument line for ps2pdf post processor (in TeXnicCenter: Build-->Define Output Profiles. Then choose Latex => PS => PDF. Then, Postprocessor tab).

-sPAPERSIZE=letter -dSAFER -dBATCH -dNOPAUSE -sDEVICE=pdfwrite -dPDFSETTINGS=/printer -dMaxSubsetPct=100 -dSubsetFonts=true -dEmbedAllFonts=true -r600 -dCompatibilityLevel=1.4 -sOutputFile="%bm.pdf" -c save pop -f "%bm.ps"

• You can use the following script with Ghostscript (original source of the script is here.) Of course change the "outFile.pdf" and "inputFile.pdf" to your files.
gs -sDEVICE=pdfwrite -q -dBATCH -dNOPAUSE -dSAFER \
-dPDFX \
-dPDFSETTINGS=/prepress \
-dAutoFilterColorImages=false -dColorImageFilter=/FlateEncode \
-dAutoFilterGrayImages=false -dGrayImageFilter=/FlateEncode \
-sOutputFile=outFile.pdf \
-c > setdistillerparams \
-f inputFile.pdf \
-c quit


## Exporting Matlab Figures in The "Right" Dimension

• The following scripts set labels and legend into Latex mode, and fix the figure size.

Two figures in a row:

set(gca,'FontSize',18)
set(gca, 'FontName', 'Times New Roman');
set(get(gca, 'xlabel'), 'interpreter', 'latex');
set(get(gca, 'xlabel'), 'FontName', 'Times New Roman');
set(get(gca, 'xlabel'), 'FontSize', 18);
set(get(gca, 'ylabel'), 'interpreter', 'latex');
set(get(gca, 'ylabel'), 'FontName', 'Times New Roman');
set(get(gca, 'ylabel'), 'FontSize', 18);
set(legend(), 'interpreter', 'latex');
set(legend(), 'FontName', 'Times New Roman');
set(legend(), 'FontSize', 18);
set(gcf, 'WindowStyle', 'normal');
set(gca, 'Unit', 'inches');
set(gca, 'Position', [.6 .6 4.6 3.125]);
set(gcf, 'Unit', 'inches');
set(gcf, 'Position', [0.25 2.5 5.5 4.05]);
% it repeats here -- matlab does not resize figure properly with only run of the script
set(gca,'FontSize',18)
set(gca, 'FontName', 'Times New Roman');
set(get(gca, 'xlabel'), 'interpreter', 'latex');
set(get(gca, 'xlabel'), 'FontName', 'Times New Roman');
set(get(gca, 'xlabel'), 'FontSize', 18);
set(get(gca, 'ylabel'), 'interpreter', 'latex');
set(get(gca, 'ylabel'), 'FontName', 'Times New Roman');
set(get(gca, 'ylabel'), 'FontSize', 18);
set(legend(), 'interpreter', 'latex');
set(legend(), 'FontName', 'Times New Roman');
set(legend(), 'FontSize', 18);
set(gcf, 'WindowStyle', 'normal');
set(gca, 'Unit', 'inches');
set(gca, 'Position', [.6 .6 4.6 3.125]);
set(gcf, 'Unit', 'inches');
set(gcf, 'Position', [0.25 2.5 5.5 4.05]);


Three figures in a row:

set(gca,'FontSize',20)
set(gca, 'FontName', 'Times New Roman');
set(gca,'TickDir','out')
set(get(gca, 'xlabel'), 'interpreter', 'latex');
set(get(gca, 'xlabel'), 'FontName', 'Times New Roman');
set(get(gca, 'xlabel'), 'FontSize', 20);
set(get(gca, 'ylabel'), 'interpreter', 'latex');
set(get(gca, 'ylabel'), 'FontName', 'Times New Roman');
set(get(gca, 'ylabel'), 'FontSize', 20);
set(legend(), 'interpreter', 'latex');
set(legend(), 'FontName', 'Times New Roman');
set(legend(), 'FontSize', 20);
set(gcf, 'WindowStyle', 'normal');
set(gca, 'Unit', 'inches');
set(gca, 'Position', [.65 .65 4.6 3.125]);
set(gcf, 'Unit', 'inches');
set(gcf, 'Position', [0.25 2.5 5.5 4.05]);
% it repeats here -- matlab does not resize figure properly with only run of the script
set(gca,'FontSize',20)
set(gca, 'FontName', 'Times New Roman');
set(gca,'TickDir','out')
set(get(gca, 'xlabel'), 'interpreter', 'latex');
set(get(gca, 'xlabel'), 'FontName', 'Times New Roman');
set(get(gca, 'xlabel'), 'FontSize', 20);
set(get(gca, 'ylabel'), 'interpreter', 'latex');
set(get(gca, 'ylabel'), 'FontName', 'Times New Roman');
set(get(gca, 'ylabel'), 'FontSize', 20);
set(legend(), 'interpreter', 'latex');
set(legend(), 'FontName', 'Times New Roman');
set(legend(), 'FontSize', 20);
set(gcf, 'WindowStyle', 'normal');
set(gca, 'Unit', 'inches');
set(gca, 'Position', [.65 .65 4.6 3.125]);
set(gcf, 'Unit', 'inches');
set(gcf, 'Position', [0.25 2.5 5.5 4.05]);


## Exporting Microsoft Visio Drawings to EPS

To convert Visio-drawn figures to EPS files preserving their vector format, the following options are suggested. The first one, which is more recommended, is to print the Visio image into a PDF file using a PDF printer such as PDFCreator, and convert the PDF file to EPS. The use of ImageMagick for converting PDF to EPS is recommended. The second option is to save the Visio image as a WMF or EMF (Windows-specific vector image formats), and then convert it to EPS using a software called EMF2EPS. The software requires a PostScript Printer Driver, such as Adobe's. Note that printing the Visio file directly to EPS using this printer does not preserve the vector format of the images. All of the softwares mentioned are free.

## Exporting Drawings and Pictures to EPS

The following steps are intended to convert any material composed using any application to EPS format with a proper bounding box and all fonts embedded. The method has been tested using different source applications, including Word and Excel. It should also work with other applications, but no testing has been conducted.

### Required software:

1. Install the MS Publisher Color Printer using the Add Printer tool.
2. Install GSview from [1].

### Steps:

• Select the figure or the material you would like to convert to EPS. If you are using Word, drag the cursor around the required figure and/or text.
• Print your selection. This screenshot shows the correct settings while printing a selected figure in Word. The output will be a .prn file by default. You may choose to select a different name or extension.
• Open the file obtained in the previous step using GSview.
• From the menu, click File, then PS to EPS
• On the following dialog box, check Automatically calculate Bounding Box and click Yes.

## Adding Math Symbols in xfig Figures

• There are a few other ways to typeset mathematical formulas in figures generated by xfig. We present one straightforward approach.
1. First you're in Xfig. Write equations or characters in the schematic. You need $in both sides, eg,$\phi\$.
2. Press the "Edit" icon and turn on the Special flag.
3. Export the figure into Combined Postscript/LaTeX instead of the usual Encapsulated postscript (EPS) .
6. When storing fig files in a different from tex files, you need to manually modify pstex_t files whenever you export them. E.g.. I have to change \epsfig{file=coverage.pstex}% into \epsfig{file=../fig/coverage.pstex}%.
7. Write the following command to insert your figure in TeX file:
\begin{figure}[ht]
\centering{
\resizebox{.48\textwidth}{!} {
\input{../fig/coverage.pstex_t}
}
}
\caption{Test.} \label{fig:test}
\end{figure}


## Using Times New Roman Font in Latex

• You may force your latex compiler to use Times New Roman Font by adding "\usepackage{times}" at the beginning of your master latex file. This may give you more space because Times New Roman font is much more compact. For example, by using times package, you can save about 2 - 3 pages in a SIGCOMM 14-page submission.
• However, due to various typesetting issues, IFIP and ACM conferences do not take PDF files compiled with times package. More precisely, for camera-ready versions, IFIP will NOT accept your PDF files with times package, while ACM may make an exception after negotiation. Notice that, it is your job to eliminate all Warnings reported by Latex, such that the resulting PDF files would look fine.
• While not encouraged, you may consider using times package to save space in your initial submissions. We haven't seen any CFP saying that Times New Roman font should not be used.

## Extracting Raw Data Points from An Existing Matlab Fig File

• To extract data points from an existing Matlab fig file:
hl = findobj(gca,'type','line');
xx = get(hl,'xdata');
yy = get(hl,'ydata');


## Avoiding Type 3 Font in xfig Figures

• If we use 'Pattern' to fill an object, the resulting eps fil will have Type 3 fonts, which cause problems in the PDF file and will not be accepted by many publishers. Use 'Filled' with 100% instead.
• Alternatively, a patch for xfig/transfig can be found here. With a patched xfig, we can generate Type 3 font free eps files with patterns. It is, however, reported that these eps files do not look good in ghostscript PS readers.
• The xfig on nsl/nsl-cpu has been patched. However, it might be a good idea to check your final PDF files in acroread using File->Properties. Remember to ensure: (i) no Type 3 fonts appear and (ii) all fonts are embedded.