Context:
I am a Newbee on Emacs and AucTex. I just get started several days ago and installed some packages as some tutorials go along.
I installed some packages: company, swiper, auctec, auto-complete-auctex, and counsel. In particular, auctex has version 12.2.0.
My Problem:
I installed it yesterday, and I could do C-c C-a to preview it entirely. However, I cannot do preview-latex (C-c C-p C-p). It gives me error with lots of "under construction triangles":
TeX Output exited as expected with code 1 at Thu Apr 23 00:21:29
Running `Preview-PDF2DSC' with ``pdf2dsc _region_.pdf _region_.prv/tmpQ3JlTM/preview.dsc''
/bin/sh: pdf2dsc: command not found
Preview-PDF2DSC exited abnormally with code 127 at Thu Apr 23 00:21:29
PDF2DSC sentinel: Opening input file: No such file or directory, /myworkingdirectory/_region_.prv/tmpQ3JlTM/preview.dsc
It generates several files in my working directory:

The directory it referring has no file in it. And this is the corresponding elisp code, and yes, I checked latex is in that folder path.

Update 1:
I did not install ghostscript. After I installed, the problem is still exist.
Update 2:
I found this answer really helpful How to use Auctex in MacOS El Capitan? At least for Mac OS Catalina, one shall use
;; Auctex configurations
(setenv "PATH" "/usr/local/bin:/Library/TeX/texbin/:$PATH" t)
(setq exec-path (append exec-path '("/Library/TeX/texbin")))
to set the environment path.
Shout out to @frougon for his patience on me! His code also works
(setenv "PATH" (concat (getenv "PATH") ":/usr/local/bin:/Library/TeX/texbin"))
(setq exec-path (append exec-path '("/usr/local/bin" "/Library/TeX/texbin")))

pdf2dsccomes from theghostscriptpackage. – frougon Apr 23 '20 at 10:25ghostscript. I installed it from homebrew, yet still not working. Also, there is nothing inside/myworkingdirectory/_region_.prv/tmpQ3JlTM/folder. – Yuchen Zhang Apr 23 '20 at 10:54ghostscriptfrom homebrew, but it does not help. – Yuchen Zhang Apr 23 '20 at 10:59pdf2dscexecutable on your filesystem and do you still have thepdf2dsc: command not founderror message? If so, it might be aPATHissue or AUCTeX configuration, however I fear don't know MacOS enough to be of much help. – frougon Apr 23 '20 at 11:00ghostscript. I will try to restart my computer see if it works. – Yuchen Zhang Apr 23 '20 at 11:01ghostscript– Yuchen Zhang Apr 23 '20 at 11:17:separator, e.g.(setenv "PATH" (concat (getenv "PATH") "/usr/local/bin:/Library/TeX/texbin")). Test the result withM-: (getenv "PATH"). – frougon Apr 23 '20 at 11:20/Library/TeX/texbinto take precedence) – frougon Apr 23 '20 at 11:26M-:isMeta-:. If you don't know your Meta key (?!), try Alt, but you can also do Esc then:. I was just suggesting to add/usr/local/binto the PATH setting from your question (although I find it strange that/usr/local/binis not already in Emacs's PATH; maybe you should first print the PATH from within Emacs). In order not to have paths duplicated due to theconcat, this would require an Emacs restart, to keep things simple./bin/sh: pdflatex: command not found, but pdflatex is in /Library/TeX/texbin. And yeah, it is still generating errors.... – Yuchen Zhang Apr 23 '20 at 11:35M-: (getenv "PATH"). You can copy it from the*Messages*buffer after it has been echoed, or you can doC-jimmediately after(getenv "PATH")in the*scratch*buffer; then you'll have the output in the same buffer. – frougon Apr 23 '20 at 11:35Debugger entered--Lisp error: (void-variable /usr/local/bin:/Library/TeX/texbin)and blabla, one gives meeval-expression: Symbol’s value as variable is void: /Library/TeX/texbin:/usr/local/bin– Yuchen Zhang Apr 23 '20 at 11:39M-:/usr/local/bin:/Library/TeX/texbin? Of course this is invalid... Do what I said in the*scratch*buffer. You noticed the Buffer menu? :-) AlsoC-x C-bandC-x b...C-jis Control-j, maybe Control is the Command key for you? – frougon Apr 23 '20 at 11:40"/usr/bin:/bin:/usr/sbin:/sbin:/Applications/Emacs.app/Contents/MacOS/bin-x86_64-10_10:/Applications/Emacs.app/Contents/MacOS/libexec-x86_64-10_10/Library/TeX/texbin:/usr/local/bin"– Yuchen Zhang Apr 23 '20 at 11:43.../libexec-x86_64-10_10/Library/TeX/. You are apparently just missing the:separator before/Library/TeX/texbin. In your config, where you did the above changes. Maybe restart Emacs after adding the:. – frougon Apr 23 '20 at 11:44/usr/local/binagain? This gets me to where I began.(setenv "PATH" (concat (getenv "PATH") ":/Library/TeX/texbin/")) (setq exec-path (append exec-path '("/Library/TeX/texbin/")))– Yuchen Zhang Apr 23 '20 at 11:54exec-path. This seems helpful. According to your output, I would do:(setenv "PATH" (concat (getenv "PATH") ":/usr/local/bin:/Library/TeX/texbin"))and(setq exec-path (append exec-path '("/usr/local/bin" "/Library/TeX/texbin"))). – frougon Apr 23 '20 at 12:09/in(setq exec-path (append exec-path '("/usr/local/bin" "/Library/TeX/texbin/")))in your edit of the question, it's a bit ugly. :-) – frougon Apr 23 '20 at 12:15/usr/local/bintakes precedence over/Library/TeX/texbin. This is somewhat consistent with the fact that your PATH starts with/usr/bin:/bin:/usr/sbin:/sbin(system paths). Should you have the same executable in/usr/local/binand/Library/TeX/texbin, and wish that the latter takes precedence (because maybe it would provide a newer version of the program(s) than what you have in/usr/local/bin), you might want to swap the paths (in both of the relevant Emacs config lines). – frougon Apr 23 '20 at 13:03