oetiker / lshort Goto Github PK
View Code? Open in Web Editor NEWThe Not So Short Introduction to LaTeX
Home Page: https://tobi.oetiker.ch/lshort
License: GNU General Public License v3.0
The Not So Short Introduction to LaTeX
Home Page: https://tobi.oetiker.ch/lshort
License: GNU General Public License v3.0
As noted in book/src/contrib.tex
's header:
You should have received a copy of the GNU General Public License
along with this document; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
Also, this will make Github display the book as GPLed and interest free software enthusiasts into looking further.
In addition, could you please edit the README in book
and move it to the root directory to briefly describe the content of this repository?
\DeclareTextCommand{\Euro}{TU}{\fontspec{erewhon}%
[StylisticSet=3, Scale=MatchUppercase]{€}}
-- Daniel Flipo
I know that it may not sound very useful but I'd like to read it on my phone/tablet, the current setup generates a pdf unreadable on a small screen so I've tried something like:
\documentclass[12pt]{extbook}
\usepackage{mylayout}
\usepackage[paperheight=20cm,paperwidth=10cm,inner=1.2cm,outer=1.2cm,bottom=1.5cm,top=1.5cm]{geometry}
\input{preamble}
\input{title}
\input{lshort-base}
in the main file and the resulting pdf is readable on the phone (6'' display) but the 'example' environment is too cramped in the page...
I'm not that expert in \LaTeX to propose a patch to the environment, do you think it could be rewritten in a more "adaptive" way?
Maybe sensing the width of the page and resorting to a sequential layout instead of the side-by-side?
Thank you
I guess you did not deliberately demonstrate the famous LaTeX hbox overflow on page 4, did not you?
The name Michael John Downes,
and William Faulk,
e.g. certainly overflow.
version from https://tobi.oetiker.ch/lshort/lshort.pdf
A link for the `graphics bundle is provided in the footnote of page 37 (section 2.12) of version 6.4, March 09, 2021. The link is dead. Maybe this is the link.
When following the steps to install I get this message.
https://srcb.in/Crwblu1DKY
The version for TeXLive is from Homebrew and updated so is MIKTEX and Pygments.
Here is my version for git.
git version 2.37.1 (Apple Git-137.1)
Here is my version for GNU make
$USER-Air:lshort $USER$ gmake --version
GNU Make 4.4
Built for x86_64-apple-darwin21.6.0
Copyright (C) 1988-2022 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
In the subsection More about entries in Bibliographies the following example on literal ands in author names is given:
@book{kru,
author = {Kruger {and} sons}
}
This is incorrect because author is a name list. This means that "Kruger and sons" would be interpreted as a personal name. The following would be correct:
@book{kru,
author = {{Kruger and sons}}
}
See § 2.3.3 Corporate Authors and Editors of the biblatex package documentation.
`date' may print something other than ASCII charactors, e.g. under CJK locales, to block build.
Why not simply use \today in title.template.tex ?
fixdate.pl simply becomes fixversion.pl then.
Or is there better way of generating version string, to eliminate dependency on Perl ?
$ make all
mkdir -p pdfbuild
cp src/lshort.bib pdfbuild/
lualatex --shell-escape --interaction=nonstopmode --output-directory=pdfbuild --halt-on-error lshort
This is LuaHBTeX, Version 1.15.0 (TeX Live 2022)
system commands enabled.
! I can't find file `lshort'.
<*> lshort
(Press Enter to retry, or Control-D to exit)
Please type another input file name
! Emergency stop.
<*> lshort
270 words of node memory still in use:
1 hlist, 39 glue_spec nodes
avail lists: 2:12,3:1,4:1,5:1
! ==> Fatal error occurred, no output PDF file produced!
Transcript written on texput.log.
make: *** [lshort.pdf] Error 1
In Section 2.1, it is unclear what the three examples provided are intended to illustrate. In addition, the reader is told (If you don’t yet understand all commands well enough to understand these examples, please read this and the following chapter, and then read this section again.)
Readers should not have to read the current chapter and the next in order to understand the examples.
Examples should be used to illustrate and clarify a concept in the current section, not to add more information that will be explained later. In other words, examples should never include concepts, syntax, commands, etc. that have not yet been covered.
On the Version 6.3 of the document, the section 4.2 tackles the introduction to Indexing.
Referring to the Table 4.1 on the page 75, there is the following entry:
\index{Kaese@K\''ase}
Käse, 33 Formatted entry
I would like to ask if the word Käse should not be in bold.
I don't think there's any mention of \beamertemplatenavigationsymbolsempty to disable Beamer navigation symbols, which can be a superfluous distraction in smaller presentations.
In section 1.3 (LaTeX Input Files), it should be clearly mentioned that the only possible encoding is UTF-8, imported inputs from colleagues in latin-1 etc. must be converted to UTF-8 using either the editor itself or external programs like iconv, recode…
-- Daniel Flipo
Presenting Polyglossia as a successor for the "venerable" Babel is unfair. An `urban legend' (coming from the early 2010 when Johannes Braams no longer maintained Babel) says that babel is not for not XeTeX/LuaTeX. In 2013, Javier Bezos took over the maintenance and did a really good job. Babel now works perfectly for LuaTeX/XeTeX and provides far better support for some languages (French Spanish, f.i. ;-).
Of course, my opinion as babel-french maintainer may be biased but please have a look at what Ulrike Fisher (f.i.) writes on StacKExchange about babel/polyglossia.
-- Daniel Flipo
trying to make
locally endes with
LaTeX Font Warning: Font shape `TU/cmuntt.otf(1)/b/n' undefined
(Font) using `TU/cmuntt.otf(1)/m/n' instead on input line 3.
LaTeX Font Warning: Font shape `TU/cmuntt.otf(1)/m/it' undefined
(Font) using `TU/cmuntt.otf(1)/m/n' instead on input line 3.
) (./pdfbuild/lshort_input.exa
! Extra }, or forgotten \endgroup.
<argument> ...ettextdirection:n {\l_tmpa_tl }{\group_begin: }
l.3 Мир спасёт красота}
.
19137 words of node memory still in use:
132 hlist, 12 vlist, 10 rule, 80 disc, 16 local_par, 10 dir, 14 math, 441 gl
ue, 100 kern, 63 penalty, 16 margin_kern, 1383 glyph, 447 attribute, 127 glue_s
pec, 447 attribute_list, 6 temp, 3 if_stack, 1 shape, 26 write, 36 pdf_literal,
1 pdf_dest, 2 pdf_action, 97 pdf_colorstack nodes
avail lists: 1:1,2:800,3:321,4:238,5:507,6:83,7:4983,8:55,9:641,10:13,11:344
! ==> Fatal error occurred, no output PDF file produced!
Transcript written on lshort.log.
make: *** [Makefile:35: lshort.pdf] Error 1
could it be that the foreignquote command is very new or version dependent in some way ?
Please consider editing Chapter 2 for clarity and punctuation. The English syntax is awkward and unclear.
Examples:
Confusing: 2.2.2 uses the word "hyphenation" in the argument for the hyphenation command. Please don't ever show an example that uses the same word as a command and as an argument. It introduces unnecessary confusion.
Awkward English: 2.4.3 A character often seen in web addresses is the tilde. To generate this in
LATEX use ~{} but the result ( ̃) is not really what you want. Try this instead:
Awkward English: 2.4.4 But normal ‘/’ character may be still used for ratios or units, e.g. 5 MB/s.
(also, the author doesn't explain why ratios and units may be treated differently)
The graphics chapter is entirely focused on diagrams; there's nothing about plotting scientific data or mathematical functions. Consider adding a couple of pgfplots examples demonstrating these, although there is already a good online gallery based on Christian Feuers\"anger's manual.
Hi @marcin-serwin, I just saw, that at least in the version of the document built on github, the smallcaps font does not seem to work
Please consider using for example instead of e.g.
Example: You will learn in the following sections how to force line breaks with e.g. \\ ...
This is awkward and unclear (and missing 2 commas).
Better: You will learn in the following sections how to force line breaks with, e.g., \\...
Best: You will learn in the following sections how to force line breaks using, for example, the command \\...
The "venerable" makeindex (ASCII support only) has been superseded by xindy (abandonned) and now by xindex. I would replace makeindex by xindex for modern engines.
-- Daniel Flipo
I'm currently having problems building the pdfs with make all
, as LaTeX is going into an infinite loop. (This was not the case several days ago.) So it would probably be a good idea to use GitHub Actions to test building the pdfs and ensure a reproducible build.
I was wondering if the example
environment could be made to NOT force a paragraph. So that the effect of
AAAA
\begin{example}
BBBB
\end{example}
CCCC
would be different from
AAAA
\begin{example}
BBBB
\end{example}
CCCC
At the moment we have several instances where we do
AAAA
\begin{example}
BBBB
\end{example}
\noindent CCCC
I think it would be more natural if it was not necessary. What do you think? I think with equation
it already works like this.
Using \flushleft
in the wild is very bad practice, because it starts a \trivlist
that's never finished:
> latexdef flushleft
\flushleft:
macro:->\trivlist \raggedright \item \relax
The command to be used is, instead, \raggedright
.
Referring to version 6.2, \flushleft
appears twice, on page 32 and 119. In my opinion it should be removed altogether, because it (or, better, \raggedright
) is only aimed to not having underfull/overfull boxes in the typeset example.
Newbies might think that \flushleft
is an essential part of the code, see https://tex.stackexchange.com/q/438659/4427 for an example.
The Code Listings section might be better suited to the Specialities chapter, although I suppose that depends on the individual writer's profession. Regardless, consider perhaps introducing the listing package's style-changing options much earlier, since it's unusual to list code in anything other than a typewriter font these days.
ArchLinux with:
$ pacman -Qs texlive
local/texlive-bibtexextra 2023.66579-1 (texlive-most)
TeX Live - Additional BibTeX styles and bibliography databases
local/texlive-bin 2023.66539-1
TeX Live binaries
local/texlive-core 2023.66587-2 (texlive-most)
TeX Live core distribution
local/texlive-fontsextra 2023.66328-1 (texlive-most)
TeX Live - all sorts of extra fonts
local/texlive-formatsextra 2023.66186-1 (texlive-most)
TeX Live - collection of extra TeX 'formats'
local/texlive-games 2023.66190-1 (texlive-most)
TeX Live - Setups for typesetting various board games, including chess
local/texlive-humanities 2023.65502-1 (texlive-most)
TeX Live - LaTeX packages for law, linguistics, social sciences, and
humanities
local/texlive-langchinese 2023.66188-1 (texlive-lang)
TeX Live - Fonts and macro packages to typeset Chinese texts
local/texlive-langextra 2023.66225-1 (texlive-lang)
TeX Live - Bundle of all extra language support
local/texlive-langjapanese 2023.66482-1 (texlive-lang)
TeX Live - Fonts and macro packages to typeset Japanese texts
local/texlive-latexextra 2023.66551-1 (texlive-most)
TeX Live - Large collection of add-on packages for LaTeX
local/texlive-music 2023.66278-1 (texlive-most)
TeX Live - Music typesetting packages
local/texlive-pictures 2023.66549-1 (texlive-most)
TeX Live - Packages for drawings graphics
local/texlive-pstricks 2023.66115-1 (texlive-most)
TeX Live - Additional PSTricks packages
local/texlive-publishers 2023.66550-1 (texlive-most)
TeX Live - LaTeX classes and packages for specific publishers
local/texlive-science 2023.66461-1 (texlive-most)
TeX Live - Typesetting for mathematics, natural and computer sciences
$ pacman -Q make
make 4.4.1-2
$ pacman -Q python-pygments
python-pygments 2.14.0-2
$ pacman -Q git
git 2.40.0-1
Can't finish make lshort.pdf
after clean git clone and cd.
(... just the end of it)
warning (pdf backend): ignoring duplicate destination with the name 'page.2'
[2]
warning (pdf backend): ignoring duplicate destination with the name 'page.3'
[3]
LaTeX Warning: Citation 'companion' on page 4 undefined on input line 204.
warning (pdf backend): ignoring duplicate destination with the name 'page.4'
[4]
LaTeX Warning: Reference `installinglatex' on page 5 undefined on input line 24
0.
(./pdfbuild/minted_cache/default.pygstyle)Error: no lexer for alias '\\__lshortexample_minted_language ' found
! Package minted Error: Missing Pygments output; \inputminted was
probably given a file that does not exist--otherwise, you may need
the outputdir package option, or may be using an incompatible build tool,
or may be using frozencache with a missing file.
See the minted package documentation for explanation.
Type H <return> for immediate help.
...
l.262 \end{example}
19479 words of node memory still in use:
93 hlist, 11 vlist, 4 rule, 1 ins, 3 mark, 109 disc, 15 local_par, 2 dir, 4
math, 477 glue, 118 kern, 62 penalty, 22 margin_kern, 1605 glyph, 1 page_insert
, 222 attribute, 120 glue_spec, 222 attribute_list, 2 temp, 3 if_stack, 1 shape
, 8 write, 1 pdf_start_link, 1 pdf_end_link, 3 pdf_dest, 3 pdf_action, 18 pdf_c
olorstack nodes
avail lists: 1:2,2:284,3:303,4:80,5:433,6:28,7:4457,8:50,9:348,10:11,11:285
! ==> Fatal error occurred, no output PDF file produced!
Transcript written on lshort.log.
make: *** [Makefile:35: lshort.pdf] Error 1
Section 2.1.1 : imho, it is a pity to (only) mention the "venerable" standard classes instead of their Koma Script counterparts which produce a much better layout and are far more configurable. The (excellent) memoir class could also be described as an alternative.
This looks important to me, as users are always reluctant to change their habits: if they start with the "article" class, they won't be interested in switching later to "scrartcl".
-- Daniel Flipo
In the second example box, the French word "élève" in the first row should not be "élv̀e". The corresponding code to the left should also be fixed.
It is spelt correctly in the first box.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.