bersama catatan peribadi & teknikalnya.

#Latex

ConTeXt vs LaTeX
Sebuah perbandingan

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.

Tentang LaTeX, Vimtex dan Zathura
Penerangan lebih terperinci mengenainya

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.

Buat Resume Dengan LaTeX

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.

Makefile for 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

Additional Info

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:
cat -e -t -v

Rujukan:

VimTeX and Zathura
Compiling and Viewing TeX Docs

Updated on 24 September 2020:-

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.

.latexmkrc
~/.latexmkrc

$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

Top