InggrisPerancisSpanyol

Ad


favorit OnWorks

dvilj4 - Online di Cloud

Jalankan dvilj4 di penyedia hosting gratis OnWorks melalui Ubuntu Online, Fedora Online, emulator online Windows atau emulator online MAC OS

Ini adalah perintah dvilj4 yang dapat dijalankan di penyedia hosting gratis OnWorks menggunakan salah satu dari beberapa workstation online gratis kami seperti Ubuntu Online, Fedora Online, emulator online Windows atau emulator online MAC OS

PROGRAM:

NAMA


dvilj4, dvilj4l, dvilj2p, dvilj - mengonversi file TeX DVI ke PCL, untuk printer HP LaserJet

RINGKASAN


dvilj [--Dnumber] [-ccopies] [-dmode] [-D] [-E] [-eoutputfile]
[-ffrompage] [-g] [-hheaderfile] [-l] [-Mflag] [-mmag] [-pages]
[-q] [-r] [-ttopage] [-ukuran halaman] [-v] [-Vmode] [-w] [-xxoff(mm)]
[-kamu pergi(mm)] [-Xxoff(titik)] [-Yyoff(titik)] [-z] [nama file]

DESKRIPSI


jahat dan saudara kandung mengonversi file ".dvi" keluaran TeX menjadi PCL (Printer Hewlett-Packard
Bahasa Kontrol) perintah yang cocok untuk mencetak pada HP LaserJet+, HP LaserJet IIP (menggunakan
dvilj2p), HP LaserJet 4 (menggunakan dvilj4), dan printer yang sepenuhnya kompatibel.

dvilj4 juga menyediakan dukungan untuk font Intellifont dan TrueType bawaan; TFM dan VF
file disediakan dalam distribusi. Font virtual tidak didukung secara langsung oleh
jahat, jadi kamu harus lari dvicopy(1) pertama, atau perluas font virtual

Semua program dihasilkan dari satu file sumber dvi2xx.c. Mereka biasanya dipanggil melalui a
skrip shell atau sebagai filter printer baris. Salah satu skrip seperti itu, dvihp(1), termasuk dalam
distribusi. Ini menyediakan opsi baris perintah yang mirip dengan yang ada di dvip(1).

PILIHAN


--Djumlah
Debug sesuai dengan bit jumlah; lihat kpathsea(3) manual untuk nilai. Juga
mengaktifkan verbositas umum.

-cjumlah
Cetak setiap halaman jumlah kali (termasuk asli)

-djumlah
mencetak dalam mode dupleks. Pilihan -d1 berarti mengikat tepi panjang, -d2 singkatan dari
pengikatan tepi. Opsi ini hanya dapat dipilih di dvilj4 dan dvilj2p.

-D[-12]
Pencetakan dua sisi - lihat di bawah; -D1 mencetak sisi ganjil saja, -D2 adalah untuk halaman genap, a
tertinggal - menekan pencetakan halaman padding kosong.

-E Alihkan printer ke mode hemat (dvilj4 hanya).

-efile keluar
Kirim keluaran ke file keluar alih-alih nama dasar file dvi yang diperpanjang dengan ".lj". Jika
file keluar adalah - (seperti dalam "-e-") output diarahkan ke output standar dan dapat
langsung disalurkan ke spooler.

-fnomor halaman
Cetak halaman dengan nomor halaman TeX lebih besar atau sama dengan nomor halaman.

-g Go mode: jangan reset printer saat memulai pekerjaan.

-hfile header
Copy file header ke output sebelum terjemahan file DVI. Digunakan untuk mengirim sewenang-wenang
perintah ke printer laser.

-l Hasil cetak dalam mode lansekap; hanya didukung oleh dvilj2p dan dvilj4.

-Mbendera
Jangan panggil mktexk(1) untuk menghasilkan font sesuai permintaan. - M1 dan -M adalah setara. - M0
memungkinkan memanggil mktexk(1). (Ini sama seperti di dvip(1).) Perilaku default
(yaitu, jika tidak ada -M opsi diberikan) dipilih pada waktu kompilasi; sebagai terdistribusi, mktexk adalah
diaktifkan.

-mpembesaran
Tentukan perbesaran yang akan digunakan. Berikut ini tersedia:

