Gesetzte Anwendung in LaTeX

Hallo Habr! Alle, die mit dem faszinierenden Ausfüllen der offiziellen Wortformulare nicht sehr zufrieden sind, lade ich zur Katze ein.

Wie hat alles angefangen?


Alles begann damit, dass ich zur Teilnahme an einer Konferenz eingeladen wurde. Anforderungen wie "Abstracts werden im Word-Format eingereicht!" Ich war irgendwie daran gewöhnt, aber meine Geduld ließ nach, als ich in meiner Mail ein Formular „Meinung zur Möglichkeit einer offenen Veröffentlichung“ erhielt.

Das Formular war eine DOC-Datei mit zahlreichen für den russischen Workflow typischen Feldern zum Ausfüllen der Hand an den richtigen Stellen: eine horizontale Linie entlang der gesamten Linie mit einer Erklärung darunter (z. B. "Name, Position, Unterschrift"). Alles macht noch mehr Spaß, wenn Sie die Anzeige versteckter Zeichen einschalten.

Drücken Sie auf der Tastatur die Einfügetaste und geben Sie "oben" in die Linien ein. Was ist schwierig? In der Tat habe ich zuerst versucht, genau das zu tun, aber all diese „Schönheit“ brach ständig zusammen, verließ das Feld und ging mir auf die Nerven. Wie groß ist der Text, der es wert ist, von 12 auf 8 und dann zurück zu brechen? Ich biss ungefähr 20 Minuten lang die Zähne zusammen und traf die ultimative Entscheidung, alles in Latex zu machen. Infolgedessen habe ich nur zwei Abende verbracht und ein schönes und qualitativ hochwertiges Dokument erhalten!

Zum Layout gelangen


!!!
Alle Namen sind fiktiv. Alle Zufälle mit realen Personen, Organisationen und Adressen sind zufällig.
!!!

Stellen wir uns vor, ein Mitarbeiter des Forschungsinstituts für elektronische Steuerungssysteme K. Kuznetsov besucht das wunderbare Forum Electronic Control Systems in der wundervollen Stadt New Vasyuki, um den Bericht „Peripheral Computing for Control Systems“ vorzustellen.

Präambel


Im Jahr 2019 ist das Arbeiten mit Latex ganz einfach: Sie wählen den Editor nach Ihren Wünschen aus, deklarieren den Dokumenttyp, laden die erforderlichen Pakete und denken nicht mehr an die Gestaltung Ihres Textes.

Auch diesmal hat sich nichts geändert: Wählen Sie das A4-Format 12 und deaktivieren Sie das Deckblatt. Wenn ich mich nicht irre, sind einige dieser Optionen die Standardwerte für die Artikelklasse. Gleichzeitig verbinden wir das Paket, das die Anzeige im PDF-Format normalisiert:

\documentclass[12pt,a4paper,notitlepage]{article} \usepackage{cmap} 

Dann müssen Sie die Codierung des Quelltextes und die Schriftfamilie angeben und die russische Sprache verbinden:

 %%% language, font, encoding \usepackage[T2A]{fontenc} \usepackage[utf8]{inputenc} \usepackage[russian]{babel} 

Die Standardfelder in Latech sind meiner Meinung nach sehr breit und deutlich breiter als die Felder in der ursprünglichen Form. Ich arbeite lieber mit ihnen mit dem Geometriepaket. Normalerweise benutze ich 2 cm von allen Seiten. Höflich lehnen wir Fußzeilen ab:

 \usepackage[top=2cm,bottom=2cm,left=2cm,right=2cm,nohead,nofoot]{geometry} 

Da wir interlineare Erklärungen verwenden, ist es notwendig, den Zeilenabstand zu vergrößern. Dies ist mit \ linespread einfach zu tun, aber ich bevorzuge ein spezielles Paket:

 \usepackage[doublespacing]{setspace} 

Das Firmenlogo war in dem gesendeten Formular vorhanden. Wenn Sie jedoch keine Bilder im Dokument benötigen, können Sie dieses Paket nicht verbinden:

 \usepackage{graphicx} 

