Showing posts with label Latex. Show all posts
Showing posts with label Latex. Show all posts

Wednesday, January 04, 2023

Tools for Academic Writing in 2023

When writing a scientific paper, I use several tools below to boost and speed up my writing process. Hence, I only need two weeks to a month to complete the first version of my manuscript (after the experiment has been conducted). Two tools are paid: Copilot and Grammarly. Before going down to the list below, you may also be interested in my resources for academic writing - word concordance [1]. For last year's tool (2022), specializing on both research and paper writing instead of paper writing only, you can check it here [2].

  1. Mendeley (the old desktop version, not the new reference manager, to create a BIB file automatically)
  2. Grammarly (vscode plugin)
  3. Latex Workshop (vscode plugin)
  4. Copilot (vscode plugin)
  5. ChatGPT (to ask questions)
By using these tools, I DON'T need to:
  • Create bibliography manually
  • Sometimes, write all sentences in paragraphs since Copilot will do it.
  • Check the grammar manually.
  • Create Table, Figure, and Equation manually in Latex (thanks to Latex Workshop).
Other tools (unexplored well, in progress for adaptation)
  1. https://www.explainpaper.com (tool to explain any hard-to-understand terms/sentences in a paper)
  2. https://elicit.org/ (like ChatGPT, but with reference)
  3. LTeX – LanguageTool grammar/spell checking (alternative to Grammarly, free)

Reference
[1] http://bagustris.blogspot.com/2020/07/resources-for-academic-writing-word.html
[2] https://bagustris.blogspot.com/2023/01/tools-i-used-for-accelerating-science.html

Friday, September 09, 2022

Installing TexLive 2022 on Ubuntu 22.04 under Multipass

Multipass is a game changer. It looks like a virtual environment for python or a virtual box for OS, but for Ubuntu instances only (the hosts can be Windows and MacOS). This short writing documented my effort to enable the installation of TexLive 2022 for adding IEEE header and footer for camera-ready APSIPA 2022.

Host environment

bagus@L140MU:~$ snap --version
snap    2.56.2
snapd   2.56.2
series  16
ubuntu  20.04
kernel  5.15.0-46-generic
bagus@L140MU:~$ multipass --version
multipass   1.10.1
multipassd  1.10.1

Steps

1. Install multipass (refer to this link for detail).
2. Create an instance with Jammy (Ubuntu 22.04)
multipass launch jammy --disk 10G 
Launched: famed-chaffinch

2. Login to Jammy's shell (change the name of instance)
 multipass shell famed-chaffinch
3. Update Jammy
 sudo apt update
4. Install texlive and required packages
sudo apt install texlive-base texlive-fonts-extra texlive-fonts-recommended texlive-publisher
5. Try on the desired latex template
$ wget https://www.apsipa2022.org/APSIPA_ASC_2022_Template.zip
$ sudo apt install unzip
$ unzip APSIPA_ASC_2022_Template.zip
$ cd APSIPA_ASC_2022_Template/Latex
$ pdflatex PaperSample_Guideline_tex.tex
...
Output written on PaperSample_Guideline_tex.pdf (3 pages, 126525 bytes).
Transcript written on PaperSample_Guideline_tex.log.
That's all. For 20.04, it will throw to an infinite recursion loop due to the lower fancy version. The only solution is to install newer Latex on Ubuntu 22.04 under multipass. For real cases, you may need to mount your local directory (which contains TEX files) to an instance with `multipass mount`.
$ multipass mount $HOME famed-chaffinch

Wednesday, March 17, 2021

Configure java-11 for Ltex in VScode Ubuntu 16.04

As a scientist or researcher or a lecturer, writing paper in Latex is a must. To make it easy writing in Latex, I used VScode with Latex Workshop extension. For non native English speaker, there is another extension called ltex (based on "language tool") to check spelling and grammar. This is a perfect combination for writing paper in Latex: VScode+Latex Workshop+Ltex.

However, since I used Ubuntu 16.04 as my OS, there is a difficulty on installing the latest Ltex version (v9.0.0) in Ubuntu 16.04, which required java-11. Here, I documented my steps to tackle the problem.
  1. Download openjdk from this link: https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.10%2B9/OpenJDK11U-jdk_x64_linux_hotspot_11.0.10_9.tar.gz
  2. Extract the downloaded file.
  3. Copy extracted file to /usr/local:  sudo cp -r jdk-11.0.10+9/ /usr/local
  4. Set ltex java path to: /usr/local/jdk-11.0.10+9
  5. Finish
The last step, step 4 (before finish), can be shown below.

Now Ltex is ready, as shown below. It checks your spelling and grammar errors aumatically, for free.


