Di LaTeX, bagaimana saya bisa mendefinisikan variabel string yang isinya digunakan alih-alih variabel dalam PDF yang dikompilasi?
Katakanlah saya sedang menulis dokumen teknologi pada perangkat lunak dan saya ingin mendefinisikan nama paket di pembukaan atau di suatu tempat sehingga jika namanya berubah, saya tidak harus menggantinya di banyak tempat tetapi hanya di satu tempat .
Jawaban:
tambahkan yang berikut ini untuk Anda pembukaan:
Kemudian Anda bisa menggunakannya
\newCommandName{}
dalam teksUntuk info lebih lanjut
\newcommand
, lihat misalnya wikibooksContoh:
Keluaran:
sumber
Gunakan
\def
perintah:Sadarilah bahwa
\def
menimpa makro yang sudah ada sebelumnya tanpa peringatan apa pun dan karena itu dapat menyebabkan berbagai kesalahan halus. Untuk mengatasinya, gunakan variabel namespace sepertimy_var
atau kembali ke\newcommand
,\renewcommand
perintah.sumber
\def
bisa menjadi masalah karena tidak memeriksa makro yang sudah ada sebelumnya. Lihat lingkaran kedua neraka LaTeX - karena itu, lebih baik digunakan\newcommand
variable
arti bahwa itu mungkin berubah? :)\def
. Sebagai gantinya, saya pikir itu praktik terbaik untuk pertama-tama "menginisialisasi" semua variabel yang ingin Anda gunakan\newcommand
(bahkan jika itu hanya dengan\@empty
), dan kemudian buat perintah Anda untuk memodifikasi variabel menggunakan\renewcommand
. Ini akan memberi tahu Anda jika variabel Anda sudah keluar, karena\newcommand
akan menimbulkan kesalahan (atau setidaknya peringatan).\def
berfungsi untuk hal-hal dalam mode matematika, sementara\newCommandName
tidak. (Misalnya,\def\mathExpression{\pi^2 + \sin x}
)Untuk variabel yang menggambarkan jarak, Anda akan menggunakan
\newlength
(dan memanipulasi nilai-nilai dengan\setlength
,\addlength
,\settoheight
,\settolength
dan\settodepth
).Demikian pula Anda memiliki akses ke
\newcounter
hal-hal seperti nomor bagian dan angka yang harus bertambah di seluruh dokumen. Saya telah menggunakan yang ini di masa lalu untuk memberikan contoh kode yang diberi nomor terpisah dari angka-angka lain ...Yang juga perlu diperhatikan adalah
\makebox
Anda dapat menyimpan sedikit dokumen yang sudah disiapkan untuk digunakan kembali nanti (dan untuk digunakan dengan\settolength
...).sumber
\newlength{\hcolw}
dan\setlength{\hcolw}{0.47\textwidth}
akan bermanfaat.Jika Anda ingin menggunakan
\newcommand
, Anda juga bisa memasukkan\usepackage{xspace}
dan mendefinisikan perintah dengan\newcommand{\newCommandName}{text to insert\xspace}
. Ini dapat memungkinkan Anda untuk hanya menggunakan\newCommandName
daripada\newCommandName{}
.Untuk detail lebih lanjut, http://www.math.tamu.edu/~harold.boas/courses/math696/why-macros.html
sumber
Saya pikir Anda mungkin ingin menggunakan daftar tanda untuk tujuan ini: untuk mengatur daftar tanda
\newtoks\packagename
untuk menetapkan nama:\packagename={New Name for the package}
untuk menempatkan nama menjadi output Anda:\the\packagename
.sumber