@UlrikeFischer I think that argument is only used in fatal error messages and for path auto-detection, so querying it will be hard. You could try redirecting the error output stream using Lua and then causing a fatal kpathsea error, but even it that works it would crash your LuaTeX instance...
Moderators, you should really delete this comment and all similar comments by that user. It is absolutely unacceptable that a user can make such statements. (Is the fact that you let this user continue doing this the retaliation for me leaving TeXWelt.de?)
@UlrikeFischer In lualatex-dev you should be able to ignore LuaTeX in the first argument, in any luatex/lualatex-dev/... run the invocation name will already be set, so it is ignored as David Carlisle said. But I wouldn't recommend deleting the line entirely, it is needed when texlua is used, so for example in luaotfload-tool. There it ensures that the same paths are used as in a normal TeX run.
i mean.. i don't think it's unacceptable. unnecessary maybe. unproductive, yeah. but you take the bait and get defensive and personal. doesn't look like he copied you either. just saying.
instead of getting offended, and bickering, just show how you're right. i'm not sure he intended to insult either. at least, not at first.
i think you guys might be confusing perspective with isometric though
"Stop lying" is an insult, and his statements are wrong. And no, none of these posts uses a perspective view. The question is whether the projections are orthographic or random. An isometric view is a special case of an orthographic projection, in which the screen coordinates emerge from a projection of an orthogonal matrix.
@CarLaTeX As you know, he also insulted users who now left. I recall fierce discussions with at least two great contributors, who have deleted their accounts. He seems to be even proud of that. Do you really think one should always let users misbehave?
They're for two different things: A key defined using /.initial=<value or string> is a value-storing key, with the initial value set to <value or string>.
The /.default keyword defines what value will be used as the argument for a key defined with /.code=<code> if no argument is provided.
The t...
I take back my comments about Ryan's answer. As per his answer, you do indeed need to run some kind of default thing before the actual code you are using, so that the macros are defined, even if you aren't using them and they are a no-op. But the manual, like much else, doesn't really cover that situation.
I suppose there are so many use cases in practice that it's not practical to cover everything.
@FaheemMitha Yes, probably it should read "If no code is defined, the two are the same, but if you have defined both a .initial *and a .code, the result will be different."
@FaheemMitha Unfortunately I never have seen them in action, their answers are pure magic. But according to the profile "Last seen 2 days ago" they should be around.
Der Pluralis Majestatis (lat., „Plural der Hoheit“) wird verwendet, um eine Person, meist einen Herrscher, als besonders mächtig oder würdig auszuzeichnen, bzw. die Person zeichnet sich selbst so aus, indem sie von sich im Plural spricht. Bei Monarchen oder anderen Autoritäten spielt die Vorstellung eine Rolle, dass sie für ihre Untertanen beziehungsweise Untergebenen sprechen bzw. zu sprechen glauben. Möglicherweise geht dieser Gebrauch des Plurals auf die Römische Tetrarchie seit 293 mit ihren zwei Senior- und zwei Juniorkaisern zurück.
Bei Adligen und Würdenträgern war der Plural früher ...
@FaheemMitha For German speakers, the usage of "they" is particularly interesting because this is the old-fashioned way of addressing queens and kings. (But in Jake's case this may be appropriate.)
@DavidCarlisle It is not our purpose to amuse him. ;-)
@FaheemMitha In German you can get around this because everything gets assigned a gender. But the conventions are changing, people get more sensitive to it. In the old days it was OK to say "Der Benutzer ist verrückt, ich mag ihn nicht." because Benutzer (user) is male, but this has changed for good reasons. Still, the polite form of addressing someone is reminiscent of plural: "Haben Sie Probleme?"
Though OTOH I'm not sure a collection of random facts is really that useful. Might be sometimes, if you were inside a detective story or something. Not so much in real life.
@marmot That sounds similar to the English "one".
That's probably the closest thing that English has to a neutral pronoun, though it probably does not count as "proper".
Not being a grammarian, I'm not sure what it does count as.
@FaheemMitha No, in English you could say "Do you have a question?" to everyone, but in German it is "Hast Du eine Frage?", which you can use for friends and kids, or "Haben Sie eine Frage?", which is the polite form that is to be used for adult strangers. Luckily in Bavarian it is much simpler: "Wos magst?"
One is a pronoun in the English language. It is a gender-neutral, indefinite pronoun, meaning roughly "a person". For purposes of verb agreement it is a third-person singular pronoun, although it is sometimes used with first- or second-person reference. It is sometimes called an impersonal pronoun. It is more or less equivalent to the Scots 'a body', the French pronoun on, the German/Scandinavian man, and the Spanish uno. It has the possessive form one's and the reflexive form oneself.
The pronoun one has quite formal connotations (particularly in American English), and is often avoided in favor...
@marmot in english people often use the plural to try to avoid gender bias, but it looks strained when you refer to a known singular person in the plural if it isn't the Queen. To get a plural form you could say "Users such as Jake ... "
@DavidCarlisle I see. Yes, that is a good way to avoid the problem.
@DavidCarlisle But then I need to write "Unfortunately I never have seen Jake in action, Jake's answers are pure magic. But according to the profile "Last seen 2 days ago" Jake should be around."? Is there a less clumsy way?
In University Challenge, the Oxbridge teams, as individual colleges, basically beat the crap out of everyone else. I suppose if all the colleges competed together as one university, nobody else would stand a chance.
@marmot I had intended to fill out the example, but I left it as ... as I couldn't think of a good wording for the particular case at hand. The usage here is a somewhat artificial world where you know enough about an individual to refer to their actions but you don't know their gender:-)
@marmot I'd just go with he/him, and not overthink it.
I must admit that it does seem a bit odd to me when people refer to me online as female. Which not infrequently happens. Quite a lot of people seem to think my first name is female. It isn't. But Arabic isn't widely known in the west.
@FaheemMitha because as it is Oxford get multiple chances to win, but if they entered as a university they would only get one. the 4 people picked for the combined team would not have the combined power of all the people who would have been picked for college teams
@DavidCarlisle Yes, this is an artificial world, in which many were referring to samcarter as him. Personally I think it is a good thing that we are getting more sensitive to that, and start to abolish words like "Putzfrau".
@DavidCarlisle I'm male, if that helps. And afaik, Faheem is the male form. I'm not 100% sure what the female equivalent is.
I don't really know Arabic either.
Some of those Oxbridge teams are a bit intimidating to watch. I'm not sure how a 20 year old can know all that stuff, let alone be able to regurgitate it on demand.
@FaheemMitha doesn't make a lot of difference in most cases, tex usage is tex usage, but it's hard enough guessing gender from people's names in real life, but here where many people have fake names it is not possible at all.
@marmot ladies and gentlemen isn't normally used with "dear" and is I think "ladies first" out of politeness. Dear Sir or Madam is I suspect a later addition to Dear Sir when writing formally to an unknown person as a 20th century acknowledgement that perhaps women exist
@FaheemMitha I normally start a google search e.g. "gender Faheem" and use whatever propability it gives. But sometimes there is no conclusive result. In a chat I then prefer he/she or I simply ask.
@DavidCarlisle I find more an more "To Whoever It May Concern:". And yes, I agree that assigning a gender to an object is odd, even if she is a ship. ;-)
@DavidCarlisle that can happen. Not really a problem in a chat, but if you get a mail with "Sehr geehrte Frau Fischer" it is sometimes hard to find a sensible way to answer in such cases. ;-)
So .store is a special case of .code. The latter just stores a value in a macro, trivially, iei. \def\foo{}.
But it seems to me that would be standard usage. Under what circumstances would one do anything else? TeX doesn't have any other equivalent of variable assignment, does it?
This is with reference to:
> They're for two different things: A key defined using /.initial=<value or string> is a value-storing key, with the initial value set to <value or string>.
@FaheemMitha No, I don't think so. One obvious difference is that codes can have arguments, e.g. foo/.code=\typeout{#1}, and you can also do /.code n args={3}{...}
@FaheemMitha I don't use pgf much but presumably you could use a register rather than a macro to store a key in which case .code would be a register assignment rather than \def
@FaheemMitha No, I think it is a bit different. /.store in is just to store something in a macro. It is IMHO not always a very good way of storing things because you can also store and retrieve things with foo/.initial=... and retrieve it with \pgfkeysvalueof.
@FaheemMitha Sometimes /.store in makes the codes shorter because if you have too many \pgfkeysvalueof others may complain that the code is too long or contrived (but it really isn't because you have protected the stuff from getting accidentally overwritten by a user who wants to use, say, \cubex for another thing, too.)
@MarcelKrüger the problem is that currently the search pathes are simply wrong. lualibs sets kpse to "luatex" and this means that tex/generic is prefered over tex/latex. This example:
@UlrikeFischer actually I'm confused why you need to set this at all from within the code, can't you just set it if kpse is not initialised so that in most cases other than texlua you use the "natural" program name?
@DavidCarlisle You mean in lualibs? Yes probably. I'm only unsure if some presetted value like\directlua{kpse.set_program_name("luatex","harflatex")} can confuse lualibs if we add it to the tex-ini files.
@UlrikeFischer Shouldn't harflatex preset that anyway. Than lualibs would just overwrite it too... You could wrap a if status.kpse_used block around the set_program_name call in lualibs, then it only gets called if it is necessary.
@MarcelKrüger currently no tex-ini file for a (lua/harf/etc)latex format does preset kpse. They actually all use simply "luatex". But yes it should be done, it is wrong and it will fail with latex-dev. The main question is where to add the setting. If one add it in the ini here: \global\everyjob{\directlua{require("lualatexquotejobname.lua")}}, then lualibs currently overwrites it as it is loaded later and then the search pathes are wrong again.
@marmot As I understand it from an answer, .store in is just calling .code. So in that sense it's a special case. I haven't looked at the code, so this statement may be wrong, incomplete, or out of date.
The .store in handler is defined (line 818 of pgfkeys.code.tex) as:
\pgfkeys{/handlers/.store in/.code=%
\pgfkeysalso{\pgfkeyscurrentpath/.code=\def#1{##1}}}
So, as Jake says in its comment, the two lines below are equivalent:
d/.store in=\macro@d,
d/.code = {\def\macro@d{#1}}
The .sto...
@MarcelKrüger the engine preinitialize the first argument ("luatex"), but how should it set the second? (Which refers to "dot argument" in texmf.cnf TEXINPUTS.lualatex )
@DavidCarlisle @MarcelKrüger yes, you are right. If lualibs wouldn't interfere the latex path is used. I need to check with latex-dev too but this looks as if one doesn't need additions to the tex-ini but should correct lualibs. Do you think there could be a problem if one does simply "if kpse active do nothing else kpse.set_program_name"luatex""?
Starting for the question Center a rounded square into a green line with the excellent @marmot's answer, using your MWE,
\documentclass[12pt]{book}
\usepackage{newtxtext}
%%\usepackage{classico}%%%%%%%%%
\usepackage{mathtools}
\usepackage[labelfont={sf,bf},font=small,skip=.3pt]{caption}
\usep...
@marmot I would like to move the right margin a little to the left to align it with the text. The vertical line of the left caption is fine; while the right one is moved to the right of the text. See the vertical red line of the right. Thank you very much.
For now, I juste want to make a configuration for the testfile
all the other thing (building, ctan upload, etc), will be done, for now, with my existing makefile
I have three questions 1) is it possible to change engine for specific test file ? 2) how to deal with specifc file requiring makeindex 3) I dont understand how to generate .tlg file
@Maïeul separate the tests that require different setup to different directories, see obediek tests that @UlrikeFischer set up, it has checkconfigs = {"build","config-plain", "config-noxetex","config-luatex","config-pdftex"} so the noxetex ones for example are tested with pdftex and luatex, the luatex ones are just tested with luatex etc
@Sebastiano You only need to replace the text width in \node[text width=\linewidth-4pt,..., try e.g. \node[text width=\linewidth-14pt,... or whatever you find appealing.
@Maïeul when it runs latex multiple times for a test normally it deletes unknown files between runs but those ones are not deleted, that's all it does,
@Maïeul If you have a test run with say pdfTeX and XeTeX, there might be stuff in the .aux file from pdfTeX that messes up the XeTeX test. So I need to know what to clean up
@DavidCarlisle yes, I only thought I could just test kpse.var_value("something") but it gives only a quite polite answer:Please call kpse.set_program_name() before using the library.
@UlrikeFischer Hi. I have posted a question related with Chinese characters in combination with a English main document (tex.stackexchange.com/questions/499910). Maybe this is your area of expertise. If this is a big effort, then I consider to make an inquiry to troubleshooting-tex.de.
@UlrikeFischer I am offline now for about 2 hours in case you quickly reply :).
@Dr.ManuelKuehner with luatex or xetex it ought to just work out of the box so long as you have fonts available in your system, with pdftex it s harder of course to set things up
@FaheemMitha No, etoolbox covers \newif-based ones and a format that it itself provides, but not expl3. There's no reason for etoolbox to try to cover expl3 stuff: the latter is much more wide-ranging
@Maïeul I'm wondering why you are fiddling with it ...
@Maïeul What happens is this. A test is run. Matches to auxfiles are renamed to <name>.<engine>.<ext> so they hang around. That happens after each test for each engine, so they are not zapped.
@Maïeul There is also dynamicfiles, mainly for cases that use filecontents (so stuff is deleted between runs)
@JosephWright I did a search of the xparse manual, and only found one place where \IfBoolean(TF) in mentioned, apart from the index. And that's on the front page.
And it says it's stable, but doesn't offer any other information.
@FaheemMitha The parenthesis indicate it can be given as \IfBooleanT, \IfBooleanF and \IfBooleanTF, depending on which branches you want. There are some examples using these
@Maïeul I don't think that this is currently possible. Normally you should setup your tests so that they work with simple engine calls. E.g. by adding external files with filecontents.
@Maïeul The test suite is not really intended to have tools run, rather as @UlrikeFischer says to have pre-prepared files that have been created manually
@FaheemMitha you re asking riddles without any clues. xparse is about parsing the argument structure and calling underlying code, why do you need if tests?
@DavidCarlisle Riddles? I'm just asking if that's a reasonable version of those sorts of tests. That's all. I know there are several options. Some of them are older, some of them are newer.
Presumably some of them are preferred over others.
@Maïeul If you want to test what is say written to an intermediate file, you arrange to also write it to the log. If you want to test the outcome of reading a glossary file, you don't have to generate it
@Maïeul There is a hook called runtest_tasks() that is there for 'do other stuff between runs'
@FaheemMitha They are not testing the same thing, really. In particular, xparse is meant as an interface-defining system, so the tests there are meant for one job
because, in my case, my package generate specific glossaries entries, but, you are right, what i need to test is the outcome of latex, not the outcome of makeglossaries
@FaheemMitha you can't ask what definitions are preferred without saying what you intend to do, and in an xparse defined NewDocumentCommand you wouldn't usually have conditional code at all other than IfNoValue tests to test optional arguments
@JosephWright @DavidCarlisle The intended use is with pgfkeys. I'm trying to write a def which either is a do-nothing macro, or a do-something macro, based on the value of a boolean.
Actually it belatedly occurs to me that maybe I should check of PGF has it's own mechanism for dealing with such things.
@FaheemMitha so you should not be using xparse there, xparse will have parsed the user syntax but by the time you have processed the keys you are in the internal code.
@DavidCarlisle In the context, it seems reasonable to use xparse, but I'll see if pgfkeys offers any options. It's possible that I'm going about this the wrong way, but I'll have to post a complete example to get an opinion.
@Sebastiano Hi! Yes, there are two typos, I don't know how to tell it to the TeXWorks developer, if github is the right place, you should write to them
@MarcelKrüger imho they only need to support the texlive version they are in. people installing an newer luaotfload in an older texlive should know what they are doing.
@MarcelKrüger I can't run the rst2man script for the luaotfload documentation, but I guess it is an installation problem, I installed a new python version some weeks ago and now the scripts don't find some module.
@UlrikeFischer I think at least under Linux all Python packages are installed in versio dependant directories, so I would just reinstall the python docutils.
@UlrikeFischer I could look perhaps, In your master branch? (of course not using nroff to typeset a tex related documentation would be another possibility:-)
@DavidCarlisle I don't think that it is problem of the files. Something broke in the python installation. I couldn't reinstall docutils in python3.6, but I tried in 37-32: Successfully installed docutils-0.14 and then I get
rst2man.py luaotfload.conf.rst luaotfload.conf.5
Traceback (most recent call last):
File "C:\Users\Nililand-Surface\AppData\Local\Programs\Python\Python37-32\Scripts\rst2man.py", line 21, in <module>
from docutils.core import publish_cmdline, default_description
ImportError: No module named docutils.core
@UlrikeFischer yes but what I mean is why write documentation in rst then require python to generate man which then requires nroff to typeset the doc, I realise you inherited this, but it doesn't seem a very tex-centered workflow
@AlanMunn -- See the question above from @cis regarding accessing a single symbol from a package. Then please look at tex.stackexchange.com/q/471260 and the last comment on your answer to tex.stackexchange.com/q/14386 -- there's still a question that has never been answered. I think it would be fair either to reopen the question first cited above, or extend your answer to the other question to be more general. Maybe even a brief TUGboat note explaining the method. ???
@cis -- Interesting thought. But I am sure how to do it only for pdflatex. The same mechanism may work for xelatex, but I don't know for sure. But i'm pretty sure some other approach is needed for lualatex, and a package ought to work in all situations.
@barbarabeeton @cis there is a simple syntax for mathematical symbols if you use unicode-math (and symbols which have a unicode code point) but not for pdflatex. There you need to know the position and the font where the glyph is encoded and the position where you want to map it.
@UlrikeFischer -- Yes. As I said, I know how to do it for pdflatex, but not for the other engines. Also, I'm not sure that the Unicode value is identified for font collections like mathabx (the subject of the question for which a formula was given), and I don't know whether mathabx is available in OpenType form, which I believe is the only font format using Unicodes (but I may be wrong about that; please correct if so).
@barbarabeeton well, by default lualatex and xelatex use the same math font setup as pdflatex so presumably whatever you have in mind would work for all three (I can't see how there is a general solution just using the package name and name of the tex command, although if you look at the sources it is usually easy enough just to define one symbol) for unicode-math of course things are different
@DavidCarlisle -- Using unicode-math' makes things easier, if the symbol is there. But if someone wants a shape as provided by a specific font (like mathabx` or stmaryrd, and I've seen lots of such requests), that option is out. As I see it, one needs to know in what file to look to steal the relevant values, and not all font support is provided in the same form. It may even require reading documentation!
@barbarabeeton yes sure but that's same as pdftex isn't it? there is no general solution of a single command as suggested above that (if I understand it) just takes a command name and a package name and just defines that symbol
@DavidCarlisle -- Going back to the "context" comment, a question was whether to reopen a closed, unanswered question. Do you have any opinion on that?
@DavidCarlisle -- I agree; I think the suggestion is a bit simplistic. But it is possible to describe, fairly concisely, a methodology to find the required info and "steal" it.
@barbarabeeton well perhaps but almost every question could have a followup question asking if the answers apply to xetex or luatex (or ptex or jsbox or whatever) but I'm not sure that will make the site better. If more modern engines require a new answer or editing the existing ones better to do it there I think than open a new question.
@DavidCarlisle -- That's essentially what I was trying to suggest to @AlanMunn, although I don't think he's been around to read that yet. (It's his answer that was accepted; and it's a good answer.)
@UlrikeFischer @DavidCarlisle @JosephWright thanks for your help. Now, all my test file are ok (except for the test about the output in auxiliariy file like glossaries/index, but I can deal with it)
@Maïeul I don't see a version there. But as a general advice: Better put the \START command after \begin{document} (and perhaps even type some text before to initialize the fonts). If you have all the log-lines from the preamble in the tlg too many things can change a bit and your tests constantly fails.