Another trick
I used another PC with also 16.04 version, but I don't need to follow these tricky steps with leaving "Ltex Java path" blank.

Friday, January 29, 2021

Latex: Remove Ugly Boxes

 Just a reminder for me to remove ugly boxes when writing in Latex.

\usepackage[hidelinks]{hyperref} 

Before:
Reference with ugly green boxes (link to reference if it is clicked)

After:
Reference without ugly boxes (still clickable)

Thursday, January 14, 2021

Latex: Multiline Equation

Catatan ini hanya sebagai pengingat bagi saya ketika ingin menuliskan "multiline equation" di Latex. Daripada selalu googling, lebih baik saya letakkan disini.

Ada tiga cara untuk menuliskan persamaan multibaris pada Latex: Align, Split, dan Multline.
Cara favorit saya adalah dengan "align" sebagai berikut.
\begin{align}
  cov(X,Y) \&= \sum_{i=1}^{n}(x_i-\bar{x})(y_i-\bar{y}) \\
  \sigma_x \&= \sqrt{\sum_{i=1}^{n}(x_i-\bar{x})^2}
\end{align}

Hasilnya adalah sebagai berikut:
$$ cov(X,Y) = \sum_{i=1}^{n}(x_i-\bar{x})(y_i-\bar{y}) ~~~~ (5) $$ $$ \sigma_x = \sqrt{\sum_{i=1}^{n}(x_i-\bar{x})^2} ~~~~~~~ (6) $$
Lebih jelasnya lewat screenshot pdf ini.

Jika ingin menghilangkan penomoran persamaan, gunakan {align*} untuk menggantikan {align}.

Monday, November 30, 2020

Memotong (autocrop) file pdf secara otomatis

Teknik sederhana berikut akan memotong file pdf dengan batas sepanjang apa yang ada dalam file pdf tersebut. Artinya, gambar atau objek di dalam file pdf akan ditampilkan secara maksimal dari sisi ukurannya.
$ pdfcrop input.pdf
Luarannya adalah file dengan nama `input-crop.pdf`. Bisa saja file luarannya diberi nama saat memerintahkan memotong file pdf, bisa juga ukuran yang dipotong ditentukan secara manual. Namun, kenapa harus menambah kerjaan jika semuanya bisa dilakukan secara outomatis seperti perintah diatas? Berikut hasil perintah di atas.

Sebelum: input.pdf

Sesudah: input-crop.pdf

Thursday, November 26, 2020

Konversi resolusi tinggi pdf ke eps

Hanya dua format (ekstensi file) yang diperkenankan pada publikasi saintifik: tif dan eps. Untuk tif saya tidak pernah memakainya, program yang saya gunakan (python, draw, inkscape, dll) tidak pernah saya gunakan untuk memproduksi file tipe tif tersebut, dan, sulit dipakai di Latex. Solusinya hanya eps, dan latex juga mendukung ekstensi file tersebut.

Masalahnya, saya sangat menyukai tipe file pdf. Banyak alasannya, diantaranya:

1. Zoom-able

2. Searchable (teks di dalam gambar, misal aksis grafik)

3. Bisa dibuka dimana saja, laptop, hape, dll.

Mau tidak mau, file pdf yang serba bermafaat tersebut harus dikonversi ke eps. Setidaknya dua cara telah saya coba. Awalnya, saya memakai perintah `convert` dan berhasil. Kekurangannya, resolusinya menjadi kecil. Setelah sekian lama, saya menemukan `pstopdf` yang juga mendukung eps file dengan argumen `eps`. Dengan perintah kedua ini resolusi yang dihasilkan cukup tinggi. Perintah lainnya adalah dengan inkscape (asumsi sudah terinstall).

Jadi, begini caranya.

$ pdftops -eps input.pdf
$ inkscape input.pdf --export-eps=output.eps

Perintah terakhir di atas juga bisa digunakan untuk merubah file tipe lain, misalnya svg ke pdf (selain dengan cara yang disebutkan disini).
$ inkscape input.svg --export-pdf=output.pdf
Referensi:
  1. https://stackoverflow.com/questions/44736917/high-quality-pdf-to-eps

Monday, July 27, 2020

Latex add directory for figure

In the practice of Latex writing, it is common to use the same figure or figure directory across different projects (papers). Instead of a copy-paste-ing figure directory, which is usually big in size, it is better to just drop a line of latex code to specify where the location of the figure directory. By using this technique, we can avoid increasing memory size by preventing copying the same files/figures used by different tex files.

Here is how.
% for a single directory
\graphicspath{{figures/}} %Setting the graphicspath

% for multiple directories
\graphicspath{{figures1/}{figures2/}{figures3/}} %Setting the graphicspath