-m#usermag misalnya, #900
-m0 setara dengan -m#1000
-mh setara dengan -m#1095
-m1 setara dengan -m#1200
-mq setara dengan -m#1250
-m2 setara dengan -m#1440
-m3 setara dengan -m#1728
-m4 setara dengan -m#2074
-m5 setara dengan -m#2488

-pjumlah halaman
Mencetak jumlah halaman halaman setelah halaman awal.

-q Pengoperasian yang senyap: abaikan statistik akhir, dll.

-r Beralih pembalikan halaman.

-sukuran halaman
Tentukan ukuran halaman:

-s1: Eksekutif (7.25" x 10.5")
-s2: Huruf (8.5" x 11")
-s3: Hukum (8.5" x 14")
-s6: Buku Besar (11" x 17")
-s25: kertas A5 (148mm x 210mm)
-s26: kertas A4 (210mm x 297mm)
-s27: A3 (297mm x 420mm)
-s45: kertas JIS B5 (182mm x 257mm)
-s46: kertas JIS B4 (250mm x 354mm)
-s71: Kartu pos Hagaki (100mm x 148mm)
-s72: Kartu pos Oufuku-Hagaki (200mm x 148mm)
-s80: Amplop Raja (3 7/8" x 7 1/2")
-s81: Amplop Komersial 10 (4 1/8" x 9 1/2")
-s90: DL Internasional (110mm x 220mm)
-s91: C5 Internasional (162mm x 229mm)
-s100: B5 Internasional (176mm x 250mm)

Nilai-nilai ini berasal dari manual referensi teknis PCL 5. jika -s garis komando
opsi dihilangkan, tidak ada kliping yang dilakukan di bagian bawah halaman. (Tapi mencetak
di bawah bagian bawah kertas seharusnya tidak mengganggu printer PCL yang berperilaku benar.) Tolong
ingat bahwa baki kertas yang benar harus dipasang untuk ukuran kertas yang dipilih, jadi gunakan
opsi ini hanya jika Anda memiliki kendali penuh atas tujuan cetak Anda.

-tnomor halaman
Cetak halaman dengan nomor halaman TeX kurang dari atau sama dengan nomor halaman.

-v Mode verbose: daftar font yang digunakan, dll.

-Vmode
Mode kompatibilitas. Sebagai mode, gunakan "K" untuk Kyocera, "B" untuk Brother, 6 untuk printer LJ6.

-w Abaikan peringatan.

-xmengimbangi
X-offset global dalam mm pada halaman keluaran relatif terhadap asal 1 inci/1 inci.

-ymengimbangi
Offset y global dalam mm pada halaman keluaran relatif terhadap asal 1 inci/1 inci.

-Xmengimbangi
X-offset global dalam titik-titik pada halaman keluaran (mengganti asal 1 inci/1 inci).

-Ymengimbangi
Offset y global dalam titik-titik pada halaman keluaran (mengganti asal 1 inci/1 inci).

-z Cetak halaman uji dengan penghitung halaman di akhir pekerjaan.

OPERA


Jika tidak ada operan yang ditentukan, pesan penggunaan singkat akan ditampilkan.

nama file
Nama file DVI yang akan dikonversi oleh jahat. Itu harus selalu dapat dicari.

Nama file keluaran dibuat dari nama file. Salah satu ekstensi ".dvi" adalah
diganti dengan ".lj", atau ekstensi ".lj" ditambahkan.

If nama file is -, file DVI dibaca dari input standar dan PCL yang dihasilkan
dokumen ditulis ke output standar. (Harap diingat bahwa file DVI harus
dapat dicari, meskipun itu stdin.)

DIDUKUNG TeX \spesial PERINTAH


Perintah "\ khusus" yang didukung oleh jahat memiliki sintaks generik

\special{key1=value key1="nilai dengan spasi"}
\special{key3 = value key4 = 'catat spasi opsional di sekitar tanda sama dengan'}

Yaitu, spesial adalah urutan pasangan kunci/nilai, dipisahkan oleh tanda sama dengan. Spasi
sekitar tanda sama dengan diabaikan. Nilainya berupa kata yang dipisahkan spasi, atau kutipan
rangkaian. Kedua tanda kutip ganda dan tunggal dapat digunakan, sebagai alternatif. Tidak ada dukungan untuk
mengutip karakter kutipan dalam nilai; jika Anda ingin tanda kutip ganda dan tunggal dalam satu
nilai, Anda kurang beruntung.

