Wie setzt man einen Backslash und erhält Zeilenumbrüche in URLs?

Wie setzt man einen Backslash und erhält Zeilenumbrüche in URLs?

Ich habe viele Windows-Datei-/Ordnerpfade und Registerpfade in meinem Dokument. Und ich habe 2 Probleme:

  1. Das \wird als Escapezeichen angesehen, was offensichtlich nicht kompiliert. \\Beginnt eine neue Zeile, anstatt das zu escapen \. Ich habe es $$auch versucht, aber das hat auch nicht funktioniert.
  2. Es erfolgt kein Zeilenumbruch, die Pfade gehen also über den Seitenrand hinaus.

Gibt es zur ersten Frage eine schnelle Möglichkeit, dies zu lösen, anstatt alles \in zu ändern /?

Bei der zweiten Frage habe ich es \path{}mit dem aus der urlPackung probiert, aber das hat nichts geholfen.

Antwort1

  1. Sie haben Recht. Der Backslash ist TeXs (Standard-)Escapezeichen; er signalisiert TeX, dass das Folgende nicht mit „normalem Text“ übereinstimmt. Daher \wird durch einfaches Eintippen kein Backslash in der Ausgabe erzeugt. (Übrigens, wenn Sie \gefolgt von einem beliebigen Leerzeichen eingeben, wird nur ein sogenanntesKontrollraum, kein Backslash.)

    Um einen Backslash im Textmodus zu setzen, verwenden Sie \textbackslash; im Mathematikmodus verwenden Sie \backslash.

    Wenn Sie (wie ich) es \textbackslashjedes Mal mühsam finden, alles einzugeben, können Sie jederzeit ein Makro mit einem kürzeren Namen definieren, das genau dasselbe tut, und zwar etwa so:

    \newcommand\bs\textbackslash
    

    und verwenden Sie dann dieses Makro in der gesamten Datei anstelle von \textbackslash.

    Und noch etwas: Was müssen Sie tun, um die folgende Ausgabe zu erzielen?

    C:\Meine Dokumente

    Du kannst es versuchen

    C:\textbackslashMy documents
    

    aber das wird nicht funktionieren, weil TeX es als Makro interpretiert \textbackslashMy, es nirgends definiert findet und Sie beschimpft. Um die gewünschte Ausgabe zu erhalten, fügen Sie entweder ein Leerzeichen oder eine leere Gruppe ( {}) direkt nach ein \textbackslash, etwa so

    C:\textbackslash{}My documents
    
  2. Das urlPaket macht Ihnen in dieser Hinsicht das Leben leichter. Laden Sie es in unsere Präambel und verwenden Sie dann den \urlBefehl, um eine URL zu setzen; das Paket kümmert sich für Sie um den Zeilenumbruch. Beachten Sie, dass Sie \textbackslashinside nicht verwenden müssen \url{...}, da \urlsein Argument bereits „enttokenisiert“ wird. Schöne Tage!

Hier ist etwas Code, der diese beiden Punkte veranschaulicht:

\documentclass{article}

\newcommand\bs\textbackslash % shorthand for \textbackslash

\usepackage{url}

\begin{document}
\noindent
A backslash in text mode: \bs \\
A backslash in math mode: $\backslash$\\[2em]
A long URL: \url{C:\Program Files\Steam\Jubobsgame\procrastinators__paradise\level_one\five_years_into_the_PhD}
\end{document}

und hier ist die entsprechende Ausgabe:

Bildbeschreibung hier eingeben

Antwort2

Ich finde, dass viele Antworten in diesem Forum nur auf LaTeX zutreffen und nicht unbedingt auf Plain TeX. Wir verwenden Plain TeX, daher funktionieren die Antworten manchmal einfach nicht.

Aber ich habe eine Lösung für die Anzeige der Sonderzeichen von TeX gefunden, die für uns funktioniert, also dachte ich, ich teile sie mit Ihnen. Ich habe keine Ahnung, ob sie auch für LaTeX funktioniert, aber es sieht so aus, als ob sie es sollte.

Sie können ein Zeichen einfügen, indem Sie \chargefolgt vom ASCII-Code des Zeichens in Dezimalzahlen verwenden. Wir schließen das in {und ein }, obwohl ich nicht sicher bin, ob das nötig ist, es sei denn, der folgende Text ist eine weitere Ziffer. Um also beispielsweise einen Backslash anzuzeigen, verwenden Sie {\char92}, für eine linke Klammer verwenden Sie {\char123}usw. Ich hoffe, das hilft jemandem.

verwandte Informationen