Don't forget the slash '/' after the name of the directory.
That's all. It works!

Monday, April 06, 2020

Berpindah ke vscode (dari gEdit)

Hidup itu harus dinamis, tidak harus saklek pada satu hal (tool/perangkat). Ketika ada perangkat lain yang lebih mudah, meskipun awalnya saya membencinya, maka kita harus berpindah ketika ternyata perangkat tersebut memberikan kemudahan dan kecepatan dari perangkat lama.

Kali ini saya berbicara tentang "editor", perangkat lunak yang digunakan untuk mengetik. Contoh editor sederhana adalah notepad di Windows. Di Linux, sejak pertama kali menggunakannya secara intensif tahun 2009 sampai sekarang, editor bawaan dari Gnome, yakni gEdit, adalah editor default saya, selain vim. Dua hal utama yang saya gunakan dengan editor: (1) mengkoding Python, dan (2) membuat manuskrip dengan Latex. Hal-hal lainnya adalah menulis dengan markdown, txt, dan format-format lainnya. Jadi, editor yang saya gunakan paling tidak harus mendukung Python dan Latex, dan gEdit sudah mendukung keduanya dengan beberapa kekurangan (code completion, snippets, dll).

Setelah mencoba beberapa editor lain: Atom, Sublime text, Spyder, PyCharm, dan vscode, akhirnya saya memutuskan vscode sebagai editor saya untuk seterusnya. Tulisan ini mengupas kenapa saya berpindah dari gEdit ke vscode.


Sunday, June 30, 2019

Mengecek grammar dan spellchek bahasa inggris file Latex lewat Terminal

Judul tulisan ini panjang, tapi isinya tidak sepanjang judulnya.

Sebagai seorang mahasiswa, saya dituntut untuk mempubikasikan makalah (karya tulis) saya pada sebuah seminar, atau konferensi bahasa kerennya. Publikasi tersebut merupakan syarat wajib. Agar bisa lulus setidaknya saya harus publikasi pada dua konferensi dan dua jurnal, itu harapan (dan mungkin juga syarat) dari profesor saya di sini. Karena level bahasa Inggris saya masih pada tahap belajar, dan terlalu mahal untuk melanggan Grammarly Pro, saya menggunakan tools gratis untuk mengecek grammar tulisan saya. Perkakas tersebut namanya textidote, bisa diunduh di sini.

Perkakas yang dibutuhkan (saya gunakan):
  • Textidote
  • Gedit (dengan embedded terminal)
Berikut tampilan screenshot gedit saya sebelum mengeksekusi textidote pada sebuah fail latex.

Gedit dengan embedded terminal, textidote siap mengeksekusi (check grammar dan spell check) file latex di atasnya.

Instalasi


Friday, April 27, 2018

Menulis Kanji pada Latex

Ada dua cara/metode utama yang menurut saya simple untuk menulis kanji dengan latex, pertama tetap menggunakan engine pdflatex, kedua dengan menggunakan engine platex, dengan tool ptex2pdf. Cara kedua ini sebetulnya gabungan antara platex/ptex dan dvipdfmx. Keduanya engine tersebut (pdflatex dan platex) merupakan engine latex modern. Latex adalah kumpulan makro dan banyak engine yang digunakan selain engine asli "Tex" yang dibuat oleh Donald Knuth tahun 1978. Tex kemudian dikembangkan menjadi \LaTeX oleh Leslie Lamport pada tahun 1983. By default, latex menggunakan engine etex (Ubuntu/Debian versi sekarang masih menggunakan etex rilis 1994). Pdflatex juga menggunakan engine etex dengan output pdf. Kedua metode yg saya jelaskan di bawah menggunakan dua pendekatan yang berbeda untuk menulis kanji yakni pdflatex(tex) dan platex (eptex). Pada pdflatex (selanjutnya disebut latex), kita perlu menginput package CJK yang bisa digunakan untuk menulis kanji, sedang pada platex/ptex, kita tidak perlu menginput package tambahan, karena sejatinya ptex/platex dibuat agar bisa men-support kanji by-default.

Hasil penulisan kanji dengan pdflatex (atas) dan platex (bawah). Platex menunjukkan tampilan kanji yang lebih halus daripada hasil generasi pdflatex.

Thursday, November 23, 2017

Menulis persamaan Matematika dengan Latex di Blogger

Ini adalah tips lama, namun setelah saya cek, ternyata banyak skrip latex saya yang error karena server mathjax telah berpindah dari CDN ke CDNJS (as April 2017).

Sederhananya, salin kode berikut ke dalam theme html blogger anda (theme > edit html), persis setelah <head>.