Kombinasi kunci/nilai berikut ini valid:

file hp=fillet
Menyisipkan fillet pada posisi saat ini. fillet dicari dengan kpathsea(3), lihat di bawah.

Konten file harus valid untuk printer ini, yaitu harus berisi PCL escape
urutan atau perintah HP-GL/2. Jika file tersebut adalah file grafik, ini biasanya berarti
bahwa sudut kiri atas grafik ditempatkan pada posisi saat ini.

Urutan pelarian pemosisian absolut PCL di fillet ditulis ulang menjadi relatif
perintah posisi; koordinat terendah yang muncul digunakan sebagai referensi.

hpfile_verbatim=fillet
Menyisipkan fillet verbatim pada posisi saat ini, tanpa perubahan konten file.
fillet dicari dengan kpathsea(3), lihat di bawah.

Ini sebagian besar digunakan untuk menjaga posisi absolut dalam file PCL.

file ps=fillet llx=x0 lly=y0 kamu=x1 ury=y1 rwi=s
Konversi file Postscript fillet ke HP PCL, dengan Ghostscript dengan perangkat "ljetplus", dan
masukkan file grafik yang dihasilkan pada posisi saat ini, tulis ulang absolut
urutan pelarian posisi. fillet dicari dengan kpathsea(3), lihat di bawah.

Pasangan kunci/nilai yang menyertainya adalah wajib, mereka dapat ditentukan secara arbitrer
memesan. Nilai x0, x1, y0, y1, dan s adalah bilangan bulat. (x0,y0) adalah sudut kiri bawah,
(x1,y1) pojok kanan atas gambar.

Silahkan catatan: Grafik tertentu semantik of ini khusus is tidak dikenal. Secara khusus,
rwi parameter adalah beberapa faktor skala; tetapi bahkan melihat kode sumbernya tidak
cukup jelas apa yang ingin diterapkan oleh penulis khusus di sini. Selain itu, itu adalah
tidak jelas dimensi apa yang digunakan untuk menentukan sudut, titik Postscript, atau PCL
titik.

If kamu terjadi untuk tahu itu file ps semantik, or if kamu menghabiskan itu kerja menganalisis mereka,
silahkan memberitahu us at [email dilindungi], so bahwa we bisa memperbarui ini pria halaman dengan itu
relevan informasi.

dvilj-psfile-sintaks=sintaksis
dimana sintaksis adalah "dvilj" atau "abaikan". Ini adalah cara yang sangat kasar untuk memberitahu
sopir apa yang harus dilakukan dengan file ps spesial.

Jika nilainya "abaikan", semua file ps spesial yang diproses setelahnya adalah
diabaikan, sampai berikutnya dvilj-psfile-sintaks khusus diproses.

Jika nilainya adalah "dvilj", psfiles spesial diproses seperti yang dijelaskan di atas, sampai
berikutnya dvilj-psfile-sintaks khusus diproses.

Perpanjangan yang jelas dan terencana adalah nilai "dvips", tetapi ini belum diterapkan
belum.

Istimewa itu tidak sesederhana kedengarannya pada awalnya. Karena semantiknya didefinisikan oleh
memproses pesanan, itu hanya berguna jika ditempatkan pada halaman yang sama dengan file ps
spesial. Memilikinya sekali dalam file (misalnya, pada halaman pertama) tidak membantu jika Anda mencetak
hanya satu halaman dokumen -- jahat tidak melakukan pra-pemindaian spesial halaman pertama
seperti yang dilakukan beberapa pengendara lain. (Tambalan akan diterima, tentu saja.)

komentar=sewenang-wenang teks
komentar sewenang-wenang teks
Hal ini menyebabkan sisa spesial diabaikan; itu dapat digunakan untuk menambahkan meta-
informasi ke file DVI.

Dengan formulir pertama, komentar dapat muncul di mana saja dalam spesial. Ketika muncul
pertama, pemrosesan spesial ini dihentikan dan semua teks lainnya di belakang adalah
diabaikan.

Bentuk kedua adalah spesialisasi yang telah diperkenalkan untuk kompatibilitas dengan yang lain
driver. Jika kata kunci pertama dari spesial adalah komentar dan tidak memiliki nilai, itu diambil
sebagai sintaks komentar yang valid juga; sisa khusus diabaikan.

