A list of software and libraries

Building some open source libraries with VS 2012

Today, after upgrading from VS 2010 to Visual Studio  2012 (with VS 2012 Update 4), I build some open source libraries (Boost 1.55, OpenCV 3.0.0-dev, FLANN 1.8.4, and Point Cloud Library 1.7.1-PCL) and here are some notes for ones who may find them useful.

0. Some thoughts on VS 2012: much bigger than VS 2010, without blend and other options, I just checked the MFC option but the memory required was more than 7 Gbs. The installation has less option as compared with VS 2010 (no option to exclude VB, Web support or C#, SQL Server … like in VS 2010). After update to Update 4, there is another option for MFC or Win32 project with targeting to v110-xp, this is due to the fact that VS 2012 compiled programs (before Update 4) could not run on XP. And the folder C:\ProgramData\Package Cache contains all the packages from VS 2012 installation (about 1.7 Gb, I wonders if this can be deleted). In my feelings, VS 2012 is not slower than VS 2010, it may be faster on stronger machine with 4 or 8 CPU cores. It’s a suprise that VS 2012 include the DirectX library in the C:\Program Files\Windows Kits\8.0 folder, so you can write DirectX based program without any further installation. One of the big improvement of VS 2012 is it is a true multicore compiler which can uses multicore for compiling a project, not a parallel compiler as VS 2010 (see more details from this address).

1. Hardware and software platform: Windows 7 SP1 32 bit on a laptop Core 2 Duo 2.4 Ghz with 3 Gb Ram, VS 2012 Update 4. Some required libraries are: Eigen 3.2 (for PCL), TBB 4.2 Update 2 (for OpenCV) and CMake 2.8.12.1, CUDA 5.5.2 32 bit. For details of building OpenCV with TBB, please read ref 1 or ref 2. The path to CMake’s bin directory is mandatory added to the PATH environment variable.

2. Building OpenCV 3.0.0-dev. I remove matlab, python and java building options from the file CMakeLists.txt of OpenCV and keep only the CUDA code version >=2.0 (in the file OpenCVDetectCUDA.cmake) to make the process faster. Then cmake-gui is used to generate the VS 2012’s solution and project files. On my machine, this ran for 4 hours and a folder of about 7 GBs was generated, but the install folder was only about 330 Mbs (other files and folders from the build folder can be delete after). The reason for the 4 hours duration may be caused by the /GL building option which was set for all the OpenCV projects.

3. Building Boost 1.55(which is also required by PCL): just run the bootstrap.bat from the command line and .\b2 command after but remember to add the VS 2012 path to the PATH environment variable.

4. Building FLANN 1.8.4: I used cmake-gui to create the solution file and build with VS 2012 without any problem (some python projects were not built, but I don’t need them).

5. Building PCL 1.7.1: Again, cmake-gui was used to generate the solution file, I had to set variables manually for boost and FLANN. Be careful with /GL building option because the whole optimization can caused failed build even your machine (64 bit) may have up to 16 GB of RAM, especially with pcl_feature project. This process took about 2 hours with 2.5 Gb build folder and no error was raised.

CVMLib 7.0-Đối thủ xứng tầm của Armadillo và Eigen

Sau một thời gian chờ đợi khá lâu từ phiên bản 6.1, ngày 6-1-2013 vừa qua CVMLIB 7.0, một thư viện rất mạnh hỗ trợ các thao tác trên ma trận được viết bởi tác giả Sergei Nikolaev, đã được tung ra. Phiên bản mới này hỗ trợ thư viện Intel MKL Intel 11.0 Update 1 cũng như các thư viện khác như ACML và lapack (bản 3.4.2). Người sử dụng có thể tự build từ source code trên máy của mình hoặc download bản precompiled về sử dụng. So với ArmadilloEigen, CVMLIB nhanh hơn (với đa số các thao tác trên ma trận). Sau đây là một ví dụ rất đơn giản cho các thao tác là nhân hai ma trận, SVD và EIG trên ma trận sử dụng CVMLIB:


// A simple example using CVM library

#include <cvm.h>
#include <ctime>
#include <iostream>

using namespace cvm;
using namespace std;

int main(int argc, char * argv[])
{
int n, m;
float *a, *b;
int i;
clock_t st, et;

if(argc==3)
{
n = atoi(argv[1]);
m = atoi(argv[2]);
}else
{
n = m = 1000;
}
a = new float[n*m];
b = new float[n*m];
srand(time(NULL));
for(i=0;i<n*m;i++)
{
a[i] = (float)rand()/INT_MAX;
b[i] = (float)rand()/INT_MAX;
}

basic_rmatrix ma(a, n, m);
basic_rmatrix mb(b, n, m);
basic_rmatrix mc(n, m);
basic_rmatrix asvd(a,n,m);
basic_srmatrix u(n);
basic_srsmatrix ms(n);
basic_srmatrix em(n);
basic_rvector ev(n);

st = clock();
mc = ma*mb;
et = clock();
cout << “Time for matrix multiplication is:” << (float)(et-st)/CLK_TCK;

st = clock();
ev = asvd.svd(u,em);
et = clock();
cout << “Time for SVD is:” << (float)(et-st)/CLK_TCK;

st = clock();
ev.eig(ms, em);
et = clock();
cout << “Time for EIG is:” << (float)(et-st)/CLK_TCK;

delete [] a;
delete [] b;
system(“pause”);
return 0;
}

Backup cơ sở dữ liệu của Zotero sang máy khác

Trong bài viết Zotero Tutorial – Hướng dẫn sử dụng Zotero để quản lý tài liệu tham khảo và viết tài liệu khoa học (paper, poster and thesis) tôi đã hướng dẫn cách dùng Zotero với Firefox, Word và LaTeX, tuy nhiên còn một yêu cầu nữa mà chúng ta đôi khi vẫn phải dùng đến, đó là làm thế nào để backup CSDL của Zotero sang một máy tính khác để làm việc và đề phòng những khi máy tính chẳng may phải cài lại hoàn toàn mà quên lưu dự phòng. Để thực hiện việc này, có 3 cách:

Cách 1: Copy toàn bộ thư mục chứa dữ liệu của Zotero sang đúng vị trí của máy đích, đối với Windows 7, thư mục đó là “C:\Users\<User Name>\AppData\Roaming\Mozilla\Firefox\Profiles\<randomstring>\zotero”. Bạn nên Zip lại copy cho nhanh, lưu ý là trong thư mục này có thể có một vài file .bak là file backup của sqllite (ví dụ như zotero.sqlite.bak), file này khá lớn và không cần thiết. Khi copy sang máy đích, cần ghi đè toàn bộ thư mục của máy đó nếu được hỏi. Cách này là chính xác nhất và ngon lành nhất.

Cách 2: Export cơ sở dữ liệu của Zotero (giống như khi export để dùng với LaTeX) nhưng chọn format (định dạng) export là Zotero RDF:

Sau đó copy toàn bộ thư mục tương ứng với tên được đặt sang máy đích và sử dụng tính năng import của Zotero. Cách này không đảm bảo như cách 1 vì: tôi đã thử và bị báo lỗi Javascript (nhiều người cũng bị lỗi này), và tác giả của Zotero cũng khuyến cáo không nên dùng cách này.

Cách 3: hai cách trên đảm bảo cả file gốc (file bài báo .pdf) sẽ được copy sang máy đích nhưng nếu bạn chỉ muốn lấy CSDL metadata của Zotero thì có thể thực hiện theo cách 3, rất đơn giản và nhanh gọn. Làm tương tự như cách 2 nhưng bỏ chọn Export file:

Khi đó bạn chỉ có 1 file .rdf duy nhất (kích thước rất nhỏ), copy file này sang máy đích và chọn chức năng import của Zotero là xong.

Có thể xem thêm về chủ đề này ở trang chủ của Zotero: http://www.zotero.org/support/zotero_data

How to upgrade to Qt Creator 2.5.2 from Qt Creator 2.4.1

Today I decided to upgrade from Qt Creator 2.4.1 with SDK 1.2.1 (Qt 4.8.0) to Qt Creator 2.5.2. But I still want to use SDK 1.2.1, just Qt Creator 2.5.2. I did not found any normal way to upgrade from Qt Creator 2.4.1 (like Chrome or Firefox etc …). So I must do it for myself. I downloaded Qt Creator 2.5.2 from Nokia website. Then I deleted the Qt Creator 2.4.1 folder from SDK 1.2.1 (C:\QtSDK\QtCreator) and installed Qt Creator 2.5.2 into that folder. Ha ha, the shortcut to Qt Creator program is the same, the folders and files are the same and the new version run smoothly, without any bug. And the maintenance tool of Qt SDK still think that it is Qt Creator 2.4.1, it is ok for me. But there was a problem with the Boost 1.5.1 that I had updated before. That was:
main.obj:-1: error: LNK2019: unresolved external symbol “void __cdecl boost::filesystem::path_traits: ….
After a while, I found that Qt Creator used a configuration file (C:\QtSDK\Desktop\Qt\4.8.0\msvc2010\mkspecs\win32-msvc2010\qmake.conf) to build its projects. So I opened that file and changed the line:
QMAKE_CFLAGS = -nologo -Zm200 -Zc:wchar_t-
to:
QMAKE_CFLAGS = -nologo -Zm200 -Zc:wchar_t
And now it works.

Zotero Tutorial – Hướng dẫn sử dụng Zotero để quản lý tài liệu tham khảo và viết tài liệu khoa học (paper, poster and thesis)

Update ngày 12/02/2015: Bản Zotero chính thức mới nhất (dành cho Firefox và bản Standalone) 4.0.26.

Update ngày 16/01/2015: Bản Zotero chính thức mới nhất (dành cho Firefox và bản Standalone) 4.0.25.2.

Update ngày 03/09/2014: Bản Zotero chính thức mới nhất (dành cho Firefox và bản Standalone) 4.0.22.

Update ngày 02/05/2014: Bản Zotero chính thức mới nhất (dành cho Firefox và bản Standalone) 4.0.20.2.

Update ngày 21/03/2014: Bản Zotero chính thức mới nhất (dành cho Firefox và bản Standalone) 4.0.19.

Update ngày 19/03/2014: Bản Zotero chính thức mới nhất (dành cho Firefox và bản Standalone) 4.0.18.1. Điểm nổi bật nhất của bản nâng cấp này là tính năng “Retrieve Metadata from PDF” đã được cải thiện đáng kể, ngoài ra một số lỗi khác cũng được fixed.

Update ngày 18/12/2013: Bản Zotero chính thức mới nhất (dành cho Firefox và bản Standalone) 4.0.17.1.

Update ngày 28/03/2013: Bản Zotero mới nhất 4.0 beta 2 đã được đưa ra với nhiều tính năng mới đáng chú ý ví dụ như tự động cập nhập style, sử dụng tên viết tắt của các tạp chí, tương thích Firefox 20 … (có thể xem chi tiết hơn tại Zotero 4 changelog). Tôi đã thử nghiệm và thấy rằng tính năng đáng giá nhất của bản 4.0 này là khả năng lấy metadata tốt hơn so với  các bản trước đó (mới nhất là 3.0.14).

Keywords: Zotero là gì? Dùng Zotero với Word, LaTeX như thế nào? Hướng dẫn về Zotero. Phần mềm quản lý tài liệu tham khảo.

Trong bài viết LaTeX and Zotero for the scientists – Goodbye to MS Word tôi đã hướng dẫn sơ qua về việc cài đặt ZoteroMikTeX 2.9 để có thể sử dụng LaTeXZotero viết các tài liệu khoa học. Tuy nhiên hướng dẫn về Zotero vẫn chưa đầy đủ lắm, nên viết thêm bài này, hy vọng có thể giúp được các bạn đang mốn tìm hiểu cách sử dụng Zotero với WordLaTeX. Sau khi cài đặt xong (bạn phải cài Firefox trước nếu chưa cài, Firefox > 13 is recommended), Zetero chiếm một status bar ngay dưới cửa sổ Firefox, bạn kích chuột vào biểu tượng Zotero bên phải màn hình để bắt đầu chạy Zotero. Đầu tiên tôi giả sử yêu cầu thứ nhất là để quản lý tài liệu tham khảo, với mỗi chủ đề thuộc lĩnh vực nghiên cứu (hẹp thôi) bạn tạo một collection như hình sau:

Nhấn chuột phải vào My Library và chọn New Collection, sau đó đặt tên cho Collection này, chẳng hạn như Collection 1. Việc tiếp theo là add các file tài liệu tham khảo của bạn vào đúng collection mới tạo ra, thường là các bài báo khoa học ở dạng .pdf mà bạn đã download về. Bạn chọn Collection mới tạo ra và nhấn vào nút lệnh như hình sau, chọn Link to file (file tham khảo bạn để ở thư mục nào không quan trọng nhưng cũng nên sắp xếp vào đúng thư mục thì sẽ quản lý tốt hơn và add vào Zotero nhanh hơn, tuy nhiên tên thì không nhất thiết phải đặt vì Zotero sẽ tự động làm cho bạn – lấy metadata về bài báo thôi, không phải đặt tên).

Tiếp đến sau khi file thao khảo của bạn đã được add vào collection tương ứng, bạn kích chuột phải lên tên file vào chọn Retrieve Metadata for PDF, bước này là để lấy các thông tin về bài báo: tên tác giả, số trang, tạp chí, … tóm lại là metadata của bài báo đó và lưu lên Cở sở dữ liệu tài liệu tham khảo của bạn. Xem hình sau:

Kết quả là như sau:

Như vậy là Zotero đã tự động lấy metadata về tài liệu tham khảo của bạn, tất nhiên là bạn phải có kết nối Internet. Lưu ý là có thể Zotero sẽ đòi hỏi bạn phải cài thêm 2 plugin để có thể đọc metadata của file pdf. Tuy nhiên không phải lúc nào cũng suôn sẻ như vậy, có những file pdf không có thông tin gì nên Zotero không thể tìm được metadata tương ứng. Khi đó bạn cần tìm đến đúng trang của tác giả hoặc trang xuất bản tài liệu tham khảo (chẳng hạn như ieee.org) tìm đến trang chứa link tới tài liệu tham khảo mà bạn đã lấy về (vẫn chọn file pdf trong collection đã tạo) và nhấn chuột vào biểu tượng Zotero trên thanh địa chỉ của Firefox để lưu metadata cho bài báo của bạn như hình sau:

Chính là nút bên trái hình ngôi sao đó, sau đó bạn sẽ có metadata về bài báo mà Zotero không tự động tìm được, bây giờ bạn có thể dùng chuột kéo thả file pdf tương ứng vào metadata đã lấy được. Khi bạn viết một bài báo tham dự hội thảo chẳng hạn bạn có thể tạo ra một collection tương tự với các bước ở trên nhưng có thể kéo thả từ Library vào collection của bạn để chỉ làm việc với các tài liệu tham khảo phục vụ cho bài báo đó.

Để làm tự động với nhiều tài liệu tham khảo bạn có thể thực hiện thao tác Link to file tới nhiều file cùng lúc (hoặc tất cả các file pdf trong cùng thư mục), sau đó chọn các file trong Collection tương ứng và thực hiện thao tác lấy metadata cho tất cả các file này.

Bước tiếp theo là sử dụng tài liệu tham khảo của Zotero để viết bài, trường hợp thứ nhất là bạn dùng Word thì phải cài Word plugin cho Zotero (khuyến nghị dùng Word 2010 SP1– nhanh, nhẹ và tiện lợi). Bạn chạy Firefox trước, sau đó khi muốn trích dẫn thì nhấn chuột vào nút lệnh do Zotero plugin tạo ra trên Word như hình sau:

Tiếp đó, Zotero sẽ hỏi bạn muốn trích dẫn và trình bày các tài liệu tham khảo theo style nào (IEEE hay ….). Tiếp đó một search textbox để bạn tìm đúng tài liệu tham khảo cần trích dẫn như hình sau:

Sau khi ấn Enter, kết quả là:

Giả sử bạn đã viết xong và muốn tạo References chứa danh sách các tài liệu tham khảo, hãy nhấn chuột vào nút Zotero Insert Bibliography (nút thứ 3 từ trái sang) như hình sau:

Và kết quả là:

Kết thúc với Word, giờ tới LaTeX, đơn giản là bạn export các tài liệu tham khảo thành một file BibTeX để dùng với LaTeX. Đầu tiên chọn các file muốn export nhấn chuột phải và chọn Export như hình sau:

Trong dialog hiện ra chọn như hình sau và nhấn OK:

Kết quả là bạn có 1 file BibTeX để dùng với LaTeX.

Lưu ý là dù bạn cài lại Firefox thì cơ sở dữ liệu của Zotero cũng không mấtkhông cần cài lại Zotero.

Về style của Bibliography: Đối với các bài báo conference và journal, template của chúng đã được xác định trước và có sẵn trên site của conf hoặc publisher nên style của Bibliography tương ứng cũng sẽ được fixed trước, và chúng ta không thể thay đổi được điều này (dù là LaTeX hay Word Template, LaTeX được ưu tiên hơn và đơn giản hơn cho tác giả viết bài). Còn đối với các tài liệu có tính chất cá nhân hơn như luận văn cao học, PhD (thesis) hoặc report, chúng ta có thể tùy biến, đến đây với LaTeX sẽ là lệnh bạn dùng để chọn style cho phần này (không liên quan gì tới Zotero), còn với Word thì nhấn nút đổi style, đối với các tài liệu dài, bạn sẽ phải chờ đợi chút ít để Zotero và Word cập nhật lại theo style mới này. Theo tôi việc lựa chọn style này nên được xác lập trước khi viết cho đỡ mất thời gian và công sức một cách không cần thiết.

LaTeX and Zotero for the scientists – Goodbye to MS Word

10-09-2014 Update:

Một mẫu CV với gói ModernCV: writeLatex.

23-07-2014 Update:

Thêm một cuốn sách về LaTeX: LaTeX and friends

Ví dụ 1 về tạo presentation với package Beamer của LaTeX: download.

Ví dụ 2 về tạo presentation với package Beamer của LaTeX: download.

Một số templates khác cho LaTeX: http://liantze.penguinattack.org/latextypesetting.html

OpenOffice bản 4.1.0 portable (04-2014): download.

12-11-2013 Update: Vẽ hình để sử dụng với LaTeX. Các format cho hình vẽ thường được sử dụng với LaTeX là .png và .pdf vì vậy có thể dùng bất cứ chương trình nào để vẽ hình, sau đó lưu lại ở hai định dạng trên là có thể dùng được. Theo ý kiến của bản thân tôi thì với các hình vẽ (biểu đồ, sơ đồ, lưu đồ thuật toán …) thì OpenOffice (xem thêm ở đây, hiện tại là bản 4.0.1, một nhánh khác là LibreOffice) là một công cụ khá hay vì:

+ Bắt điểm tốt hơn MS Word

+ File .pdf sinh ra nhỏ hơn nhiều so với MS Word.

+ Free

+ Nhanh

08-11-2013 Update: Sau một thời gian sử dụng TeXstudio, hôm nay tôi xin giới thiệu với các bạn hai công cụ TeX Editor tốt hơn là TeXnicCenter (bản hiện tại là 2.02) và WinEdt (bản mới nhất là 8.1). Theo kinh nghiệm của cá nhân tôi thì hai phần mềm này tốt hơn so với TeXstudio về: tốc độ biên dịch (mặc dù đều gọi tới MikTeX nhưng không hiểu sao lại nhanh hơn), về giao diện và tính tiện ích. Riêng TeXnicCenter thì biên dịch tốt nhất, có những file TeX không thể dịch với hai phần mềm kia nhưng TeXnicCenter vẫn làm việc tốt, đặc biệt xét tới yếu tố đây là một phần mềm free. WinEdt là một phần mềm bản quyền và có khá nhiều tính năng hay.

23-05-2012 Update: Zotero Tutorial – Hướng dẫn sử dụng Zotero để quản lý tài liệu tham khảo và viết tài liệu khoa học (paper, poster and thesis)

Tại sao lại dùng LaTex?
– Vì LaTeX là công cụ để: viết các báo cáo khoa học (report, paper, book ..) và dành cho các nhà khoa học.
– LaTeX dễ hơn Word (nhất là đối với các tài liệu đòi hỏi theo chuẩn và dài).
– LaTeX là chuẩn và đẹp hơn Word.
– Phần mềm để dùng LaTeX free (trên cả Windows và Linux, Unix)
LaTeX đặc biệt hữu ích cho ai làm PhD hoặc Master, tất nhiên ai đó có thể nói rằng cái gì LaTeX làm được thì Word cũng làm được, nhưng hãy tin tôi, sẽ mất thời gian hơn, chưa chắc đã đúng chuẩn và rất, rất nhiều Master, PhD student đều chuyển từ Word sang LaTeX, vậy thì bạn còn bảo thủ làm gì?
Còn Zotero?
– Free
– Dùng để quản lý tài liệu tham khảo tuyệt vời, tự động lấy metadata về các tài liệu tham khảo, tự động insert và sắp xếp theo chuẩn của các tạp chí theo chuẩn.
– Tốt cho cả người dùng Word và LaTeX.
Bạn có thể dùng EndNote, RefMan … nhưng tất cả đều không cao thủ bằng Zotero.
Hướng dãn sử dụng LaTeX và Zotero trên Windows:
– Cài đặt MikTeX 2.9 (cỡ khoảng 2Gb), có thể xóa thư mục doc vì không dùng đến, còn lại hơn 1Gb.
– Trình soạn thảo tài liệu LaTeX: tốt nhất là TeXStudio 2.3. Có nhiều tranh cãi về TeXMaker, TeXnicCenter, WinShell nhưng TeXStudio vẫn là tốt nhất, vì nó nhanh, trực quan và dễ dùng. Nếu bạn còn không tin, hãy xem ở đây: I’m switching to TeXstudio.
– Tài liệu học LaTeX: tốt nhất là google.com, nhưng trước tiên cũng cần phải đọc và làm hết các examples trong một cuốn sách đàng hoàng. Theo tôi, cuốn cơ bản nhất là LaTeX Beginner’s Guide. Nếu bạn muốn cụ thể hơn nữa, “More Math Into LaTeX, 4th Edition” sẽ là một lựa chọn tuyệt vời.
– Đối với một văn bản LaTeX, bảng (table) và hình ảnh (figure) là hơi rắc rối một chút nhưng hãy tin tôi: khi bạn đã biết LaTeX, bạn sẽ tạm biệt MS Word khi viết các tài liệu khoa học, hoặc thậm chí là CV của mình.
Một số tin đồn về LaTeX:
– LaTeX chỉ dành cho các nhà toán học: điều này không còn đúng nữa, LaTeX dành cho các nhà khoa học.
– LaTeX rất khó: không đúng, LaTeX thậm chí còn dễ hơn Word, bạn không nên bảo thủ.
– LaTeX gồm toàn lệnh như lập trình, người không biết về Tin học không học được: Sai hoàn toàn, với các công cụ soạn thảo trực quan, bạn không cần nhớ hết và chi tiết các lệnh của LaTeX, các lệnh hay dùng cũng chỉ có vài lệnh thôi. Hơn nữa LaTeX có hẳn một cộng đồng đông đảo người dùng (TeX Users Group – TUG) có thể support cho bạn, không có gì mà phải lăn tăn. Về mặt lịch sử, LaTeX là một phiên bản mở rộng của TeX, một ngôn ngữ dành cho việc soạn thảo văn bản được Donald E. Knuth tạo ra để viết cuốn sách “The Art of Computer Programming” vào những năm 1970 (lúc đó còn chưa có Office) khi ông quá thất vọng với các phần mềm soạn thảo văn bản thời bấy giờ (có thể xem thêm ở đây), nghĩa là mục đích nguyên bản của LaTeX là để soạn thảo văn bản khoa học chuyên nghiệp.
– Ôi dào, dùng Word là được rồi, tại sao phải chuyển sang LaTeX làm gì cho mệt: vâng, tôi không nói là Word là xấu hay không tốt, nhưng tại sao không dùng LaTeX, công cụ chính xác dành cho các báo cáo khoa học? Nếu bạn chỉ soạn thảo các văn bản thông thường, OK hãy dùng Word của bạn, nhưng nếu bạn muốn viết các báo cáo khoa học, hãy dùng LaTeX, đơn giản vì đó là công cụ dành cho việc đó. Đừng bảo thủ. Vả lại nó cũng không mệt như nhiều người tưởng.

Thế còn tiếng Việt thì sao? Nghe nói phải cài một cái gì khó lắm mới gõ được tiếng Việt và vẫn lỗi chữ ư hơi gì đó? Không, điều này hoàn toàn không đúng. Để gõ tiếng Việt cần có gói vntex, nhưng việc cài đặt là hoàn toàn tự động, bạn chỉ cần khai báo dùng gói vntex và tự MikTeX sẽ down về (một lần duy nhất).

– Tôi muốn viết một bài báo (paper cho conf, journal) hay book bằng LaTeX thì làm thế nào? Tất cả các conference hay journal, và book đều có các template ở dạng LaTeX (100%) hay Word (không chắc 100%), bạn chỉ việc tìm theo tên của conf, journal hay publication là sẽ tìm được tempate tương ứng. Đối với conf là dễ tìm nhất vì thường tempate nằm ngay ở phần “Paper submission“, về journal thì cũng tương tự.

Một vài templates:

1. CV (sử dụng gói moderncv)

2. Book, Think Complexity

3. Poster