<!-- for latex -->
<script type="text/x-mathjax-config">
 MathJax.Hub.Config({
  tex2jax: {inlineMath: [['$','$'], ['\\(','\\)']]}
 });
</script>
<script async="async" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS_CHTML" type="text/javascript">
</script>

Berikut adalah contohnya,
$$ E = mc^2 $$

Persamaan di atas ditulis dengan,
$$ E = mc^2 $$


Selamat mencoba!

Update Juli 2020:
- Ganti skrip yang dicoret di atas dengan skrip berikut:
<script src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript">

Update Januari 2021:
- Setelan (config) skrip untuk latex yang pakai sekarang seperti terlihat di bawah ini.


Referensi:
  1. Davide Cervone, Casey Stark, Robert Miner, Paul Topping, Frédéri, MathJax Documentation, Release 2.7, Nov 08, 2017.
  2. http://mathjaxtest.blogspot.com/


Friday, September 09, 2016

Membuat presentasi dengan Latex Beamer

Latex dapat digunakan untuk membuat file presentasi yang powerful. Jika anda belum menginstal latex, saya menyarankan untuk menggunakan latex dari plugin Gedit di Ubuntu yang tutorialnya bisa dibaca disini. Dengan Gedit dan Latex plugin plus embedded terminal, pekerjaan membuat file presentasi akan menjadi jauh lebih mudah. Kelebihannya, tata kelola layout pada halaman slide serta penulisan persamaan matematik didalamnya jauh menjadi cantik dan ciamik.

Tutorial beamer dengan beamer di slideshare

Membuat dokumen baru

Untuk membuat file presentasi dengan latex via Gedit, klik Tools >> Latex >> New Latex Documents. Maka, akan muncul jendela seperti dibawah. Yang perlu anda lakukan hanyalah mengganti dari Template dari default menjadi slide, mengisi nama dan direktori tempat menyimpan file .tex dan Pilih Babel Package >> Bahasa Indonesia, kemudian klik OK. Setelah itu anda dapat membuka file .tex di direktori yang telah anda pilih tadi (File >> Open).

Wednesday, July 08, 2015

Tutorial Latex Sederhana dan Instalasinya

Bisa menggunakan Latex adalah salah satu skill dasar yang harus dimiliki oleh mereka yang ingin menjadi ilmuwan atau peneliti (scientist and researcher). Menguasai Latex akan memudahkan kita ketika menulis paper akademik dan saintifik semisal jurnal, conference paper dan thesis (TA dan disertasi).

Untuk dapat menggunakan Latex, anda harus menginstallnya terlebih dahulu. Jika anda memakai Windows, anda bisa mengintall miktex dan texworks. Untuk Unix, khususnya Linux, saya akan mendemokan instalasi Latex dengan editor Gedit.

Step-by-step instalasi Latex dan gedit-latex-plugin (di terminal) di Ubuntu (14.04):
    1. sudo apt-get install latex
    2. sudo apt-get install gedit-latex-plugin
Dengan dua perintah tersebut (bisa dijadikan satu juga), maka Ubuntu anda sudah terinstall Latex, lebih sederhana dibandingkan dengan instalasi pada Windows. Silakan cek pada gedit, aktifkan plugin, edit >> preference >> plugin, synctex. Kemudian akan muncul tab "Latex" serta menu "Tools" Latex--> pdf, pada window Gedit anda.

Tampilan Gedit dengan plugin Latex
Selanjutnya, anda dapat mendownload tutorial Latex di bawah ini untuk belajar Latex, file sumber saya sertakan disini.

Tuesday, March 08, 2011

Enable shell escape: Cara agar gambar berekstensi eps dapat di compile di pdfLatex

Akhirnya masalah satu ini terselesaikan, dan ternyata cukup mudah. Tak perlu menginstall Texmaker dan atau Emacs, cukup Gedit aja (my second favourite editor). Hanya perlu merubah satu huruf di file setting pdfLatex. Tentunya, masih dengan OS Linux, caranya cukup sederhana, sesederhana berikut ini:
  1. Buka file texmf.cnf di /etc/texmf/ atau di /usr/share/texmf/web2c, sama aja kedua file tersebut karena yg satu ng-link ke yang lain. Tentunya anda harus bertindak sebagai root.
  2. Cari file shell_escape=p ganti dengan shell_escape=1, kemudian save, jika anda bukan root anda tidak akan dapat menyimpannya.
  3. Di header file latex anda, tambahkan paket berikut:
    • \usepackage[pdftex]{graphicx}
    • \usepackage{epstopdf}
  4. Now images with file name extension .eps are detected and supported using
    \includegraphics (maaf, males translate-nya, intinya sekarang anda bisa menggunakan file .eps dalam pdfLatex anda). Selamat berkarya!!