orientasi=po
Posisikan halaman pada kertas fisik. Nilai po mungkin salah satu dari berikut ini
nilai:

0 untuk potret
1 untuk lanskap
2 untuk potret terbalik
3 untuk lanskap terbalik

defpoint=n(x,y)
Tentukan nomor titik n. Poin ini dapat dirujuk nanti di spesial lainnya
perintah untuk menentukan area yang harus diisi dengan beberapa pola. n harus antara 0
dan 79.

x dan y adalah posisi titik tersebut dan berbentuk "?pt" dimana "?" adalah mengambang
nomor poin. Posisinya relatif terhadap asal halaman DVI; yaitu, koordinat
peningkatan bergerak ke kanan dan ke bawah, titik asalnya adalah (1in,1in) di kiri atas
sudut, diubah oleh opsi -x, -y, -X, dan -Y, tetapi tidak dengan \hoffset dan \voffset.

x dan y dapat dihilangkan, yaitu, nilai 3 atau "4(,)" adalah valid. Kemudian halaman saat ini
posisi digunakan sebagai posisi untuk titik n.

titik ulang= "semua"
Ini tidak menentukan semua poin lagi.

abu-abu=skala_abu-abu
Abu-abu=skala_abu-abu
Ini mengatur mode pengisian untuk selanjutnya mengisi khusus, area tersebut akan diisi dengan warna abu-abu
warna. (Abu-abu adalah alias untuk abu-abu.) Setiap spesifikasi pola diatur ulang.

skala_abu-abu adalah persentase abu-abu yang akan digunakan di sini; dengan 0 artinya putih dan
100 artinya hitam.

Peringatan: Istimewa itu sebenarnya keliru. PCL menamai skala abu-abu ini shading
pola dan mereka dibuat dengan menempatkan titik-titik di area tersebut. Skala abu-abu memilih bagaimana
menyebar jauh titik-titik tersebut. Dalam rentang yang lebih rendah, ini tidak terlihat terlalu abu-abu pada jarak dekat
pemandangan, tetapi lebih seperti latar belakang putus-putus. Selain itu, skala abu-abu tidak seperti
halus sebagai rentang nilai 0..100 mungkin membuat Anda percaya. Pada kenyataannya, ada
hanya tersedia 8 pola abu-abu yang berbeda:

1 - 2%
3 - 10%
11 - 20%
21 - 35%
36 - 55%
56 - 80%
81 - 99%
100%

Salah satu pola ini dipilih sesuai dengan skala_abu-abu nilai.

belt hold=tepuk
Ini mengatur mode pengisian untuk selanjutnya mengisi khusus, area tersebut akan diisi dengan
pola. Setiap spesifikasi warna abu-abu diatur ulang.

tepuk adalah salah satu dari nilai berikut:

1 garis horizontal
2 garis vertikal
3 garis diagonal, dari sudut kiri bawah ke sudut kanan atas
4 garis diagonal, dari sudut kanan atas ke sudut kiri bawah
5 garis bersilangan, vertikal
6 garis bersilangan, secara diagonal

mengisi=a / b
Isi area di antara titik-titik a dan b, sesuai dengan mode pengisian saat ini.

Titik a harus menjadi sudut kiri atas dan titik b harus menjadi sudut kiri bawah
empat persegi panjang. Kalau tidak, hasilnya adalah sampah.

Mode pengisian default adalah pengisian warna abu-abu 10%.

nama file
Ini adalah warisan khusus, penggunaannya disusutkan. Jika spesial hanya satu kata itu
nama file yang ada, file itu termasuk kata demi kata. Bertentangan dengan file lain
inklusi berarti, file tidak dicari dengan kpathsea(3). Kamu adalah tidak Seharusnya untuk
menggunakan ini khusus dan we biasa memperbaiki Apa pun masalah dengan .

Perlu dicatat bahwa pengurai khusus terkadang menerima konstruksi yang tidak
valid seperti dalam dokumentasi di atas. Kemudian, output paling sering rusak dalam beberapa cara.

Pencarian untuk Termasuk File
File yang tepat termasuk spesial mencari file dengan kpathsea(3). Jalur pencarian adalah
dikonfigurasi oleh variabel "DVILJINPUTS" dan, jika file tidak ditemukan di jalur pencarian itu, dengan
variabel "TEXINPUT".