Und jetzt der lustige Teil! Diese Pakete haben die ganze Arbeit für mich erledigt. Das Unternehmenspaket der American Mathematical Society amsmath definiert ein untergeordnetes Makro, mit dem Sie "tiefgestellten" Text erstellen können, und ein ulem-Paket, mit dem Sie problemlos mit Unterstrichen arbeiten können:

 \usepackage{amsmath} \usepackage{ulem} 

Dokumentkörper


Wir fahren in das vertraute Anfang-Ende {Dokument} und beginnen mit der Erstellung. Unser Design wird absolut manuell sein, daher schadet es nicht, den Seitenstil zu löschen:

 \pagestyle{empty} 

Wenn Sie ein Logo in das Dokument aufnehmen möchten
Hier ist nichts kompliziert: Wir deklarieren ein schwebendes Objekt, verwenden das in graphxx definierte Includegraphics-Makro mit der erforderlichen Breite und genießen das Leben. Darüber hinaus ist pdflatex mit dem PNG-Format sehr gut befreundet.

 \begin{figure}[t!] \includegraphics[width=0.4\textwidth]{logo.png} \end{figure} 


Die Aussage hat normalerweise einen Stempel. Auf einem Habr habe ich gesehen, wie es mit einer Tabelle mit einer bestimmten Breite implementiert wird. Dieser Ansatz hat mir nicht gefallen, da die Tabelle Arraystretch- und Tabcolsep-Parameter enthält, die die Einrückung und Formatierung etwas beeinträchtigen. Sie können immer neu definiert werden, aber meiner Meinung nach ist es viel einfacher, die Minipage-Umgebung zu verwenden. Persönlich bevorzuge ich die Maschine selbst, um die notwendigen Intervalle auszuwählen, dafür gibt es hfill. Wir müssen jedoch nicht immer die gesamte Zeile ausfüllen, wie zum Beispiel im Fall des Datums. Hier werden wir die Regel verwenden, um den notwendigen Ort zu verlassen:

 \begin{flushright} \begin{minipage}{0.4\textwidth} \centering{ \\ } \raggedright{ \hfill\hfill\hfill<<\hfill>>\\ \hrulefill~~.~.\\ } <<\hspace{0.25cm}>>~\rule{2cm}{0.25pt}~201\hspace{0.25cm}.\hfill \end{minipage} \end{flushright} 

Eine Linie für die Dekretnummer zu machen ist auch nicht schwierig. Es scheint, dass in einigen Paketen das Symbol "Nein" separat definiert ist, aber ich finde es irrational, das gesamte Paket nur deswegen zu verbinden:

 \begin{flushleft} \rule{2cm}{0.25pt}~N$^{\underline{\circ}}$~\rule{2cm}{0.25pt} \end{flushleft} 


Geben Sie den Namen des Dokuments an und richten Sie es an der Mitte der Linie aus:
 \begin{center}  \\     \end{center} 

Schließlich hatten wir die Möglichkeit, das ulem-Paket zu verwenden. Für uns ist das Paket vor allem deshalb bemerkenswert, weil der unterstrichene Text im Gegensatz zur Unterstreichung automatisch in die nächste Zeile übertragen wird. Wir wissen nicht, wie viel Platz der Text einnehmen wird, und damit die Linien immer die Ränder erreichen, fügen wir hfill hinzu.

   (-)  << >> \uline{   << >>  . .\hfill}\\ 

Jetzt haben wir den interessantesten Teil des Dokuments erreicht. Wir implementieren tiefgestellte Erklärungen mit dem Underset-Makro des amsmath-Pakets. Das einzige Problem bei diesem Ansatz ist das Arbeiten im mathematischen Modus. Dementsprechend hilft uns hfill nicht mehr. Hier müssen wir etwas mehr arbeiten: Dehnen Sie die Boxen manuell mit hspace und arrangieren Sie gegebenenfalls Zwangstransfers. Anfangs habe ich versucht, diesen Teil mit dem Resizebox Graphicx-Paket zu automatisieren, aber dies führte nicht zu verdaulichen Ergebnissen. (Ich lade Sie ein, sich zu TeX-Programmierexperten zu äußern.)

 \\ $\underset{\text{( , ,  )}}{\text{\uline{    . . <<    >>\hspace{2.75cm}}}}$\\ \uline{    <<  >>,   1  10  2019    .  ,  , . ,  37\hfill}\\ 

