Saya pernah menyebut di dalam salah sebuah status saya sebelum ini bahawa saya akan mencari masa terluang untuk belajar ConTeXt
pula selepas LaTeX
. Ada masa terluang sikit-sikit, saya belajar walaupun banyak juga tergaru-garu dan berkerut-kerut kening tambah-tambah lagi selalu hilang tumpuan kerana anak-anak perlulah dilayan juga.
Jadi di dalam penulisan kali ini, saya akan tunjukkan serba sedikit perbezaan di antara keduanya. Saya gunakan table
dalam penghasilan dokumen melalui LaTeX
dan ConTeXt
ini.
PENGENALAN
Awalannya, saya fikirkan sudah begitu banyak penulisan berkenaan apa itu LaTeX
boleh didapati melalui kajian dan carian di Internet, malahan buku yang menerangkan dengan begitu terperinci akan kegunaannya juga sudah sekian banyak dikeluarkan.
Tetapi kali ini saya fikir tidak mengapalah. Penulisan ini, jikalau saya menulis dengan lebih lanjut tentang ketiga-tiga perisian ini, sudah tentunya saya juga yang akan termanfaat daripadanya di masa akan datang. Selain saya boleh membuat rujukan kembali dengan membaca pos ini, saya juga boleh meneliti untuk menilai sejauh mana perkembangan saya dalam menulis hal-hal keilmuan seperti ini.
Baru-baru ini, datang kembali semangat berkobar-kobar untuk mengemaskini resume
setelah sekian lama dibiar terperuk begitu sahaja sejak bergelar surirumah ini.
Oleh sebab sistem operasi utama yang saya gunakan adalah Arch Linux
, maka tiadalah Microsoft Word
untuk saya gunakan sebagai platform bagi mengemaskini resume
saya. Oh, sudah tentulah ada pilihan lain bagi saya jika saya mahu menggunakan aplikasi dengan ciri-ciri yang hampir sama dengan Microsoft Word
seperti LibreOffice
dan OpenOffice
, tetapi saya memilih untuk membina resume
dengan menggunakan LaTeX
.
# The first rule in a Makefile is the one executed by default ("make"). It should always be the "all" rule, so that "make" and "make all" are identical.
all: *.pdf
# MAIN LATEXMK RULE:-
# pdf tells latexmk to generate a PDF instead of DVI.
# pdflatex="" tells latexmk to call a specific backend with specific options.
# use-make tells latexmk to call make for generating missing files.
# interaction=nonstopmode keeps the pdflatex backend from stopping at missing file reference and interactively asking you for an alternative.
# synctex=1 is required to jump between the source PDF and the text editor.
# pvc (preview continuously) watches the directory for changes.
# quiet suppresses most status messages (https://tex.stackexchange.com/questions/40783/can-i-make-latexmk-quieter).
.PRECIOUS: *.pdf
*.pdf: *.tex
latexmk -quiet -bibtex $(PREVIEW_CONTINUOUSLY) -f -pdf -pdflatex="xelatex -file-line-error -synctex=1 -interaction=nonstopmode -shell-escape %S %O -verbose" -use-make *.tex
# The .PHONY rule keeps make from processing a file named "watch" or "clean".
.PHONY: watch
# Set the PREVIEW_CONTINUOUSLY variable to -pvc to switch latexmk into the preview continuously mode.
watch: PREVIEW_CONTINUOUSLY=-pvc
watch: *.pdf
.PHONY: clean cleanall
# -bibtex also removes the .bbl files (http://tex.stackexchange.com/a/83384/79184).
clean:
latexmk -c -bibtex *.tex
cleanall:
latexmk -C -bibtex *.tex
If there is an error while running '
make
' command which prompts the following,
:makefile:4: *** missing separator. Stop.
check out
[this solution] with funny remarks given by
nsd
:
Synctex-searches work just fine by installing
zathura
and all the dependencies from the Arch official repository (
libmupdf
can be skipped) as long as we set the
vimtex-clientserver
(please refer to the
first related configuration file below) which is specifically for
vimtex-synctex-inverse-search
.
I use [1] vimtex
, a vim plugin
that provides support for writing and compiling LaTeX
documents and [2] zathura
as the document viewer.
In the beginning, I was determined to stick to [3] MuPDF
as the PDF viewer due to its fast and complete features despite being small and lightweight but I kept encountering unpleasant experiences while compiling documents where it always froze the screen of my laptop when I closed the viewer.
$print_type = 'pdf';
$pdf_mode = 1;
$bibtex_use = 2;
push @generated_exts, "cb";
push @generated_exts, "cb2";
push @generated_exts, "spl";
push @generated_exts, "nav";
push @generated_exts, "snm";
push @generated_exts, "tdo";
push @generated_exts, "nmo";
push @generated_exts, "brf";
push @generated_exts, "nlg";
push @generated_exts, "nlo";
push @generated_exts, "nls";
push @generated_exts, "synctex.gz";
push @generated_exts, "tex.latexmain";
push @generated_exts, "run.xml";
$latex = 'latex --src-specials %O %S';
#$pdflatex = 'pdflatex -file-line-error -synctex=1 -interaction=nonstopmode -shell-escape %O %S';
$pdflatex = 'xelatex -file-line-error -synctex=1 -interaction=nonstopmode -shell-escape %S %O -verbose';
# If zero, check for a previously running previewer on the same file and update it. If nonzero, always start a new previewer.
$new_viewer_always = 0;
# How to make the PDF viewer update its display when the PDF file changes. See the man page for a description of each method.
$pdf_update_method = 2;
# When PDF update method 2 is used, the number of the Unix signal to send
$pdf_update_signal = 'SIGHUP';
add_cus_dep('nlo', 'nls', 0, 'nlo2nls');
sub nlo2nls {
system("makeindex $_[0].nlo -s nomencl.ist -o $_[0].nls -t $_[0].nlg" );
}
# vim: ft=perl