Frage zur Verwendung von pdflatex unter RedHat in CentOS


8

Ich bin ein Anfänger in der Verwendung von Linux-Systemen.

Ich erhielt den Auftrag, ein Dokument mit LaTeX zu schreiben und die Datei in eine PDF-Datei zu konvertieren, um sie einzureichen. Also habe ich versucht, mein CentOS zu verwenden, um dies zu tun. Die Version meines Linux-Systems ist RedHat. Ich habe nach Möglichkeiten gesucht, eine .tex-Datei im Web in .pdf zu konvertieren, was mir sagte, dass ich texlive installieren soll. Also habe ich es getan.

[csi2102@localhost]$ yum install -y texlive
Loaded plugins: fastestmirror, refresh-packagekit
Loading mirror speeds from cached hostfile
  * base: data.nicehosting.co.kr
  * extras: data.nicehosting.co.kr
  * updates: data.nicehosting.co.kr
Setting up Install Process
Package texlive-2007-57.e.16_2.i686 already installed and latest version
Nothing to do

Also suchte ich nach Möglichkeiten, um dieses Problem zu lösen, und eine der Websites schlug vor, rpm -qa | grep texBefehle zu verwenden. Aber nirgends konnte ich die pdflatex-Datei finden.

[csi2102@localhost]$ rpm -qa | grep tex
texlive-texmf-errata-dvips-2007.7.1.e16.noarch
texlive-2007.57.e16_2.i686
texlive-texmf-errata-fonts-2007.7.1e16.noarch
texlive-texmf-2007-38.e16.noarch
texlive-texmf-fonts-2007-38.e16.noarch
texlive-texmf-errata-2007-7.1.e16.noarch
texlive-texmf-dvips-2007-38.e16.noarch
[csi2102@localhost]$ 

Das habe ich gesehen, als ich den Befehl eingegeben habe.

Wenn ich versuche, den Befehl pdflatex, latex oder pdftex zu verwenden, erhalte ich Folgendes.

[csi2102@localhost]$ latex homework
bash: latex: command not found
[csi2102@localhost]$ pdflatex homework
bash: pdflatex: command not found
[csi2102@localhost]$ pdftex homework
This is pdfTeXk, Version 3.141592-1.40.3 (Web2C 7.5.6)
 %&-line parsing enabled.
