> For the complete documentation index, see [llms.txt](https://overleaf-pro.ayaka.space/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://overleaf-pro.ayaka.space/latex/el/sfalmata-latex/25-missing-inserted.md).

# Έχει εισαχθεί το $ που λείπει

## Πώς να διορθώσετε αυτό το σφάλμα

Αυτό το σφάλμα μπορεί να προκληθεί με διάφορους τρόπους και, ειδικά για όσους είναι νέοι στο LaTeX, δεν είναι πάντα *αμέσως* προφανές γιατί συνέβη, ή, το σημαντικότερο, πώς να το επιλύσετε. Θα ξεκινήσουμε με μια επισκόπηση των *γενικών* συνθηκών που προκαλούν αυτό το σφάλμα και στη συνέχεια θα απαριθμήσουμε μερικές από τις πιο συνηθισμένες αιτίες και πώς να τις διορθώσετε. Τα [τελευταία μέρη αυτού του άρθρου](#background-to-the-missing-inserted-error) προσφέρουν πιο εμπεριστατωμένο υλικό για αναγνώστες που επιθυμούν να διευρύνουν την κατανόησή τους.

**Σημείωση**: Σε αυτό το άρθρο χρησιμοποιούμε τους όρους “TeX”, “LaTeX” και “TeX engine”, αλλά αν δεν είστε σίγουροι για τις διαφορετικές τους σημασίες, μπορείτε να μάθετε στο άρθρο του Overleaf [Τι κρύβει ένα Όνομα: Ένας οδηγός για τις πολλές παραλλαγές του TeX](/latex/el/se-vathos-arthra/55-what-s-in-a-name-a-guide-to-the-many-flavours-of-tex.md).

### Οι κύριες αιτίες του σφάλματος Missing $ inserted

Υπάρχουν τρεις κύριοι λόγοι για τους οποίους το (La)TeX δημιουργεί αυτό το σφάλμα:

1. Έχετε κάνει ένα σαφές λάθος στη σήμανση των μαθηματικών σας, όπως γράφοντας `$y=f(x)$$`—θα εξετάσουμε άλλα παραδείγματα αργότερα σε αυτό το άρθρο.
2. Το TeX έχει εντοπίσει έναν χαρακτήρα ή μια εντολή σχεδιασμένη να χρησιμοποιείται **μόνο** όταν το TeX στοιχειοθετεί μαθηματικά, αλλά αυτός ο χαρακτήρας ή αυτή η εντολή χρησιμοποιήθηκε όταν το TeX ήταν **όχι** σε κατάσταση στοιχειοθεσίας μαθηματικών.
   * **Τεχνικά μιλώντας**: Το TeX εντόπισε έναν χαρακτήρα ή μια εντολή σχεδιασμένη να λειτουργεί *μέσα σε* [*λειτουργία μαθηματικών*](#math-mode) αλλά προσπαθήσατε να τη χρησιμοποιήσετε *εκτός* [*λειτουργία μαθηματικών*](#math-mode). Για να διευκρινίσουμε το ζήτημα με τους «χαρακτήρες» που έχουν σχεδιαστεί να λειτουργούν σε [λειτουργία μαθηματικών](#math-mode), εννοούμε στην πραγματικότητα τη χρήση χαρακτήρων στους οποίους έχουν αποδοθεί ορισμένοι [κωδικοί κατηγορίας](/latex/el/perissotera-themata/43-table-of-tex-category-codes.md) σχεδιασμένοι να λειτουργούν μέσα σε μαθηματικό υλικό.
3. Το TeX έχει εντοπίσει μια εντολή σχεδιασμένη να χρησιμοποιείται μόνο όταν το TeX είναι **όχι** σε κατάσταση στοιχειοθεσίας μαθηματικών, αλλά αυτή η εντολή εντοπίστηκε (χρησιμοποιήθηκε) ενώ το TeX **ήταν** στοιχειοθετούσε μαθηματικό υλικό.
   * **Τεχνικά μιλώντας**: Το TeX εντόπισε μια εντολή σχεδιασμένη να λειτουργεί *εκτός* [*λειτουργία μαθηματικών*](#math-mode) αλλά προσπαθήσατε να τη χρησιμοποιήσετε *μέσα σε* [*λειτουργία μαθηματικών*](#math-mode).

### Παραδείγματα σφαλμάτων και οι λύσεις τους

Τα ακόλουθα παραδείγματα δείχνουν μερικούς τρόπους με τους οποίους το `Λείπει το $ που εισήχθη` σφάλμα μπορεί να προκληθεί, μαζί με λύσεις για τη διόρθωσή του.

#### Οι εντολές συμβόλων πρέπει να χρησιμοποιούνται στη λειτουργία μαθηματικών

Πολλά μαθηματικά σύμβολα στο LaTeX προσπελαύνονται με εντολές που πρέπει να χρησιμοποιούνται μόνο όταν το TeX στοιχειοθετεί μαθηματικά· δηλαδή, τη στιγμή που το TeX βρίσκεται σε λειτουργία μαθηματικών.

Παραδείγματα συνηθισμένων εντολών συμβόλων περιλαμβάνουν εκείνες για τα ελληνικά γράμματα: `\alpha` $$(\alpha)$$, `\beta` $$(\beta)$$, `\gamma` ($$\gamma)$$, `\delta` $$(\delta)$$, `\Delta` $$(\Delta)$$ και ούτω καθεξής. Πολλές άλλες εντολές LaTeX, όπως αυτές για τροποποιητές: `\vec{x}` $$(\vec{x})$$, `\tilde{x}` $$(\tilde{x})$$, `\hat{x}` $$(\hat{x})$$ κ.λπ., είναι επίσης σχεδιασμένες για χρήση σε λειτουργία μαθηματικών.

Η χρήση τροποποιητών, εντολών συμβόλων —και πολλών άλλων εντολών σχετικών με τα μαθηματικά— εκτός της στοιχειοθεσίας μαθηματικού περιεχομένου θα δημιουργήσει ένα `Λείπει το $ που εισήχθη` σφάλμα και θα αναγκάσει τον μεταγλωττιστή να εισέλθει σε λειτουργία μαθηματικών.

Το ακόλουθο παράδειγμα δείχνει τι συμβαίνει αν προσπαθήσετε να χρησιμοποιήσετε την εντολή `\alpha` $$(\alpha)$$ εκτός της λειτουργίας μαθηματικών:

```latex
Η γραφή \verb|\alpha| εκτός λειτουργίας μαθηματικών θα δημιουργήσει σφάλμα: \alpha και έτσι αυτό το κείμενο δεν θα στοιχειοθετηθεί σωστά...
```

[Ανοίξτε αυτό το ***που προκαλεί το σφάλμα*** παράδειγμα στο Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Incorrect+use+of+LaTeX+symbols\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cbegin%7Bdocument%7D%0AWriting+%5Cverb%7C%5Calpha%7C+outside+math+mode+will+generate+an+error%3A+%5Calpha+and+so+this+text+will+not+be+typeset+correctly...%0A%5Cend%7Bdocument%7D)

Η ακόλουθη εικόνα δείχνει μέρος της εξόδου που παράγεται από τον παραπάνω κώδικα LaTeX, αποδεικνύοντας το σφάλμα που προκαλείται από τη χρήση `\alpha` εκτός λειτουργίας μαθηματικών:

![\alpha εκτός λειτουργίας μαθηματικών](/files/0ec26ccda5de1cc89552c4af1bda1b4eb9c1b871)

**Διόρθωση σφαλμάτων που προκαλούνται από εντολές συμβόλων του LaTeX**

Για να χρησιμοποιήσετε τροποποιητές ή ελληνικά μαθηματικά σύμβολα μέσα σε προτάσεις, πρέπει πάντα να περικλείονται σε μονά σύμβολα δολαρίου `$...$`, ή στη σύνταξη του LaTeX `\(...\)` , ώστε το TeX να τα επεξεργαστεί σε *λειτουργία ενσωματωμένων μαθηματικών*, όπως φαίνεται παρακάτω.

```latex
Όταν γράφετε το ελληνικό γράμμα alpha σε μια πρόταση, πρέπει να γράφεται ως \verb|$\alpha$| για να παραχθεί $\alpha$, ή ως \verb|\(\alpha\)| που επίσης παράγει \(\alpha\).

Όταν γράφετε ένα διάνυσμα x σε μια πρόταση, πρέπει να γράφεται ως \verb|$\vec{x}$| για να παραχθεί $\vec{x}$ ή ως \verb|\(\vec{x}\)| που επίσης δίνει \(\vec{x}\).
```

[Ανοίξτε αυτό το παράδειγμα στο Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Using+LaTeX+symbols\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cbegin%7Bdocument%7D%0AWhen+writing+the+Greek+letter+alpha+in+a+sentence%2C+it+must+be+written+as+%5Cverb%7C%24%5Calpha%24%7C+to+generate+%24%5Calpha%24%2C++or+as+%5Cverb%7C%5C%28%5Calpha%5C%29%7C+which+also+generates+%5C%28%5Calpha%5C%29.%0A+%0AWhen+writing+a+vector+x+in+a+sentence%2C+it+must+be+written+as+%5Cverb%7C%24%5Cvec%7Bx%7D%24%7C+to+produce+%24%5Cvec%7Bx%7D%24+or+as+%5Cverb%7C%5C%28%5Cvec%7Bx%7D%5C%29%7C+which+also+yields+%5C%28%5Cvec%7Bx%7D%5C%29.%0A%5Cend%7Bdocument%7D)

**Μια λίστα συμβόλων LaTeX**

Το άρθρο του Overleaf [Κατάλογος ελληνικών γραμμάτων και μαθηματικών συμβόλων](/latex/el/mathimatika/11-list-of-greek-letters-and-math-symbols.md) παρέχει μια λίστα συμβόλων που είναι αποκλειστικά για τη λειτουργία μαθηματικών, μαζί με συνδέσμους προς περαιτέρω χρήσιμους πόρους.

#### Χρήση χαρακτήρων μόνο για τη λειτουργία μαθηματικών εκτός λειτουργίας μαθηματικών

Παραδοσιακά, το TeX/LaTeX κρατά ορισμένους συνηθισμένους χαρακτήρες για χρήση μέσα στη λειτουργία μαθηματικών:

* `^`: δεσμευμένο για τη δημιουργία εκθετών
* `_`: δεσμευμένο για τη δημιουργία δεικτών
* `$`: δεσμευμένο για την έναρξη/λήξη της λειτουργίας μαθηματικών

Η άμεση χρήση τους εκτός λειτουργίας μαθηματικών προκαλεί σφάλματα.

* Για να πληκτρολογήσετε `$` εκτός λειτουργίας μαθηματικών χρησιμοποιήστε `\$`
* Για να πληκτρολογήσετε `_` εκτός λειτουργίας μαθηματικών χρησιμοποιήστε `\_`
* Πολλοί τρόποι για να πληκτρολογήσετε `^` εκτός λειτουργίας μαθηματικών. Μια λίστα παρέχεται στο [tex.stackexchange](https://tex.stackexchange.com/a/77647)

**Χρήση υπογραμμίσεων εκτός λειτουργίας μαθηματικών**

Μια συνηθισμένη αιτία του `Λείπει το $ που εισήχθη` σφάλματος είναι η χρήση υπογραμμίσεων (`_`), ενός χαρακτήρα της λειτουργίας μαθηματικών, εκτός λειτουργίας μαθηματικών — όπως υπογραμμίσεις που υπάρχουν σε ονόματα αρχείων: ένα παράδειγμα φαίνεται παρακάτω.

```latex
Χρήση ενός μαθηματικού χαρακτήρα, όπως μιας υπογράμμισης, σε όνομα αρχείου: math_example.tex.
```

[Ανοίξτε αυτό το ***που προκαλεί σφάλμα*** κώδικας στο Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Math+code+error\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cbegin%7Bdocument%7D%0AUsing+a+math+character%2C+such+as+an+underscore%2C+in+a+file+name%3A+math_example.tex.%0A%5Cend%7Bdocument%7D)

Επειδή ο χαρακτήρας υπογράμμισης έχει αντιστοιχιστεί [στον κωδικό κατηγορίας 8](/latex/el/perissotera-themata/43-table-of-tex-category-codes.md) είναι δεσμευμένος για τη δημιουργία δεικτών όταν η μηχανή TeX βρίσκεται σε λειτουργία μαθηματικών. Κατά συνέπεια, όταν το (La)TeX εντοπίζει τον `_` στο όνομα αρχείου `math_example.tex` το κάνει εκτός λειτουργίας μαθηματικών, γεγονός που ενεργοποιεί σφάλμα και οδηγεί σε λανθασμένη στοιχειοθεσία του επόμενου κειμένου:

$$\text{Using a math character, such as an underscore, in a file name: math}\_example.tex.$$

Η `_` χαρακτήρας (τεχνικά ο κωδικός κατηγορίας του 8) προκαλεί σφάλμα και αναγκάζει το TeX να εισέλθει σε λειτουργία μαθηματικών: το γράμμα `e` που ακολουθεί αμέσως μετά το `_` αντιμετωπίζεται ως χαρακτήρας που θα στοιχειοθετηθεί ως δείκτης. Η επεξεργασία στη συνέχεια συνεχίζεται σε λειτουργία μαθηματικών, με αποτέλεσμα το πλάγιο κείμενο και, επιπλέον, δεν υπάρχει εδώ τρόπος για το TeX να εξέλθει ομαλά από τη λειτουργία μαθηματικών, κάτι που θα προκαλέσει περαιτέρω σφάλματα.

Για να αποφύγετε αυτό το συγκεκριμένο σφάλμα, πρέπει πάντα να χρησιμοποιείτε `_` σε λειτουργία μαθηματικών — δηλαδή, μέσα σε `$..$`, `$$...$$` ή, κατά προτίμηση, μέσα στη σημειογραφία του LaTeX για `\(...\)` και `\[...\]`.

Εκτός λειτουργίας μαθηματικών πρέπει να γράψετε `\_` για να χρησιμοποιήσετε ή να στοιχειοθετήσετε μια υπογράμμιση, όπως φαίνεται στη διορθωμένη έκδοση του παραδείγματος:

```latex
Για να χρησιμοποιήσετε τον χαρακτήρα υπογράμμισης της λειτουργίας μαθηματικών σε ένα όνομα αρχείου, γράψτε τον ως εξής: math\_example.tex.
```

[Ανοίξτε αυτό το ***διορθωμένη έκδοση*** στο Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Fixed+math+code+error\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cbegin%7Bdocument%7D%0ATo+use+the+math-mode+underscore+character+in+a+file+name%2C+write+it+like+this%3A+math%5C_example.tex.%0A%5Cend%7Bdocument%7D)

**Χρήση υπογραμμίσεων σε URL**

Μπορεί επίσης να συναντήσετε αυτό το σφάλμα όταν προσπαθείτε να στοιχειοθετήσετε URL με υπογραμμίσεις, π.χ. `[https://www.overleaf.com/learn/latex/Subscripts_and_superscripts](../02-mathematics/02-subscripts-and-superscripts.md)`. Αντί να διαφεύγετε κάθε χαρακτήρα υπογράμμισης, ίσως θέλετε να φορτώσετε το `url` ή `hyperref` πακέτο και στη συνέχεια να χρησιμοποιήσετε την `\url` εντολή όπως αυτή:

```latex
\documentclass{article}
\usepackage{url}
\begin{document}
\url{https://www.overleaf.com/learn/latex/Subscripts_and_superscripts}
\end{document}
```

[Ανοίξτε αυτό το παράδειγμα στο Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=URL+example\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Burl%7D+%0A%5Cbegin%7Bdocument%7D%0A%5Curl%7Bhttps%3A%2F%2Fwww.overleaf.com%2Flearn%2Flatex%2FSubscripts_and_superscripts%7D%0A%5Cend%7Bdocument%7D)

**Υπογραμμίσεις σε URL αρχείων .bib**

Αν τέτοια URL βρίσκονται στη βιβλιογραφία σας `.bib` αρχείο, προκαλώντας σφάλματα να αναφέρονται από το `.bbl` αρχείο, τότε βεβαιωθείτε ότι χρησιμοποιείτε τα `url` ή `doi` πεδία για να καταγράψετε αυτά τα στοιχεία στο `.bib` αρχείο:

```
doi = {10.1007/978-94-015-6859-3_4},
url = {https://abc.com/latest_news_1.html}
```

και φορτώστε το `url` ή `hyperref` πακέτο στο προοίμιό σας, αν χρειάζεται. Τα περισσότερα αρχεία στυλ βιβλιογραφίας θα μπορούν τότε να περικλείσουν αυτόματα αυτές τις τιμές σε ένα `\url{...}` εντολή.

#### Χρήση εντολών που δεν επιτρέπονται σε λειτουργία μαθηματικών

Ορισμένες ενσωματωμένες εντολές χαμηλού επιπέδου του TeX (που ονομάζονται *πρωταρχικές εντολές*) δεν επιτρέπονται σε λειτουργία μαθηματικών και η χρήση τους σε λειτουργία μαθηματικών θα προκαλέσει το `Λείπει το $ που εισήχθη` σφάλμα. Παρότι οι περισσότεροι χρήστες είναι απίθανο να χρησιμοποιήσουν αυτές τις εντολές στον καθημερινό κώδικα LaTeX, το σημειώνουμε εδώ επειδή είναι πιθανό να περιέχονται μέσα σε εντολές (μακροεντολές) LaTeX που χρησιμοποιούνται σε λειτουργία μαθηματικών.

Το ακόλουθο παράδειγμα προσπαθεί να χρησιμοποιήσει την εντολή TeX `\vskip` μέσα σε μαθηματικό υλικό. Αυτό δεν επιτρέπεται και δημιουργεί σφάλμα.

```latex
\documentclass{article}
\begin{document}
Θέλω να προσθέσω λίγο κενό, αλλά αυτός δεν είναι ο τρόπος να το κάνω...
\[y=f(x) \vskip5pt z=f(y)\]
$y=f(x) \vskip5pt z=f(y)$
\end{document}
```

[Ανοίξτε αυτό το ***που προκαλεί σφάλμα*** κώδικας στο Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Math+error+demo+1\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cbegin%7Bdocument%7D%0AI+want+to+add+some+space%2C+but+this+is+not+the+way+to+do+it...%0A%5C%5By%3Df%28x%29+%5Cvskip5pt+z%3Df%28y%29%5C%5D%0A%24y%3Df%28x%29+%5Cvskip5pt+z%3Df%28y%29%24%0A%5Cend%7Bdocument%7D)

Άλλες (πρωτόγονες) εντολές TeX που δεν επιτρέπονται όταν το TeX βρίσκεται σε λειτουργία μαθηματικών περιλαμβάνουν `\par`, `\hrule`, `\unvbox`, `\unvcopy` και `\valign`.

#### Κενές γραμμές στα μαθηματικά

```latex
\documentclass{article}
\begin{document}
\begin{equation}
y=x^3,

z=x^3
\end{equation}
\end{document}
```

[Ανοίξτε αυτό το ***που προκαλεί σφάλμα*** κώδικας στο Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Math+error+demo+1\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cbegin%7Bequation%7D%0Ay%3Dx%5E3%2C%0A%0Az%3Dx%5E3%0A%5Cend%7Bequation%7D%0A%5Cend%7Bdocument%7D)

**Αιτία**: Η κενή γραμμή μεταξύ των τύπων μετατρέπεται σε ένα `\par` εντολή που δεν επιτρέπεται σε λειτουργία μαθηματικών. Μπορείτε επίσης να το δείτε γράφοντας

```latex
\documentclass{article}
\begin{document}
\[y=x^3,\par z=x^3\]
\end{document}
```

[Ανοίξτε αυτό το ***που προκαλεί σφάλμα*** κώδικας στο Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Math+error+demo+2\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cbegin%7Bdocument%7D%0A%5C%5By%3Dx%5E3%2C%5Cpar+z%3Dx%5E3%5C%5D%0A%5Cend%7Bdocument%7D)

Για να το διορθώσετε, είτε διαγράψτε τις κενές γραμμές είτε σχολιάστε τες:

```latex
\documentclass{article}
\begin{document}
\begin{equation}
y=x^3,
% Αυτό θα καταργήσει την κενή γραμμή
z=x^3
\end{equation}
\end{document}
```

[Ανοίξτε αυτό το ***διορθωμένη έκδοση*** στο Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Math+error+demo+1\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cbegin%7Bequation%7D%0Ay%3Dx%5E3%2C%0A%25+This+will+suppress+the+blank+line%0Az%3Dx%5E3%0A%5Cend%7Bequation%7D%0A%5Cend%7Bdocument%7D)

#### Χρήση του $ μέσα σε μαθηματικά περιβάλλοντα

Ορισμένα περιβάλλοντα LaTeX, όπως τα `align` και `equation` περιβάλλοντα, δεν απαιτούν τα μαθηματικά να περικλείονται σε `$` σύμβολα, ούτε τη χρήση της μαθηματικής σύνταξης του LaTeX: `\(...\)` ή `\[...\]`. Ο κώδικας LaTeX που υλοποιεί αυτά τα περιβάλλοντα φροντίζει για την είσοδο και την έξοδο από τη λειτουργία μαθηματικών.

Το ακόλουθο παράδειγμα δείχνει τη χρήση του `$` συμβόλου `amsmath` `align` μέσα σε ένα `Λείπει το $ που εισήχθη` περιβάλλον, κάτι που προκαλεί ένα σφάλμα, μεταξύ πολλών άλλων....

```latex
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\begin{align*}
$2x - 5y &=  8 \\
3x + 9y &=  -12$
\end{align*}
\end{document}
```

[Ανοίξτε αυτό το ***που προκαλεί σφάλμα*** κώδικας στο Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Math+error+demo+4\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Bamsmath%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cbegin%7Balign%2A%7D%0A%242x+-+5y+%26%3D++8+%5C%5C+%0A3x+%2B+9y+%26%3D++-12%24%0A%5Cend%7Balign%2A%7D%0A%5Cend%7Bdocument%7D)

Ο σωστός τρόπος να γράψετε αυτές τις εξισώσεις είναι:

```latex
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\begin{align*}
2x - 5y &=  8 \\
3x + 9y &=  -12
\end{align*}
\end{document}
```

[Ανοίξτε αυτό το ***διορθωμένη έκδοση*** στο Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Math+error+demo+5\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cusepackage%7Bamsmath%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cbegin%7Balign%2A%7D%0A2x+-+5y+%26%3D++8+%5C%5C+%0A3x+%2B+9y+%26%3D++-12%0A%5Cend%7Balign%2A%7D%0A%5Cend%7Bdocument%7D)

## Υπόβαθρο του σφάλματος Missing $ inserted

Η ακόλουθη ενότητα απευθύνεται σε αναγνώστες που επιθυμούν να κατανοήσουν καλύτερα τους λόγους πίσω από το σφάλμα `Λείπει το $ που εισήχθη`. Δεν είναι *απαραίτητο* ανάγνωσμα, αλλά μπορεί να σας βοηθήσει να εντοπίσετε και να διορθώσετε σφάλματα.

### Δεν λείπουν σύμβολα $ αλλά εξακολουθώ να παίρνω το σφάλμα

Σε ορισμένες περιπτώσεις το `Λείπει το $ που εισήχθη` σφάλμα μπορεί να είναι πολύ μπερδεμένο επειδή ο κώδικας LaTeX σας μπορεί στην πραγματικότητα να μην έχει κανένα πρόβλημα με *ορατά ελλείποντες* `$` χαρακτήρες. Για παράδειγμα, το απόσπασμα LaTeX $$\verb|$$y=f(x)\par$$|$$ επιφανειακά φαίνεται σωστό: το $$\verb|$$|$$ ζεύγος είναι ισορροπημένο, αλλά θα ενεργοποιήσει το «`λείπει $`» σφάλμα. Εδώ, οφείλεται στην `\par` εντολή που δεν επιτρέπεται σε λειτουργία μαθηματικών:

```latex
\documentclass{article}
\begin{document}
Αυτό το παράδειγμα δημιουργεί το σφάλμα \verb|Missing $ inserted|:
$$y=f(x)\par$$
\end{document}
```

[Ανοίξτε το αυτό για να δείτε ένα σφάλμα Missing $ inserted](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Math+error+example\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cbegin%7Bdocument%7D%0AThis+example+generates+the+error+%5Cverb%7CMissing+%24+inserted%7C%3A+%0A%24%24y%3Df%28x%29%5Cpar%24%24%0A%5Cend%7Bdocument%7D)

Ο παραπάνω κώδικας LaTeX στην πραγματικότητα προκαλεί μια *αλυσιδωτή* σειρά σφαλμάτων, όπως φαίνεται παρακάτω, οπότε προφανώς δεν πρέπει να χρησιμοποιείτε `\par` μέσα σε μαθηματικά!

```
! Έλειπε το $, προστέθηκε.
<εισαχθέν κείμενο>
                $
l.12 $$y=f(x)\par
                 $$
Έχω εισαγάγει ένα σύμβολο έναρξης/λήξης μαθηματικών, επειδή νομίζω ότι
παραλείψατε ένα. Συνεχίστε, με σταυρωμένα δάχτυλα.

! Τα εμφανιζόμενα μαθηματικά πρέπει να τελειώνουν με $$.
<θα διαβαστεί ξανά>
                   \par
l.12 $$y=f(x)\par
                 $$
Το `$' που μόλις είδα υποτίθεται ότι αντιστοιχεί σε ένα προηγούμενο `$$'.
Άρα θα υποθέσω ότι πληκτρολογήσατε `$$' και τις δύο φορές.

! Έλειπε το $, προστέθηκε.
<εισαχθέν κείμενο>
                $
l.13 \end{document}

Έχω εισαγάγει ένα σύμβολο έναρξης/λήξης μαθηματικών, επειδή νομίζω ότι
παραλείψατε ένα. Συνεχίστε, με σταυρωμένα δάχτυλα.

! Τα εμφανιζόμενα μαθηματικά πρέπει να τελειώνουν με $$.
<θα διαβαστεί ξανά>
                   \par
l.13 \end{document}

Το `$' που μόλις είδα υποτίθεται ότι αντιστοιχεί σε ένα προηγούμενο `$$'.
Άρα θα υποθέσω ότι πληκτρολογήσατε `$$' και τις δύο φορές.
```

Όταν φορτώνεται το `Λείπει το $ που εισήχθη` όταν συμβεί το σφάλμα, το λογισμικό της μηχανής TeX προσπαθεί να ανακάμψει και να «επιστρέψει στην πορεία» ώστε να μπορεί να συνεχίσει την επεξεργασία μετά το σημείο όπου συνέβη το σφάλμα. Η ενότητα [Για προχωρημένους: Μια εξήγηση του μηχανισμού ανάκτησης σφαλμάτων του TeX](#advanced-an-explanation-of-texs-error-recovery-mechanism) θα σας βοηθήσει να καταλάβετε γιατί αυτή η αλυσιδωτή σειρά σφαλμάτων προκύπτει λόγω των προσπαθειών του TeX να διορθώσει το αρχικό σφάλμα.

### Για τις λειτουργίες, και πότε

Εσωτερικά, οι μηχανές TeX λειτουργούν χρησιμοποιώντας τρεις «καταστάσεις», που ονομάζονται *λειτουργίες*, οι οποίες εξαρτώνται από τον τύπο του υλικού που μια μηχανή TeX *τρέχοντα* στοιχειοθετεί. Η λειτουργία στην οποία βρίσκεται μια μηχανή TeX σε οποιαδήποτε στιγμή κατά τη στοιχειοθεσία ονομάζεται *τρέχον* λειτουργία της, η οποία αλλάζει καθ’ όλη τη διάρκεια της στοιχειοθεσίας του περιεχομένου του εγγράφου σας LaTeX.

Για καθεμία από τις λειτουργίες της μηχανής TeX υπάρχουν ορισμένες εντολές και χαρακτήρες (ή, πιο σωστά, κωδικοί κατηγορίας) που είναι «ασύμβατοι» με την τρέχουσα λειτουργία του TeX: δεν πρέπει να χρησιμοποιούνται ενώ το TeX βρίσκεται σε εκείνη τη συγκεκριμένη λειτουργία. Αν προσπαθήσετε να χρησιμοποιήσετε αυτούς τους ακατάλληλους χαρακτήρες ή εντολές, το TeX θα εμφανίσει ένα σφάλμα όπως `Λείπει το $ που εισήχθη` για να σας πει ότι κάτι δεν πάει καλά.

#### Λειτουργία μαθηματικών

Αυτό το σφάλμα `Λείπει το $ που εισήχθη` σχετίζεται με τη *λειτουργία μαθηματικών*—δηλαδή, τη λειτουργία στην οποία βρίσκεται μια μηχανή TeX όταν ζητάτε από το LaTeX να στοιχειοθετήσει μαθηματικά.

Για την πληρότητα, θα σημειώσουμε ότι υπάρχουν *δύο* δύο τύποι λειτουργίας μαθηματικών, που αντικατοπτρίζουν τη δημιουργία ενσωματωμένων ή εμφανιζόμενων μαθηματικών:

* λειτουργία ενσωματωμένων μαθηματικών
* λειτουργία εμφανιζόμενων μαθηματικών

Το TeX χρειάζεται αυτούς τους δύο διαφορετικούς τρόπους μαθηματικών επειδή εφαρμόζει διαφορετικούς κανόνες για αποστάσεις, μεγέθη συμβόλων κ.λπ. όταν στοιχειοθετεί μαθηματικά που προορίζονται για ενσωματωμένη ή εμφανιζόμενη παρουσίαση.

#### Ενεργοποίηση των λειτουργιών μαθηματικών του TeX

Υπάρχουν πολλοί τρόποι να ενεργοποιήσετε μια μηχανή TeX ώστε να *εισέλθει* και στη συνέχεια *εξέλθει από* τη λειτουργία μαθηματικών.

* Μπορείτε να χρησιμοποιήσετε ρητή σήμανση όπως:
  * Σύνταξη LaTeX: `\(...\)` σε *εισέλθει* `\(` και στη συνέχεια *εξέλθει από* `\)` λειτουργία ενσωματωμένων μαθηματικών ή `\[...\]` σε *εισέλθει* `\[` και στη συνέχεια να εξέλθει από `\]` λειτουργία εμφανιζόμενων μαθηματικών·
  * (ιστορική) σύνταξη TeX: `$...$` για να εισέλθει (πρώτα `$`) και στη συνέχεια να εξέλθει (δεύτερη `$`) λειτουργία ενσωματωμένων μαθηματικών ή `$$...$$` για να εισέλθει (πρώτα `$$` *ζεύγος*) και στη συνέχεια να εξέλθει (δεύτερη `$$` *ζεύγος*) λειτουργία εμφανιζόμενων μαθηματικών·
* ή οποιοδήποτε από τα μαθηματικά περιβάλλοντα του LaTeX:
  * `\begin{align}...\end{align}` κ.λπ. Στο παρασκήνιο αυτά τα περιβάλλοντα φροντίζουν για την είσοδο και την έξοδο από τη λειτουργία μαθηματικών.

Το πραγματικό *κείμενο* του μηνύματος `Λείπει το $ που εισήχθη` είναι *ενσωματωμένες στο* («σκληροκωδικοποιημένο» στο) λογισμικό της μηχανής TeX, γι’ αυτό θα εξακολουθείτε να βλέπετε `Missing $` ακόμη κι αν δεν χρησιμοποιείτε `$` χαρακτήρες για να στοιχειοθετήσετε μαθηματικά και χρησιμοποιείτε καθαρά σύνταξη LaTeX για τη σήμανση των μαθηματικών στο έγγραφό σας. Αυτό μπορεί να μπερδέψει τους νέους χρήστες του LaTeX, αλλά λίγα μπορούν να γίνουν για να αλλάξει αυτό το κείμενο του μηνύματος σφάλματος χωρίς να τροποποιηθεί ο πηγαίος κώδικας των μηχανών TeX!

#### Μακροεντολές: έλεγχος για λειτουργία μαθηματικών

Είναι δυνατό να ελέγξετε αν το TeX βρίσκεται αυτή τη στιγμή σε λειτουργία μαθηματικών χρησιμοποιώντας την πρωτόγονη εντολή `\ifmmode`; έτσι μπορείτε να γράψετε μακροεντολές των οποίων η συμπεριφορά μπορεί να προσαρμόζεται ώστε να αποφεύγονται σφάλματα σχετιζόμενα με τη λειτουργία. Ακολουθεί ένα πολύ βασικό παράδειγμα για να δείξει την αρχή, το οποίο εμφανίζει `Ναι.` ή `Όχι.` ανάλογα με το αν το TeX βρίσκεται σε λειτουργία μαθηματικών τη στιγμή της «εκτέλεσης» της μακροεντολής.

```latex
\documentclass{article}
\begin{document}
\newcommand{\mytest}{\ifmmode \mathrm{Yes}\else No\fi.}

Χρησιμοποιείται η μακροεντολή σε λειτουργία μαθηματικών; $\mytest$

Χρησιμοποιείται η μακροεντολή σε λειτουργία μαθηματικών; $$\mytest$$

Χρησιμοποιείται η μακροεντολή σε λειτουργία μαθηματικών; \(\mytest\)

Χρησιμοποιείται η μακροεντολή σε λειτουργία μαθηματικών; \[\mytest\]

Χρησιμοποιείται η μακροεντολή σε λειτουργία μαθηματικών; \mytest
\end{document}
```

[Ανοίξτε αυτό το παράδειγμα στο Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Testing+for+math+mode\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cbegin%7Bdocument%7D%0A%5Cnewcommand%7B%5Cmytest%7D%7B%5Cifmmode+%5Cmathrm%7BYes%7D%5Celse+No%5Cfi.%7D%0A%0AIs+the+macro+being+used+in+math+mode%3F+%24%5Cmytest%24%0A%0AIs+the+macro+being+used+in+math+mode%3F+%24%24%5Cmytest%24%24%0A%0AIs+the+macro+being+used+in+math+mode%3F+%5C%28%5Cmytest%5C%29+%0A%0AIs+the+macro+being+used+in+math+mode%3F+%5C%5B%5Cmytest%5C%5D%0A%0AIs+the+macro+being+used+in+math+mode%3F+%5Cmytest%0A%5Cend%7Bdocument%7D)

Το ακόλουθο γραφικό δείχνει την έξοδο που παράγεται από το παραπάνω παράδειγμα:

![Μακροεντολή LaTeX για έλεγχο της λειτουργίας μαθηματικών](/files/b86a74cd9c7b4e33900589f76f2f1a673a8abf69)

## Για προχωρημένους: Μια εξήγηση του μηχανισμού ανάκτησης σφαλμάτων του TeX

Το μήνυμα σφάλματος `Λείπει το $ που εισήχθη` δεν παράγεται από το Overleaf, το LaTeX ή τα πακέτα LaTeX· στην πραγματικότητα προέρχεται από *μέσα στο εκτελέσιμο πρόγραμμα* υπεύθυνο για τη στοιχειοθεσία του εγγράφου σας LaTeX: αυτό το εκτελέσιμο πρόγραμμα ονομάζεται TeX *engine*—μπορείτε να το θεωρήσετε ως το «οδηγό» της διαδικασίας στοιχειοθεσίας.

Στον πηγαίο κώδικα του λογισμικού TeX, ο δημιουργός του (Donald Knuth) κάνει αυτή την παρατήρηση σχετικά με τον κώδικα που είναι υπεύθυνος για τη δημιουργία του `Λείπει το $ που εισήχθη` σφάλματος:

> Ακολουθεί μια λίστα περιπτώσεων όπου ο χρήστης πιθανότατα μπήκε ή βγήκε από τη λειτουργία μαθηματικών κατά λάθος. Το TeX θα εισαγάγει ένα σύμβολο δολαρίου και θα επανασαρώσει το τρέχον στοιχείο.

Στον πυρήνα του `Λείπει το $ που εισήχθη` σφάλματος βρίσκεται το γεγονός ότι το TeX εντοπίζει «κάτι» που δεν θα έπρεπε να έχει χρησιμοποιηθεί μέσα σε λειτουργία μαθηματικών, ή «κάτι» ειδικά σχεδιασμένο για μαθηματική στοιχειοθεσία που χρησιμοποιείται εκτός λειτουργίας μαθηματικών.

Το έργο που αντιμετωπίζει το TeX είναι: Πώς ανακάμπτω από αυτό; Το TeX κάνει ακριβώς ό,τι γράφει ο Knuth: εισάγει ένα σύμβολο δολαρίου και επανασαρώνει το τρέχον στοιχείο—a [«token»](/latex/el/se-vathos-arthra/53-what-is-a-tex-token.md) είναι η εσωτερική αριθμητική (ακέραια) τιμή του TeX που αντιπροσωπεύει τον χαρακτήρα ή την εντολή που μόλις διάβασε. Ωστόσο, λόγω του ακριβούς πλαισίου του σφάλματος, αυτή η στρατηγική μπορεί, ή μπορεί να μην, είναι επιτυχής — καθώς το κείμενο του σφάλματος συνεχίζει λέγοντας «Proceed, with fingers crossed.»!

### Λυμένο παράδειγμα

Ας εξερευνήσουμε τα σχόλια του Knuth ρίχνοντας μια πιο προσεκτική ματιά στο ακόλουθο παράδειγμα: $$\verb|$y=f(x)$$\vskip3pt|$$. Αν ανοίξετε τον παρακάτω κώδικα θα δείτε ότι προκαλεί το σφάλμα `Λείπει το $ που εισήχθη`.

```latex
Η γραφή \verb|$y=f(x)$$\vskip3pt| παράγει...$y=f(x)$$\vskip3pt Νέα γραμμή...
```

[Ανοίξτε αυτό το παράδειγμα στο Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=A+missing+%24+inserted+example\&snip=%5Cdocumentclass%7Barticle%7D%0A%5Cbegin%7Bdocument%7D%0AWriting+%5Cverb%7C%24y%3Df%28x%29%24%24%5Cvskip3pt%7C+produces...%24y%3Df%28x%29%24%24%5Cvskip3pt+Start+new+line...%0A%5Cend%7Bdocument%7D)

Για να δούμε ξανά γιατί αυτό προκαλεί σφάλμα, ας γράψουμε δείκτες για να ταυτοποιήσουμε κάθε $$\verb|$|$$ στο παράδειγμα, ώστε να προκύψει $$\verb|$|*{\mathtt1}\verb|y=f(x)|\verb|$|*{\mathtt2}\verb|$|*{\mathtt3}\verb|\vskip3pt|$$. Το TeX είναι σε θέση να επεξεργαστεί σωστά το πρώτο μέρος $$\verb|$|*{\mathtt1}\verb|y=f(x)|\verb|$|*{\mathtt2}$$ το οποίο αντιμετωπίζεται ως ένα σωστά μορφοποιημένο κομμάτι ενσωματωμένων μαθηματικών, παράγοντας $$y=f(x)$$. Αμέσως μετά την επεξεργασία του $$\verb|$|*{\mathtt2}$$ το TeX βγαίνει προσωρινά από τη λειτουργία ενσωματωμένων μαθηματικών — στο παράδειγμά μας δημιουργούμε ενσωματωμένα μαθηματικά σε μια παράγραφο, οπότε μπαίνει για λίγο στη λεγόμενη *οριζόντια λειτουργία*.

Αυτό που συμβαίνει στη συνέχεια είναι που προκαλεί το σφάλμα. Το TeX συνεχίζει να επεξεργάζεται το $$\verb|$|\_{\mathtt3}$$ το οποίο αναγκάζει το TeX να επανεισέλθει στη λειτουργία ενσωματωμένων μαθηματικών. Το TeX τώρα διαβάζει το επόμενο στοιχείο που είναι η $$\verb|\vskip|$$ εντολή — δεν έχει διαβάσει ακόμη το $$\verb|3pt|$$. Σε αυτό το σημείο, το TeX βλέπει $$\verb|\vskip|$$ αλλά βρίσκεται σε λειτουργία ενσωματωμένων μαθηματικών: $$\verb|\vskip|$$ δεν επιτρέπεται εκεί, οπότε ενεργοποιεί τη διαδικασία χειρισμού σφαλμάτων του TeX, όπως την περιγράφει ο Knuth:

> Το TeX θα εισαγάγει ένα σύμβολο δολαρίου και θα επανασαρώσει το τρέχον στοιχείο.

Εδώ, το τρέχον στοιχείο είναι η $$\verb|\vskip|$$ εντολή, οπότε αυτό που κάνει το TeX είναι να τοποθετήσει ένα *νέο* `$` στην είσοδό του· ας το ονομάσουμε $$\verb|$|*{\mathtt4}$$. Σε αυτό το σημείο, το TeX εξακολουθεί να βρίσκεται σε λειτουργία ενσωματωμένων μαθηματικών, αλλά τώρα επιστρέφει για να διαβάσει το ισοδύναμο του $$\verb|$|*{\mathtt4}\verb|\vskip|$$ το οποίο διαβάζεται σε λειτουργία ενσωματωμένων μαθηματικών. Το $$\verb|$|\_{\mathtt4}$$, που εισήχθη από το ίδιο το TeX, τώρα *κλείνει* την τρέχουσα λειτουργία ενσωματωμένων μαθηματικών και το TeX συνεχίζει να διαβάζει το $$\verb|\vskip|$$ εντολή *εκτός* λειτουργία ενσωματωμένων μαθηματικών — εδώ, το TeX βρίσκεται σε μια παράγραφο, οπότε το $$\verb|\vskip3pt|$$ προκαλεί το τέλος της τρέχουσας παραγράφου και $$\verb|3pt|$$ να τοποθετηθεί μετά από αυτήν κενό.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://overleaf-pro.ayaka.space/latex/el/sfalmata-latex/25-missing-inserted.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