Pencarian melalui "DVILJINPUTS" mencakup kasus penggunaan yang memiliki grafik umum di seluruh situs yang
harus disertakan dalam dokumen, misalnya, tanda tangan yang dipindai. Cari melalui sampul "TEXINPUT"
kasus penggunaan yang memiliki grafik sebagai bagian dari dokumen saat ini.

"dvilj" digunakan sebagai nama ".PROGRAM" di teksmf.cnf, untuk semua varian driver, independen
dari nama program yang sebenarnya.

tidak diketahui Khusus dan "TEX_HUSH" konfigurasi
Kpathsea(3) memiliki konsep penekanan peringatan dengan variabel konfigurasi
"TEX_HUSH", silakan merujuk ke simpul Infonya TeX mendukung / Menekan peringatan. Bahwa
variabel memegang pengidentifikasi yang dipisahkan titik dua yang menentukan peringatan yang akan ditekan.

Jika "khusus" termasuk di antara nilai-nilai yang terdaftar, jahat tidak menampilkan peringatan lagi tentang
spesial yang tidak diketahuinya. Tetapi jika ada yang diakui khusus dan jika itu
khusus memiliki parameter yang tidak valid, maka peringatan akan dikeluarkan, terlepas dari
konten "TEX_HUSH".

DUA KALI LIPAT HALAMAN PERCETAKAN


Jika printer memiliki unit dupleks yang terpasang, pencetakan dupleks dapat diminta dengan -d
.

Jika tidak, opsi baris perintah -D menyebabkan printer mencetak dalam mode halaman ganda, yang
adalah, secara kasar, mencetak terlebih dahulu halaman genap dan kemudian halaman ganjil dari sebuah dokumen.
If -D digunakan untuk mencetak halaman genap dan ganjil (-D digunakan tanpa opsional 1 atau 2)
berikut ini akan terjadi setelah setengah halaman dicetak: LJ: printer berhenti, menunjukkan
pesan "FEED" dan nyalakan led umpan manual. Printer melanjutkan ketika salah satu dari
halaman yang dicetak dimasukkan ke dalam pengumpan halaman manual, atau operator menekan tombol continue
tombol (setelah menempatkan terlebih dahulu halaman yang dicetak ke dalam baki kertas).

If -D1 ditentukan hanya halaman ganjil yang akan dicetak, -D2 dapat digunakan untuk halaman genap. A
mengikuti "-" (seperti dalam -D-, -D1- or -D2-) menekan pencetakan halaman kosong yang
dihasilkan untuk padding sebaliknya.

Pengemudi mengizinkan -D pilihan untuk kedua arah cetak (depan-ke-belakang atau belakang-ke-depan
pencetakan). Ia mencoba menjadi pintar dalam kasus-kasus tertentu: ketika sebuah dokumen memiliki jumlah ganjil
halaman yang disisipkan di tempat yang tepat halaman kosong ketika dokumen dimulai dengan halaman 0
driver menyisipkan halaman kosong setelah 0-halaman ketika sepotong dokumen dicetak itu
dimulai dengan nomor halaman genap yang mencetak halaman ini di bagian belakang halaman pertama untuk
memastikan bahwa sisi ganjil selalu berada di sisi depan. Halaman 0 diperlakukan seperti aneh
.

Opsi sisi ganda berfungsi untuk semua LJ, tidak hanya untuk model D baru dengan do
pencetakan dua sisi (sebenarnya, saya tidak tahu apakah itu masuk akal pada LJ II D . yang baru?
sama sekali).

Peringatan pada opsi sisi ganda: Ketika sering digunakan atau pada file yang sangat besar, itu
mungkin perlu membersihkan printer lebih sering.

Opsi baris perintah -pX dapat digunakan untuk membatalkan pencetakan setelah output dari X halaman (bisa
menyebabkan hasil yang aneh bersama-sama dengan -D). Saya pribadi tidak menyukai opsi ini. yang aman
cara mencetak bagian dari dokumen menggunakan -f (dari) dan -t (ke).

LINGKUNGAN


jahat menggunakan variabel lingkungan dan algoritme yang sama untuk menemukan file font seperti TeX dan
teman-temannya lakukan. Lihat dokumentasi untuk kpathsea(3) perpustakaan untuk rincian. (Mengulangi
di sini terlalu rumit.)