Der rechtlich wichtigste Teil der Erklärung:

 ,   :\\ $\underset{\text{(         )}}{\text{\uline{         \hspace{4.25cm}}}}$\\     :\hfill$\underset{\text{( )}}{\text{\uline{\hspace{3.5cm} \hspace{3.5cm}}}}$\\ $\underset{\text{(     ,  )}}{\rule{\textwidth}{0.25pt}}$\\   : \uline{        \hfill}\\ 

Schließlich ernennen wir verantwortliche Experten. Wir können es so lassen, aber wir können echte Namen und Positionen eingeben, ohne hspace zu vergessen:

 $\underset{\text{(, , )}}{\rule{\textwidth}{0.25pt}}$\\ $\underset{\text{(, , )}}{\rule{\textwidth}{0.25pt}}$\\ $\underset{\text{(  , , )}}{\rule{\textwidth}{0.25pt}}$\\ 

Letzte Berührungen


Fast immer ist jedes Dokument in logische Teile unterteilt, die sich sehr einfach auf einem Blatt anordnen lassen, indem vfill dazwischen platziert wird. Zurück zum Design der Linien: Wenn es nicht funktioniert, eine gleichmäßige Linie zu den Feldern zu erstellen, können Sie sie etwas kleiner lassen und am Anfang der Linie hfiil hinzufügen.

Mein besonderer Dank gilt den Autoren der Artikel:
habr.com/de/post/207364 verfasst von dbarashev
habr.com/de/post/144648 von Skiminok

Gutes Layout!

Quelltext
 \documentclass[12pt,a4paper,notitlepage]{article} \usepackage{cmap} %%% language, font, encoding \usepackage[T2A]{fontenc} \usepackage[utf8]{inputenc} \usepackage[russian]{babel} %%% pagesize \usepackage[top=2cm,bottom=2cm,left=2cm,right=2cm,nohead,nofoot]{geometry} %%% line spacing and indentation \usepackage[doublespacing]{setspace} %%% working with graphics \usepackage{graphicx} \usepackage{amsmath} \usepackage{ulem} \begin{document} \pagestyle{empty} \vfill \begin{flushright} \begin{minipage}{0.4\textwidth} \centering{ \\ } \raggedright{ \hfill\hfill\hfill<<\hfill>>\\ \hrulefill~~.~.\\ } <<\hspace{0.25cm}>>~\rule{2cm}{0.25pt}~201\hspace{0.25cm}.\hfill \end{minipage} \end{flushright} \vfill \begin{flushleft} \rule{2cm}{0.25pt}~N$^{\underline{\circ}}$~\rule{2cm}{0.25pt} \end{flushleft} \vfill \begin{center}  \\     \end{center} \vfill   (-)  << >> \uline{   << >>  . .\hfill}\\ \\ $\underset{\text{( , ,  )}}{\text{\uline{    . . <<    >>\hspace{2.75cm}}}}$\\ \uline{    <<  >>,   1  10  2019    .  ,  , . ,  37\hfill}\\ ,   :\\ $\underset{\text{(         )}}{\text{\uline{         \hspace{4.25cm}}}}$\\     :\hfill$\underset{\text{( )}}{\text{\uline{\hspace{3.5cm} \hspace{3.5cm}}}}$\\ $\underset{\text{(     ,  )}}{\rule{\textwidth}{0.25pt}}$\\   : \uline{        \hfill}\\    (-):\\ $\underset{\text{(, , )}}{\rule{\textwidth}{0.25pt}}$\\ $\underset{\text{(, , )}}{\rule{\textwidth}{0.25pt}}$\\ $\underset{\text{(  , , )}}{\rule{\textwidth}{0.25pt}}$\\ \vfill \end{document} 

Source: https://habr.com/ru/post/de463965/


All Articles