entering extended mode
(./homework1.tex
!Undefined control sequence.
1.7 \documentclass
                   [pdftex,11pt] {article}
?

Ich verstehe nicht, warum mein System nicht erkennen würde, anders als es andere Leute gesagt haben.

PS Oh, und für alle Fälle wollte ich meine .tex-Datei anhängen und mich fragen, ob das, was ich in meine Datei geschrieben habe, das Problem verursacht hat.

\documentclass[pdftex,11pt] {article}
\usepackage[utf8] {inputenc}

\usepackage{geometry}
\gemoetry{a4paper}

\usepackage[dvips]{graphicx}
\usepackage{pslatex}

\usepackage{fancyhdr}
\pagestyle{fancy}
\renewcommand{\headrulewidth}{0pt}
\lhead{}\chead{}\rhead{Introduction to Engineering Design}
\lfoot{}\cfoot{\thepage}\rfoot{}

\usepacakge{sectsty}
\allsectionsfont{\sffamily\mdseries\upshape}

\title{What is \LaTex ?}
\author{2013147549 Geun Ho Lee}
\date{}

\begin{document}
\maketitle

 LaTex is a document preparation system that is most often used for medium-to-large technical or scientific documents. It is not, however, a word processor. It is based on the idea that it would be more efficient for the authors to write their documents and let the document designers to worry about the document design. LaTex consists of several features ranging from typesetting journal articles, technical reports, books, and slide presentations to automatically generating bibliographies and indexes.

 LaTex is based on the TeX typesetting language or certain extensions of it. LaTex was first developed in 1985 by Leslie Lamport and is now maintained and developed by the LaTex3 Project.

 (source: http://latex-project.org/intro.html)

\end{document}

5
Sie könnten eine Benutzerinstallation von TeXLive in Betracht ziehen, da die von Ihrem Paketmanager bereitgestellte Version älter als sechs Jahre ist und viele Tutorials oder Codefragmente, die Sie möglicherweise im Web finden, mit einer alten Version nicht funktionieren. Wenn Sie nur ein Dokument schreiben müssen und es nicht häufig verwenden möchten, würde ich empfehlen, eine Webanwendung wie WriteLaTeX zu verwenden .
Marco

Möglicherweise möchten Sie eine der Antworten akzeptieren, wenn sie Ihre Frage beantwortet hat. Ich sehe, Sie haben versucht, dies zu tun, und dann eine Antwort gelöscht. Wenn Sie eines nicht als akzeptiert markieren, denken die Leute, dass Ihr Problem noch offen ist, und versuchen, weitere Hilfe zu leisten, da davon ausgegangen wird, dass dies nicht der Fall ist.
slm

Wenn Sie Ihren Code direkt eingefügt haben, beachten Sie, dass Sie einen Tippfehler haben: \ gemoetry {a4paper}.
schaiba

Antworten:


13

Du vermisst ein paar Sachen. Dies gilt für Fedora, aber das gleiche Muster sollte für CentOS gelten:

> yum whatprovides latex

Loaded plugins: auto-update-debuginfo, langpacks, presto, refresh-packagekit, verify
texlive-latex-2007-70.fc17.x86_64 : The LaTeX front end for the TeX text formatting system
Repo        : fedora
Matched from:
Filename    : /usr/bin/latex

Ich sehe texlive-latexnirgendwo in Ihrer Liste. Das gleiche Paket wird für erwähnt yum whatprovides pdflatex, also ...

> yum install texlive-latex

5

Hier sind einige Lösungen:

1. Überprüfen Sie Ihren Latex noch einmal

Der Latex zeigt Fehler in Ihrer ersten Zeile:

\documentclass[pdftex,11pt]{article}

Sind Sie sicher, dass dies pdftexdort eine gültige Option ist? Normalerweise haben diese Optionen mit Papiergröße und Layout zu tun. Versuchen Sie es zu entfernen.

2. Versuchen Sie 'pdflatex'

Ich kenne den Unterschied zwischen pdflatexund pdftexaber aus meiner Erfahrung pdflatexwird er viel, viel häufiger verwendet. Versuchen Sie herauszufinden yum whatprovides \*pdflatex, welches Paket diese Binärdatei bereitstellt (Hinweis: es ist texlive-latex), und installieren Sie diese. Versuchen Sie dann pdflatexstattdessen , Ihr Papier mit zu betreiben .

3. Versuchen Sie es mit einer anderen SE-Site

Wenn nach dem Ausführen pdflatex homework.teximmer noch Latexfehler auftreten , gehen Sie möglicherweise zu tex.stackexchange.com , um Hilfe zu Latex zu erhalten.


1

Es gibt einen großen Unterschied zwischen einem TeX-Dokument und einem LaTeX-Dokument, obwohl beide normalerweise .texErweiterungen erhalten. . Ihr Dokument beginnt mit \documentclass[pdftex,11pt] {article}einem LaTeX-Makro und ist daher ein LaTeX-Dokument. Es muss mit einer TeX-Engine verarbeitet werden, in die das LaTeX-Format geladen ist. Lädt pdftexnormalerweise das TeX-Format und pdflatexdas LaTeX-Format. Bei debbasierten Distributionen (und anderen) texlivelädt das Paket sowohl das TeX- als auch das LaTeX-Format (dh pdftexund pdflatex), aber rpmdie TeX- und LaTeX-Unterstützung für basierte Distributionen (wie CentOS) ist aufgeteilt. Sie müssen das texlive-latexPaket in CentOS laden , um das LaTeX-Format zu erhalten. Sobald es geladen ist, sollten Sie in der Lage sein, pdflatex homeworkohne Probleme zu tun .

Es ist erwähnenswert, dass die Version von TeXlive aus dem Jahr 2007 stammt. Daher kann es sich lohnen, Ihre eigene Version zu installieren und zu warten. Siehe zum Beispiel https://tex.stackexchange.com/a/95373/10038


1

Sie können entweder pdftexoder verwenden pdflatex, um eine PDF-Datei aus Ihrer TEX-Datei zu generieren. Sie haben pdftex bereits installiert. Die Ausgabe des yumBefehls hat Ihnen im Grunde gesagt, dass dies texlivebereits installiert war.

Paket texlive-2007-57.e.16_2.i686 bereits installiert und neueste Version

Ich würde dieses Paket auch installieren:

$ yum install texlive-latex

Sie müssen entweder der Root-Benutzer sein oder den Befehl verwenden sudo yum ..., um die obige Installation auszuführen.

Verwendung - pdftex

Wenn Ihre .texDatei korrekt formatiert ist, sollte dieser Befehl zu einer PDF-Datei führen.

$ pdflatex your.tex

Wo your.texsind die Inhalte, die Sie in Ihrer Frage angegeben haben? Wenn Sie versuchen, diesen Befehl ohne Argumente zu verwenden, müssen Sie kontinuierlich die Eingabetaste drücken, bis jeder Befehl die Verarbeitung abgeschlossen hat. So was:

$ pdftex your.tex 
This is pdfTeXk, Version 3.141592-1.40.3 (Web2C 7.5.6)
 %&-line parsing enabled.
entering extended mode
(./your.tex
! Undefined control sequence.
l.1 \documentclass
                  [pdftex,11pt] {article} \usepackage[utf8] {inputenc}
? 
! Undefined control sequence.
l.1 ...entclass[pdftex,11pt] {article} \usepackage
                                                  [utf8] {inputenc}
? 
...
...
...
! Undefined control sequence.
l.13 \begin{document} \maketitle

? 
[1{/usr/share/texmf/fonts/map/pdftex/updmap/pdftex.map}] )</usr/share/texmf/fon
ts/type1/bluesky/cm/cmr10.pfb>
Output written on your.pdf (1 page, 14865 bytes).
Transcript written on your.log.

Dies führt zu einer einwandfreien PDF-Datei your.pdf. Bei jeder ?Eingabeaufforderung müssen Sie die EnterTaste drücken.

Stichprobe

    ss von pdftex your.pdf

Verwendung - pdflatex

Sie können das Tool auch pdflatexzum Generieren der PDF-Datei verwenden.

$ pdflatex your.tex 
This is pdfTeXk, Version 3.141592-1.40.3 (Web2C 7.5.6)
 %&-line parsing enabled.
entering extended mode
(./your.tex
LaTeX2e <2005/12/01>
...
...
l.13 \begin{document} \maketitle

? 
(/usr/share/texmf/tex/latex/psnfss/ot1ptmcm.fd)
(/usr/share/texmf/tex/latex/psnfss/omlptmcm.fd)
(/usr/share/texmf/tex/latex/psnfss/omxpsycm.fd) [2] (./your.aux) ){/usr/share/t
exmf/fonts/enc/dvips/base/8r.enc}</usr/share/texmf/fonts/type1/bluesky/cm/cmr10
.pfb></usr/share/texmf/fonts/type1/urw/times/utmr8a.pfb>
Output written on your.pdf (2 pages, 22454 bytes).
Transcript written on your.log.

Auch dies führt zu einer perfekt gültigen PDF-Datei, sieht aber eher so aus, wie Sie es von Ihrer .texDatei erwarten.

Stichprobe

         ss von pdflatex your.pdf

Ihre .tex-Datei

Ich denke, Ihre Datei ist nicht ganz richtig formatiert. Wenn Sie eine andere Datei wie diese, http://www.maths.manchester.ac.uk/~kd/latextut/examex.tex , nehmen und durchlaufen pdflatex, funktioniert sie einwandfrei, ohne mich mit den ?Markierungen aufzufordern.


1
Ich denke, yum install texlive-latexsollte mehr als nur ein Vorschlag sein. Ich denke, es ist erforderlich, ein LaTeX-Dokument zu kompilieren.
StrongBad
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.