"DVILJFONT"
Jika disetel, ganti semua jalur font lainnya.

"DVILJMAKEPK"
Jika disetel, timpa mktexk(1) sebagai nama perintah untuk mengeksekusi untuk membuat file PK
jika salah satu tidak ditemukan.

"DVILJIZE"
Dapat diatur untuk menunjukkan ukuran font yang tersedia. Itu harus terdiri dari daftar
dari angka yang dipisahkan oleh titik dua. Jika daftar dimulai dengan titik dua, sistem default
ukuran juga digunakan. Ukuran dinyatakan dalam titik per inci; desimal dapat digunakan
untuk file "pxl": misalnya, file 300 titik per inci yang diperbesar setengah langkah muncul
hingga 1643 titik per lima inci, yang harus dikodekan sebagai 328.6. jahat mencoba
ukuran sebenarnya dari font sebelum mencoba salah satu ukuran yang diberikan.

"DVILJINPUT"
Jalur pencarian utama untuk menyertakan file.

"TEXINPUT"
Jalur pencarian sekunder untuk menyertakan file.

"TEX_HUSH"
Daftar pengidentifikasi yang dipisahkan titik dua yang memberi nama situasi di mana tidak ada peringatan
keluaran. Pengidentifikasi berikut digunakan:

checksum menekan peringatan checksum font yang tidak cocok
peringatan penekanan yang dapat dibaca tentang file yang tidak dapat dibaca
peringatan penekanan khusus tentang spesial yang tidak diketahui
semua menekan semua kelas peringatan di atas
tidak ada yang menekan tidak ada peringatan

"KPATHSEA_DEBUG"
Jejak kpathsea(3) pencarian; atur ke -1 untuk penelusuran lengkap.

"GS_PATH"
Di Windows, ini mungkin jalur ke Ghostscript; di sana defaultnya adalah gswin32c.exe.

Di Unix, variabel lingkungan ini tidak digunakan. Ghostscript disebut sebagai gs(1) dan
harus ditemukan lebih dari $PATH.

Gunakan dvilj4 online menggunakan layanan onworks.net


Server & Workstation Gratis

Unduh aplikasi Windows & Linux

  • 1
    menenggak
    menenggak
    SWIG adalah alat pengembangan perangkat lunak
    yang menghubungkan program yang ditulis dalam C dan
    C++ dengan berbagai level tinggi
    bahasa pemrograman. SWIG digunakan dengan
    berbeda...
    Unduh SWIG.dll
  • 2
    Tema WooCommerce Nextjs React
    Tema WooCommerce Nextjs React
    Bereaksi tema WooCommerce, dibangun dengan
    JS berikutnya, Webpack, Babel, Node, dan
    Express, menggunakan GraphQL dan Apollo
    Klien. Toko WooCommerce di React(
    berisi: Produk...
    Unduh WooCommerce Nextjs React Theme
  • 3
    archlabs_repo
    archlabs_repo
    Repo paket untuk ArchLabs Ini adalah
    aplikasi yang juga bisa diambil
    dari
    https://sourceforge.net/projects/archlabs-repo/.
    Ini telah dihosting di OnWorks di ...
    Unduh archlabs_repo
  • 4
    Proyek Zephyr
    Proyek Zephyr
    Proyek Zephyr adalah generasi baru
    sistem operasi waktu-nyata (RTOS) yang
    mendukung banyak perangkat keras
    ilmu bangunan. Hal ini didasarkan pada
    kernel jejak kecil...
    Unduh Proyek Zephyr
  • 5
    SCon
    SCon
    SCons adalah alat konstruksi perangkat lunak
    itu adalah alternatif yang unggul untuk
    alat pembuatan "Buat" klasik yang
    kita semua tahu dan cinta. SCon adalah
    dilaksanakan...
    Unduh SCons.dll
  • 6
    PSeInt
    PSeInt
    PSeInt adalah penerjemah kode semu untuk
    siswa pemrograman berbahasa Spanyol.
    Tujuan utamanya adalah menjadi alat untuk
    belajar dan memahami dasar
    konsep...
    Unduh PSeInt.dll
  • Lebih banyak lagi »

Perintah Linux

Ad